比如:
1、跨平台性,虽然是很好的优势,可以让JAVA在任何的系统中运行,但是前提是该系统要安装JAVA虚拟机,这样导致一些JAVA编写的桌面程序无法在一般的用户(没有安装JAVA虚拟机的用户)上使用
2、JAVA的身后是SUN公司,提供及时的API更新,但是过多的版本导致JAVA的向下兼容性很差。而SUN公司在J2EE上的标准定义的并不是完美,导致在J2EE的开发中多数使用开源框架,开源框架是好东西,但是更新速度并不快。
3、都说面向对象的语言先进与面向过程,JAVA是OOP语言,但是它适合的是BS系统,在WEB项目中JAVA的实力毋庸置疑,但是转到了底层的程序却无法同C++抗衡。
4、个人认为JAVA的最大优点是开源,但是这往往也成了最大的缺陷了,无法定义一个好的标准使得开发时使用了框架,在新的程序员来到公司时必须先了解框架,延缓了开发的时间。
世上必物极必反,JAVA是个好东西,未来的程序将越来越完美,如乱码是JAVA的第一公敌,但是我相信几年后定会解决该问题。
Android和JAVA区别:
Android是主流智能手机的操作系统,JAVA是一种开发语言,两者没有好坏优势之分,只是两种职业岗位选择,学安卓从事移动互联方向开发,学JAVA从事软件方向开发,主要看个人选择,从学JAVA转移到安卓,学安卓转移到JAVA都是可以的。完美空间认为:从职业角度出发,想要快速从事软件行业的开发,对大多数计算机不好的人员,安卓Android开发是最合适的选择。
从整体来讲,java和android的区别在于android程序是基于组件和配置的,而且android开发以java语言为开发工具,表面上看他们有点同宗不同门,但实际上区别十分大,android是一个主流智能手机操作系统,java是一种开发语言,两者没有好坏之分,而且两者也是不同的岗位,从工作岗位来看,安卓从事的是移动互联方向,java则是从事开发方向。
java和android都是可以做手机开发的;在以前半智能机的时代,手机应用的最多的就是java、塞班操作系统了,这两个操作系统在三年以前应该和今天的安卓、IOS系统差不多,当时认为很完美了,不过时至今日,java系统相对较少,随着3G时代的到来,人们最重要的网络终端设备一定是手机,而移动终端设备中3G系统的android手机又最多,android手机又以java为基础,所以二者都可以说能做手机开发。
现在安卓能占智能系统的50%左右的市场份额,当然智能系统或者是移动终端不仅仅是指手机,因为从android3.0以后就开始应用于平板电脑了,android也是在快速的发展,从目前势头上来看,好像android要略胜一筹,但是其实这两者并没有可比性,因为发展方向并不一样,侧重点也不一样,java按照实际的开发产品来看,至少有三个方向可以发展;手机终端、电脑客户端、web服务器断,而android只适用于手机终端,因此java的发展范围相对要广一些,也就是我们所说的工作岗位更多一些,而android范围小一些,但是从待遇上来看普遍稍高,各有各的好处,再说学习来看,从android转java和从java转android都是可以的,不管哪个行业都存在金字塔顶端的人,如果做好的话两者都是不错的方向。