
Java那些事儿 - JavaOne 2011、CDI和Google Dart语言
对于Java社区来说,9月和10月间最重要的事件是一年一度的JavaOne大会的召开。JavaOne 2011的主题是“推动Java向前发展(Moving Java Forward)”。从这个主题可以看出,Oracle正试图以领导者的身份带领Java社区来共同推动Java的发展。遗憾的是,由于Google和Oracle之间的专利诉讼,来自Google的开发者再一次缺席了JavaOne大会。

对于Java社区来说,9月和10月间最重要的事件是一年一度的JavaOne大会的召开。JavaOne 2011的主题是“推动Java向前发展(Moving Java Forward)”。从这个主题可以看出,Oracle正试图以领导者的身份带领Java社区来共同推动Java的发展。遗憾的是,由于Google和Oracle之间的专利诉讼,来自Google的开发者再一次缺席了JavaOne大会。
Oracle最近发布了Oracle Data Access Component(ODAC)11.2 Rel 4,其中增加了对Entity Framework 4.1和4.2的支持。这让.NET开发者可以使用Oracle数据库来应用这种流行的ORM工具,并使用LINQ to Entities来进行数据访问,而不需要编写SQL语句。然而,在这个版本中还没有支持代码先行(Code First)和DBContext API。

说起Java虚拟机,许多Java程序员都会潜意识地把它与Sun HotSpot虚拟机等同看待,也许还有一些程序员会注意到BEA JRockit和IBM J9,但大多数人对JVM的认识都仅限于此了。从1996年初Sun发布的JDK 1.0中所包含的Sun Classic VM算起,Java虚拟机已经发展了15个年头,沧海桑田一瞬间,15年转眼而过,这期间曾经涌现、湮灭过许多或经典或优秀或有特色的虚拟机实现,在《Java虚拟机专栏》的第1篇中,我们先暂且把代码与技术放下,一起来回顾一下Java虚拟机家族的发展轨迹和历史变迁。

谈及企业服务总线(ESB),在有面向服务的架构(SOA)实施经验的开发者眼中一定不会陌生。这些年,人们一直在谈论它,以至有些人认为“实施SOA一定需要ESB”,或“只要将ESB架起来了,我们就SOA了”。这些说法有可取之处,也存在片面之嫌,由于业界对于ESB没有统一、标准的定义,所以一千个人眼中有一千个“ESB”也就成了情理中的事情了。然而,怎么才能将ESB用好?我们需要清楚地认识ESB在SOA中所扮演的角色,理解哪些工作是ESB的职责之内,哪些却不是。只有正确地认识了ESB的职能,并委以恰当的任务,才能将它用在刀刃上、发挥其巨大的能量。

演讲内容包括淘宝商品库硬件的选型决策, 安全性和性能的平衡,特别是创新引入PCI-E Flash卡和Flashcache作为Cache提高IO性能,在保证安全性的前提下就包括MySQL、InnoDB引擎、文件系统、系统Page Cache、 IO调度算法、DM层(Flashcache)、Raid卡、设备驱动在内的整条IO路径的Cache进行优化,进一步挖掘了系统IO的潜能,重点介绍优化过程中的一些经验教训、测量手段和工具。

本次分享主要是介绍企业级Java开发平台的最新版本——Java EE 7平台。Java EE 7最显著的一个特点是基于云计算进行设计,满足了平台服务提供商和应用开发者的需求,从而使得移动应用可以被部署在任何基于云的基础设施上,充分感受其在扩展性、弹性、多用户共享方面的优势。此外,Java EE 7的一项重要的特点是延续了此前两个Java EE版本的特点,在开发的简易性上更进一步。它的主要目标就是通过将现有的基于注释的开发模型扩展到JMS 2.0,并更好地整合已有的API,进一步简化企业开发过程。同时,Java EE 7还优化了很多组件,并增加了一些新的、重要的API,比如JAX-RS 2.0中的REST客户端API、Servlet 3.1的WebSocket、Java EE API并发工具,以及期待已久的JCache API等。

阿里巴巴数据架构专家、数据仓库架构师姜迅,在阿里巴巴负责了数据建模、技术架构、数据展示三个团队,在本次采访中举例说明了数据的商业价值,分享了大数据量的架构设计难点,选择水平扩展方案做数据分析架构,系统的可伸缩性,资源切片分给不同部门,以及如何能够在数据开放时保证系统的稳定性与资源共享,介绍了阿里巴巴现在的数据架构设计、调优、未来设计计划,也分享了设计过程中遇到的挑战,多任务多指标且相互依赖,数据仓库之间的人物关系非常负责,提出了蒲公英模型,指标服务化,可插拔的设计灵活结构。同时,他也分享了对于NoSQL的看法,对NoSQL技术的优缺点进行了点评,分享了NoSQL选型时的考量点,主要是健壮性和稳定性。

优化听起来好像没什么内容,但实际上我们做了很多的工作。首先要有明确的目标,我们的目标是什么,是为了提高性能还是提高安全性,还是提高其他的什么指标,这个目标要清晰和完整。第二点是测量,你不能说我拍脑袋看到某某某,他怎么优化的,然后我也上去这样照着优化,这不是我们做事的风格。我们要测量现在的瓶颈在哪里?我们的系统遇到了什么问题?