JAVA的问题

网上总看到java要死的言论。个人认为java是肯定会死的,也是要死的,但具体什么时候,这个和java本身完全无关,而是和技术的发展有关。什么时间出现一个比java更好的开发系统(注意不是语言),什么时间java就会灭亡,当然,前提是,这个系统要能支持到java原有系统。

java的问题:

1.性能:java的内存管理似乎比较自动化,但其实性能不是特别好。尤其是new对象的时候没有节制。在java中,有些对象构造成本很低,有些很高。特别在UI编程的时候,大多数的UI对象其构建成本都比较高昂。如果在开发过程中没有节约意识,肯定会导致JVM不停的GC,系统表现很卡的样子,当然,彻底的当掉可能还不会,但基本上工作已经是非常的缓慢的了。

2;引用:JAVA中其实在大量的使用对象引用,对象引用可以减少内存占用,不去构建不必要的对象。但事实上,多数程序员对引用的理解不是很到位,结果导致过多不必要的对象构建,虚耗内存。代码可读性也不佳,编写的时候尤其觉的疲惫。

3;面向对象:java是面向对象的语言,但是它有基础类型,这些基础类型不是面向对象的,不能当作引用传递。一般来说,这些基础类型可以用来表示一个对象的状态。java中的对象一定要包含状态,没有状态的对象其实是不存在的,没有状态的东西不是对象,而是一个行为集合。但是java中没有一个明确的结构来表达这个情况,所以只能写一个类来表示,同时将这个类的构造定义成私有的,防止被别人构建。这个时候的类的作用等同与命名空间。java在面向对象的支持方面其实是很残缺的,缺乏很多必要的支持,比如虚函数,多重继承,友元。这种残缺,导致设计困难,所以java的系统都十分的罗嗦。

4:复杂:java越来越复杂了。注解,泛型,枚举,特性很多。

5:不可变:java支持不可变,但是大多数人并不了解这个主题。不可变系统其实比较容易实现,同时也不容易出错。但是java是基于引用的系统,不可变会导致大量的内存问题。JVM缺乏尾递归优化,这其实也是一个问题。

总之,我们都被高司令骗了,java上手简单,但是写好了不容易。面向对象设计尤其不易同时还要精通java,这样的人实在是缺乏。因此很多系统设计的不好,不是程序员水平的问题,而是java实在是对设计师要求太高了一些。java距离灭亡还早,因为随着时间的变迁,我们发现我们对它的理解其实很不足。不过说的严重一点,我个人认为,java是对面向对象编程思想的一种亵渎,因为它强制人写class,这等于强制人放弃思考,不明白为什么要写class,因此会写出什么,只有天知道,自己也不知道的。

阅读更多
想对作者说点什么? 我来说一句

java遇到的问题txt

2010年04月05日 756B 下载

java问题宝典集锦

2009年03月20日 180KB 下载

java生产者消费者问题

2011年11月12日 176KB 下载

java 面试问题实用

2009年02月09日 28KB 下载

java的图片验证问题

2009年02月09日 28KB 下载

Java面试问题收集

2011年04月20日 1KB 下载

关于java上传的问题

2009年03月28日 6KB 下载

java"计算器"问题(源代码)

2009年02月11日 11KB 下载

Java 学习资料

2011年12月19日 227KB 下载

汉诺塔问题 java解决方案

2009年08月05日 29KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭