挖经验 / Java技术
在Topic看来,要想让JCP真正改革需要人们继续不断的进行游说,就如同以前呼吁Java开源一样。Topic表示,“JCP需要进行变革,以引导Java走向一个更美好的未来。”
当代的企业级应用决不可能是一个个的独立系统。在企业中,一般都会部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和Internet的分布式企业应用群集。
……5、测试:必须熟悉使用junit编写测试用例完成代码的自动测试;6、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试;7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置……
Anissa是GlassFish的一个主要提交者,领导其管理控制台项目。本文就JSF在GlassFish管理控制台中的应用,如为何在GlassFish管理控制台中应用JSF模板,如何对JSF做单元测试,JSF的组件库以及如何提高JSF的性能等问题采访了Anissa。
Spring2.5特别是为那些使用Java 5或更新版本java的开发人员提供了进一步简化而强大的新特性。本文将主要关注于简化的配置和在Spring应用程序上下文(application context)核心新增的基于注解的功能
Spring 2.5推出了一整套注解,作为基于XML的配置的替换方案。注解可用于Spring管理对象的自动发现、依赖注入、生命周期方法、Web层配置和单元/集成测试。本文主要讲述了Web层中的注解支持。
DataNucleus访问平台1.0.0完全兼容于JDO1、JDO2、JDO2.1及JPA1并提供了JDO2.2和JPA2的预览特性。当前它支持对RDBMS、db4o、LDAP、XML、Excel、NeoDatis ODB及JSON的持久化。
注解,在Java SE 5.0中作为Java元数据工具(JSR 175)被加入,提供了一种给程序元素增加元数据的方法。使用Aspects作为一种实现注解处理器的方法,则是对它们的一种不同思考方法,不同于传统架构师的“横向关注点(cross cutting concerns)”视角的方法。
要想真正获得最大性能的程序,除了依靠自动优化技术外,你还有必要在编程的时候使用巧妙的数据结构和针对特定问题而设计的新优化算法。
重面向UI(Heavy UI oriented),这种类型的应用或框架通常提供基于UI的控制台、管理有用、插件等,这为管理云中的资源比如开始和停止图像等提供了唯一的方法;重面向框架(Heavy framework oriented)这种方法非常强调云中资源管理的动态性。
问及JSR 311上的工作是否改变了他对Web和Web服务的观点时,Mark表示这印证了他的一个观点,即一个人“无需依赖更复杂的东西就可以用HTTP完成一件非常伟大的事”。
InfoQ就这个新的应用服务器的问题有幸采访到SpringSource的CEO。Johnson提到,早在撰写《J2EE without EJB》一书的时候,他就极力推崇ala carte应用服务器的概念。SpringSource dm Server把这个概念化为了现实。
在经历过几次数据库切换后,我认识到幻想在第一个发布版本不经任何修改就支持所有数据库是不现实的,也许应该列出目标环境下可能会使用到的数据库集合,如:mysql/sqlserver/oracle。
GlassFish是个出色的Java应用服务器,免费开源EJB服务器的首选,但在国内,开发者对于GlassFish的选择依然犹豫不决,有用户发表了这样的看法:曾经在一个项目中用GlasshFish替换Tomcat,发现GlasshFish的JSP规范跟Tomcat的不太一样,着实改了不少地方。
ModuleFusion的目标是帮助程序员将OSGi服务平台作为底层的运行时环境。ModuleFusion包含了针对Java企业应用的一站式服务。该服务含有来自于Java生态系统最棒的开源框架。此外,ModuleFusion还具备一些必要的粘合剂代码,以帮助大家轻松地在OSGi中使用这些框架。
新策略总结为以下几点:Spring的源代码树依然会保持开放;SpringSource将根据需要继续为主版本和关键版本创建官方发布;Enterprise的客户可以访问所有这些构建;开源用户可以在主版本发布后的前三个月内访问这些构建……
对于Java新版本的需求并不是那么迫切的,原因:1.Java 5和6已经满足了开发者对JDK的大部分需求;2.我期望未来的版本是一个精减蓝图的JRE,同时Java 6 update 10已经做了精减;3.我们已经有了如此多的框架;4.Sun把太多发布重心集中于JavaFX。
相对于内部DSLs,Java更适合于创建外部DSLs,因为内部DSLs更依赖于宿主语言的语法。Groovy动态方法的强大功能使其更适合于创建内部DSLs。Venkat最近撰写了一篇关于Groovy中的元编程特性及如何利用该技术编写内部DSLs的文章。
JDK 1.6中引入了自适应自旋锁。自适应意味着自旋的时间不再固定了,而是取决于一个基于前一次在同一个锁上的自旋时间以及锁的拥有者的状态。如果在同一个锁对象上,自旋刚刚成功过,并且持有锁的线程正在运行中,那么自旋很有可能再次成功。
在过去几年中,JEE已经变成一个稳定和成熟的开发环境,但是人们对它的兴趣却并非十分高涨。人们已经习惯于批评它不够酷,批评它相对Spring具有许多缺点。不过JEE6实际上有不少重大的改进。