Java弱点

1 篇文章 0 订阅

1.  语法和JDK都够繁琐。譬如, 每次输入输出文件,都要查API 解决办法:语法繁琐,可以用Groovy; JDK繁琐,有没有第三库可以提供一些简单常用(不怎么考虑效率)的API,参考Python风格。 好像Groovy就做了类似的事情。但是,如果不能用Groovy呢,所以这个库还是有价值的。Guava是不是也做了类似的事情。

2. JDK API布局有些地方不符合直觉。譬如用获得当前时间,直觉上看应该会在Time,Date之类的地方, 没想到的是他在Calendar里面。 解决办法: 第三方库包装。可以学习一下Python的风格。Groovy可能做了类似的事情。

3. Oraclejavac中,有个bug: 如果package指定的包名和文件路径不匹配,javac不会报错,但也不会编译出Class文件: javac -g -J-Xmx600m -deprecation -d  output/classes -cp "${dep_jars}" -sourcepath src "@all_java_sources.txt"   解决办法: 因为Java规范里没说文件路径和包名必须一致,但你最起码,要给我编译出来呀。 OracleBug。。。面用IDE的时候应该不会出错。Ant会不会有验证?是不是会有更好的设计,package和文件目录并不是等同的事物,只是Java程序恰巧都是以文件的形式出现。

4. 同一个第三方库不同版本的加载问题。今天遇到一个相关的bug, 在 tomcat/lib下面,我放了两个不同版本的第三方库,名字差距比较大。这个时候,就造成了程序的问题。是不是Java在Load他们的时候,有没有可能输出一些警告日志出来,及时地让用户知道有两个重复的Class。还是说,对JVM来说,做这种验证的消耗比较大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值