Qconn

尖端之上的Java

专题出品人: 
专题日期: 
星期日上午

自Java语言的前身OAK能够对外演示开始,到现在整整20年。从企业应用领域里风光无限的J2EE规范到Spring为代表的开源社区的兴起,从JDK5后的停滞不前到Oracle接盘后JDK7/8务实的发布计划,从Java面对众多新兴语言的单打独斗到建立在JVM上的Scala,Groovy等语言的发展。Java工程师们作为国内最为庞大的开发者群体的一员,对它日后到底会走向何方都非常关心。

国外社区对于Java会否在Java8发布后走向复兴还在争论,而在此次议题中,你可以近距离的看到,Java仍然活着,而且活得很好。你可以看到Java在互联网领域里虽然被各种Web快速开发语言重重围困,但在淘宝,点评这样的大型,超大型互联网应用里,仍然是性能,可选开源组件与代码可维护性均衡的上佳选择,看到这些国内大型互联网公司, 如何使用Java建立从底层服务框架到运维监控系统的整体解决方案。

而另一方面,开源社区一直是支撑Java在诸多领域里屹立不倒的最重要原因。在这次议题里,你可以看到国内最优秀最开放的互联网公司对开源社区的反哺,也可以看到国内的程序员如何参与到Apache基金会这种世界顶级的开源组织中,如何获得自己的职业发展。

互联网业务快速迭代的特征导致互联网平台需在保证业务正常的状况下不断的对系统进行快速迭代和优化。如何根据业务需求在最大限度保证平台可用性的同时,在Java纷繁芜杂的组件世界快速评估、选择和应用新的技术/组件已成为每个软件研发人员所必须面对的挑战。本报告以搜狗商业平台近三年技术Java生态演化为背景,并基于实例探讨评估和应用Java技术/组件过程中的实践经验。报告分为四部分:1,快速迭代环境下商业平台Java生态系统面临的困难与挑战;2,搜狗商业平台Java技术/组件评估及应用方式;3,搜狗商业平台Java技术/组件评估实例及经验:统一用户中心和权限中心Java技术选型之路;4,Java技术/组件选型方向和思考。

听众受益:

  • 了解互联网公司快速业务迭代下Java生态系统面临的困难与挑战;
  • 了解搜狗商业平台技术选择Java技术/组件的评估方式及应用流程;
  • 了解搜狗商业平台的Java平台生态结构,包括用户中心、权限中心等实例选型的实践经验及思考。

互联网企业,作为创新精神的发源和实践之地,各种新兴业务层出不穷,开发人员需要面对各种前所未有的技术挑战,而作为开发人员坚实后盾的系统架构,自然也面临需要不断快速演进的巨大压力。然而,令人意外的是,限制系统架构快速演进的瓶颈往往不在于系统架构自身,而是受制于系统架构的快速推广和实施。另一方面,从安全方面考虑,一旦依赖的组件爆出重大安全漏洞,能早一分钟升级到安全版本就能减少一分钟的损失。其次,组件每个版本的维护都需要成本,当组件升级无法及时推行,必然导致组件的多个版本在生产环境并存,久而久之,成为线上问题的滋生地,更可能成为拖垮整个组织效率的慢性毒药。

点评在经历了上述种种痛苦之后,在2013年末上线了Phoenix独立组件部署系统,可以在不需要开发人员的参与下在一小时内安全地完成全公司线上系统的组件升级。从此,Struts的升级不再兴师动众,中间件的升级更是轻而易举,真正做到组件升级零压力。

此次分享会介绍整个系统的背景和技术方案,以及在点评收获的效果,同时,和大家一起探讨解决类似问题的一般思路。

去哪儿网是目前国内的一个java使用大户,目前有上千个系统在线上运行,公 司内有大批国内优秀的java工程师。在过去的几年里,我 们在整个开发过程中遇到了大量的问题,也造就了大批的工具和系统来解决问题,使去哪儿网的整个java开发生态环境更加完善。这次分享将 会介绍一些有用的工具和系统。其中包含:

1、去哪儿网的自动化发布系统

2、去哪儿网的监控报警体系

3、去哪儿网的可靠消息系统

4、去哪儿网的自动化测试

5、去哪儿网的mock平台

每个软件在运行时也不可避免的会出现各种各样的故障,严重的故障会使得用户对网站的信任度下降,甚至产生严重的社会影响和经济损失,在"精神号"登陆火星之前,还有一个代号为"雅典娜"的火星车在尝试登陆火星时失败了,损失了上亿美金,而最终排查到的故障原因仅仅是两个不同的团队对使用的API的单位的理解不一致,这里也将给大家分享一个类似的API单位理解错误造成的严重故障。

故障的现象是某个重要的系统功能页面访问直接报错,报错的初步原因是被系统被限流,唯一保留的现场的信息是内存的dump信息。

在拿到内存dump信息的情况下,需要用什么样的思路和工具来揭开造成故障的根本原因,定位到相应的代码呢,这需要对故障产生的背后原理清楚,同时要求对各种排查工具非常熟练,很多时候排查故障的能力的差别就仅仅在工具的使用上,这个部分将详细的为大家分享最终定位到问题代码的过程。

故障的排查和解决过程就像是一场争分夺秒的战争,排查的技巧和经验在这个时候特别的重要,最后将给大家奉上常见的Java问题排查的工具箱,例如jmap、jstack、MAT、btrace等等利器。

提起Java,人们联想到的往往是“笨重、繁琐、啰嗦”之类的词汇,诸多优秀程序员也以逃离Java为目标。自2000年前后,Java成为企业开发的主流至今,似乎Java软件开发便已定型,大多数Java程序员编写的代码、工作的方式与十几年不差分毫。与此同时,软件行业飞速发展,许多新理念、新做法层出不穷,难道Java真的垂垂老矣了吗?

本演讲将通过回顾最近十多年软件开发领域的发展变化,对比“十多年前”的Java开发方式,介绍Java世界包括语言、程序库、开发方式、工具等各个方面的诸多变化,以及这些变化对于每个Java开发人员日常开发工作的直接影响。我们会看到,Java世界的停滞不前,只是人们的错觉而已。

如果你已经习惯了“十多年前”Java开发方式,是时候更新一下Java知识了。

听众受益:

  • 了解近十年软件开发方式和理念的变化。

  • 了解Java世界出现的“新”工具“新”框架。

  • 了解Java日常开发工作应该做的一些转变。