将应用程序迁移到Java 7的动机和消失

San*_*osh 18 java migration java-7

Java 7已经存在了一段时间了.现在,如果要将应用程序迁移到Java 7而不进行任何更改(代码/配置),是否存在任何固有的优点或缺点?我很想知道这种迁移过程中遇到的问题.

编辑:通过迁移我的意思是代码将保持不变但运行时将更改为Java 7因为我提到没有代码/配置更改,所以我认为应该影响应用程序的是新的编译器/ VM级别默认优化.所以我一直在寻找任何会影响整体应用程序行为的东西.

Mic*_*rry 8

目前我发现我的应用程序(用Java 7开头编写)的明显缺点是大多数人没有7,并且需要花费一些力气才能获得它.在撰写本文时,默认的Java下载页面仍然指向Java 6,而不是7,并且大多数当前的Linux发行版似乎也默认安装了6个.Ubuntu 11.10是第一个在其存储库中拥有Java的人.

同样在Ubuntu方面,我注意到的一件事是,即使安装了Java 7,我还没有找到一种干净的方法来检查它是否是默认的(并且很可能,它不是.)我我只是使用一个shell脚本来解析输出update-alternatives --query java并适当地启动它.

这是我的一个明智的决定与7去,因为有一些在它的新功能,我可以利用,并说,当时应用程序实际打,我会考虑它的α/β点我希望Java 7无论如何都会获得更多的立足点!

几乎所有的优势都集中在使用添加的功能 - 我发现使用资源构建的尝试已经使我的许多代码使用IO的东西更容易阅读(没有更多嵌套的try/finally的内部尝试/捕获)我是使用一些额外的API,如filewatcher API.我也更喜欢事实JComboBox和底层模型现在是通用的,这可以节省Swing应用程序中的一些投射.

简而言之,如果你实际上并没有利用任何Java 7的功能,而你只是为了升级它,那么在Java 7至少变得更加成熟之前,没有什么动力去做.它使我的代码更加清晰,并且对一些额外的库有所帮助,但它也引起了一些令人头疼的问题.