Java语言的我的理解

Java语言的我的理解(比价深层次吧)linux

         大四的生活确实十分的奢靡,不锻炼,不读书,几乎就是当一天和尚撞一天钟的生活,太颓废了,还好本身不是这个样子,不过身体确实差了不少,昨天跑了一圈内环(4KM),今天就走不动路了,因此仍是过一些比较充实的生活。仍是回到学习上来吧,这一节主要的是“水”(粤方言)一下关于Java的宏观知识。程序员

         做为Java语言的爱好者,应该对于Java语言有着比较深刻的认识,不但要认识到这门编程语言的优势,也应该关注他的缺点。这样才会让咱们在实际的开发中避开这些缺点,或者是找一些其余比较好的方法进行那个替换。同时呢,还应该对于语言的将来发展趋势有一个很好的把握。编程

         自由开源之路ruby

         Java语言是Sun公司私有的实现的,而且有Sun公司制定标准。在至关长的一段时间内,Sun都是Java的标准,并且是主导这门语言的大哥。可是这样的发展模式这样不可以知足全部的市场需求。同时使用厂家的平台系统使用的是Java,并且都是核心业务,这就不免让企业产生必定的顾虑:咱们的核心业务都是基于Java平台构建的,可是这个平台自己确实其它一家公司的私有技术,你哪一天抽风,不让咱们使用了,咱们岂不是悲剧了,因此Sun公司开始了Java平台的开放化过程。其实这也正是Java之因此如此盛行的关键因素。编程语言

         计算机的发展,有两个东西我特别推崇,一个是Linux之父Torvalds,由于他的开放本身的研究的linux内核源代码,而且依靠互联网平台做用,更新维护本身的linux内核,才有今天各类免费的linux操做系统,并且Android OS也是基于linux内核的操做系统(虽然我只是linux的菜鸟);再者就是Java语言,也是凭借社区的力量发展起来的,而且自由开源。对于这两种技术,我超喜欢,因此在大二上的时候开始学习Java语言,并且一直不断的深刻,在学习Java的时候,每当深刻的学习,就会发现本身须要学习的东西还有太多太多。最近发现因而王高层走,因而发现太多的东西,根本学不过来,不过这些东西都是能够很快的掌握。因而我转向了底层,也就是语言自己的实现。由于几乎全部的Java的东西都是开源的,因此我也想深刻到源代码级别研究这些东西,因而昨天我下载来openJDK的源代码,感受超厉害的样子,本身慢慢研究! Linux的话,我也会继续深刻的学习下去。性能

         回到Sun公司的公开Java的实现上,Sun公司在后来将Java 内部实现和标准几乎彻底公布,除了少部分由于涉及版权,可是这些也是能够在Java社区找到相应的替代品。同时公布本身的Java和JVM规范,因而开源社区根据这一标准实现了一个叫作OpenJDK的Java自由开源实现版本。今后企业就再也不担忧本身会被Java“掐住脖子”了。学习

Coin项目:为何有这个项目呢?这个和Java语言的发展有很大的关系。OpenJDK的Java自由开放源代码的实现,同时OpenJDK中有一个Coin组织,引用官方的话“The goal of Project Coin is to determine what set of small language changes should be added to JDK 7.”因此Coin在Java升级中起到了很关键的做用。并且Coin依靠的不是什么国际组织,而是开放的平台社区。这也是Java为何如此流行的最重要的缘由。操作系统

         Java为了走的是平台路线而不只仅是一种语言开放源代码

         对于Java语言的认识咱们应该更加深刻,Java的运行效率是比较差的,由于他是居于JVM运行的,JVM则是使用C/C++实现的,因此形成了效率比C/C++低。以后有不少的开发语言好比Ruby, Python等等有专门的JVM运行版本Jruby,Jython,他们将本身的源代码编译成为标准的字节码,就能够运行在JVM上,给Java语言自己带来了至关大的挑战。内存

  可是Java语言不会就此死掉,相反Java语言作的是一个平台而不是一种语言,这些语言只要运行在JVM上,Java就会一直盛行下去。不少的语言支持JVM运行,是由于历史的缘由,在Java社区中有大量优秀的JAVA包,这些JAR包是字节码,能够直接在JVM上面运行,其余语言就为了使用这些JAR包,因此将本身的源代码也编译成符合标准的字节码,运行在JVM上面,这样就能够调用那些开源的JAR包。20多年的发展,Java语言中有大量的资源是不可以随时被其余的编程语言所替代,因此依托JVM运行标准的字节码,将Java作成一个平台,而不只仅是一种语言。

  Java中的效率和C/C++比起来确实比较低效,Java如此好的封装机制,带来了很大的优势,可是也正是这个缘由形成的Java效率的低下;同时还有比较敏感的内存管理,Java中屏蔽了底层的实现,而不像C/C++那样,对于程序员透明。其实C/C++的内存管理掌握以后反而到感受的简单,由于就是申请一块内存就对应的释放一块内存,就没了;可是Java的内存管理真的很头疼的,不要觉得Java程序就不用考虑内存管理了,若是这样,在大型项目中,咱们的程序就可能直接死掉,由于分配内存失败。同时还可能会由于JVM一直忙碌于回收内存,这样下降程序的性能,总之就是很悲剧!也正是由于这一点,如今有点不怎么喜欢Java了。

  以上就是目前对于Java语言的理解看一些见解,不一样的时期,不一样的本身,对于同一件事情也就会有不一样的认识,未来的话,也许对于Java语言会有一些新的认识,也许就在明天!

追寻梦的飞飞

2014.04.02 于广州

相关文章
相关标签/搜索