FinOps有望降低企业50%+的云成本! 了解详情
写点什么

大家谈 18 岁的 Java——李刚:Java 需要引入更多的新的探索

  • 2013-06-14
  • 本文字数:2350 字

    阅读完需:约 8 分钟

2013 年,已经进入第 18 个年头的 Java 仍然是 InfoQ 上最受欢迎的话题,最近的《详细分析Java 中断机制》、《关于Java 性能的9 个谬论》、《深入理解Java 内存模型》等系列文章,一直占据InfoQ 阅读热榜的首位。同时,今年7 月的 JavaOne 购票入口)再次选择了中国,7 月22-25 日将在上海世博中心举行连续4 天的会议,话题涵盖核心Java 平台、JavaFX 与用户体验、Java EE 和Web 服务/ 云,以及Java ME/Java Embedded/Java Card 等技术领域。

2013 年,在云计算、大数据、移动互联网等话题占据了人们所有的注意力的时候,Java 的状态到底如何?近期,InfoQ 中文站将对业内几位资深 Java 项目作者与书籍作者进行采访,了解他们眼中 Java 的现状,以及他们对 Java 未来的看法。

今天受邀参与采访的嘉宾是疯狂 Java 创始人,广州为学教育科技有限公司疯狂软件教育中心教学总监李刚老师( @疯狂 Java 李刚)。

InfoQ:Java 语言给您留下的最初印象是什么?您最初的 Java 项目是什么样的?

李刚:大约在 1999 年的时开始接触 Java 时,当时感觉 Java 仅仅只是在网页上做一些有趣的 Applet 动画, Applet 可以让传统静态的 HTML 网页“动起来”,而且能响应用户动作,因此这些 Applet 动画极大地吸引了我,于是我开始学习 Java 语言。至于第一个 Java 项目,那时候还在大学读书,我所做到第一个有印象的 Java 项目是完全用 JSP 兼职做的一个客户收集、跟踪、反馈系统。当时的 JSP 还停留在 Model 1 的层次,后来看那个项目在很多地方都存在问题,所以后来对,J2EE 许下的“承诺”无比欣羡,又义无反顾地投入 J2EE、EJB 的怀抱。

InfoQ:您现在接触的 Java 项目跟那时相比,有怎样的变化?

李刚:无论早期的 Java 项目,还是现在的 Java 项目,它们本身的业务规则会随着市场、客户的改变会存在一些变化。从技术实现的角度来看,现在的 Java 语言明显要成熟多了,无论是前端技术,还是各种中间层技术,以及各种规则引擎之类,现在的 Java 语言明显更加成熟和稳定。而且现在许多软件企业已经对各种开源技术进行过一些定制,往往能更快、更稳定、更大限度地适应项目的业务。

InfoQ:您是否会推荐您在 Java 项目中的年轻程序员去掌握其他编程语言?您的首选推荐语言是什么?

李刚:对于一个真正的程序员而言,很难永远只用一门语言。对于已经掌握了 Java 这种强类型、静态语言的年轻程序员而言。至少还应该掌握一门弱类型、动态语言,通过掌握两种不同类型的编程语言,这样才能更好地进行对比。实际上,弱类型、动态语言也有很多,比如 Ruby。

InfoQ:对于一些从新锐编程语言开始入行的年轻程序员,比如 Ruby 程序员,您是否会推荐他们了解 Java?为什么?

李刚:毋庸置疑,Java 是一门应用最广泛、最有价值的编程语言,就目前的趋势来说,大型应用的服务端编程的首选是 Java,而且目前移动互联网的 Android 平台的开发语言也是 Java,无论从哪个角度来看,Java 都是发展前景最好的编程语言,因此我推荐所有程序员都应该了解、学习 Java。

InfoQ:JVM 下多语言协作开发是否能够最大化地发挥 Java 自身的优势?

李刚:在 Java 平台,目前已经存在多语言协同工作,多种语言植入 Java 平台后能够充分发挥各自的优势。各种脚本语言之所以能够流行,是因为脚本的修改、发布更加方便。而 Java 在服务端,已经成为了各种脚本语言的宿主环境,为脚本语言在企业中的应用提供了稳定、灵活的基础平台。其实这对 Java 而言不是一种替代,而是一种补充、加强。实际上 JVM 已经为多语言协同运行提供了平台,不同语言可以专门用于实现特定的组件,同时这些组件都运行在相同的 JVM 环境下,因此不同组件之间能以透明的方式调用,就像调用本身语言的 API 一样。

InfoQ:您觉得 Java 语言自身存在的挑战是什么?

李刚:就我个人感觉来看,Java 目前已经发展得比较成熟和稳定。但也许正因为这种现状,导致 Java 语言在各种新技术的探索,不如以前活跃。而任何一门技术,必须保持快速的生长和更新,不断注入新的血液。对于目前的 Java 语言来说,即使有些不成熟的探索,也会随着市场沉淀慢慢趋于理性,这样才能更好地保持 Java 的生命力。但 Java 目前最大的问题在于:Java 需要引入更多的新的探索。而 Oracle 对 Java 的重视程度似乎不够,每 2 年一次的更新也往往很难如期发布。而且这几年开源技术社区也不够活跃,很少见到真正影响力广泛的技术。

InfoQ:一旦 Java 8 走向成熟,是否可以支持现有系统向 Java 8 的成熟迁移?

李刚:当 Java 7 发布之后,我们已经在第一时间升级了《疯狂 Java 讲义》一书,全面介绍了 Java 7 的各种新特性。在 Java 7 成熟之后,在不少软件公司的技术咨询中,我都会推荐他们去尝试使用 Java 7 平台,尤其是 Java 7 新引入的 G1 垃圾回收器。当 Java 8真正发布后,我们也会在第一时间升级了《疯狂 Java 讲义》,全面介绍 Java 8 的各种新特性。至于在公司的技术咨询服务上,我会评估从原有平台迁移到 Java 8 所需的成本和风险,以及 Java 8 能给现有系统带来的好处。是否应该把一个现有系统迁移到新平台,往往是一个综合、折衷的考虑,很难直接给出答案。

InfoQ:能否谈谈目前 Java 开源社区的一些变化?开源社区对 Java 发展起到了哪些推动?

李刚:总体来说,现在 Java 开源技术社区发布的新技术太少,很少听到影响广泛的开源技术,让人感觉 Java 不如前几年活跃。在这方面,其实 Oracle 应该多做一些技术前瞻性的引导,同时也可以加强与开源技术社区的互动,从而为 Java 语言注入更多的血液。就像以前 Sun 公司,他们推出的 J2EE 平台,他们的各种前瞻性的设计思想和理念,直接催生了后来的 Hibernate、Spring 等各种开源技术。希望 Oracle 能通过 Java 发布一些更前沿、更先进的技术,这样也能激发开源社区对 Java 的热情,让 Java 不断融入新的技术热点。

2013-06-14 00:512037

评论

发布
暂无评论
发现更多内容

Android:怎么看待大厂面试门槛越来越高,,让你明明白白的使用RecyclerView

android 程序员 移动开发

App 竟然是这样跑起来的 —— Android App_Activity 启动流程分析

android 程序员 移动开发

APP瘦身大法--AndResGuard的使用(1),为什么阿里的程序员成长如此之快

android 程序员 移动开发

关于数据导入,教你几招

Simon

MySQL

APP瘦身大法--AndResGuard的使用,android地图开发框架

android 程序员 移动开发

(完整版)直播回顾:2021 MAXP 无服务器赛题讲解

亚马逊云科技 (Amazon Web Services)

人工智能 云计算 创新大赛

BAT面试有关散列(哈希)表的面试题详解,flutter图片压缩上传

android 程序员 移动开发

Android高阶:了解这些知识点,学习Binder就不成问题(1)

android 程序员 移动开发

深入剖析Redis客户端Jedis的特性和原理

vivo互联网技术

数据库 redis Jedis 集群

Android:让你明明白白的使用RecyclerView—,retrofit优点

android 程序员 移动开发

AsyncTask相关知识,安卓工程师面试题及答案

android 程序员 移动开发

BroadcastReceiver源码分析,一线互联网大厂中高级Android面试真题收录

android 程序员 移动开发

Android高工面试(难度:四星,2021大厂Android知识点总结

android 程序员 移动开发

Android:金九银十怎么从中小企业挤进一线大厂?大厂面试题问的深度

android 程序员 移动开发

一个递归调用引发的 “血案”

神策技术社区

App基于手机壳颜色换肤?先尝试一下用 KMeans 来提取图像中的主色

android 程序员 移动开发

App怎么做才能永不崩溃,一文详解

android 程序员 移动开发

App黑白化实现扩展,一键护眼模式,给App,安卓事件分发机制面试

android 程序员 移动开发

基线模型开源分享及深度讲解 | 2021 MAXP 直播第二讲:基于DGL的图机器学习任务

亚马逊云科技 (Amazon Web Services)

人工智能 图神经网络 创新大赛

Base64 的原理、实现及应用,面试字节跳动Android工程师该怎么准备

android 程序员 移动开发

BAT同系列公司面试总结,哪些你所不知道的,学习android的好书

android 程序员 移动开发

Android高级工程师BAT面试题及知识点整理大全(Java基础+Android

android 程序员 移动开发

Android:三四十岁的大龄程序员如何对后辈评价“太水技术低

android 程序员 移动开发

Android:手把手教你实现在XML中配置网易云歌手详情滑动效果

android 程序员 移动开发

Android高级面试题大全(持续更新中),字节跳动厂内部超高质量Flutter+Kotlin笔记

android 程序员 移动开发

Android:年过35岁的程序员还有出路吗?面试了一个-46-岁程序员后

android 程序员 移动开发

BroadcastReceiver官方概览,【面试总结

android 程序员 移动开发

Android高阶:了解这些知识点,学习Binder就不成问题,androidapp开发教程推荐

android 程序员 移动开发

这个深秋,StarRocks喊你一起来撸码 | StarRocks Hacker Meetup 报名开启

StarRocks

数据库 Meetup StarRocks

BAT常见Android面试20题详解,985研究生入职电网6个月

android 程序员 移动开发

BAT资深面试官-带你破解Android高级面试,渣本逆袭大厂面经分享

android 程序员 移动开发

  • 需要帮助,请添加网站小助手,进入 InfoQ 技术交流群
大家谈18岁的Java——李刚:Java需要引入更多的新的探索_Java_sai_InfoQ精选文章