欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java基础之初识Java,

来源: javaer 分享于  点击 23721 次 点评:165

Java基础之初识Java,



本篇本人整理以前笔记记录用的,有不足之处还望指出。

用Xmind整理的思维导图。初识Java的话

谈Java

   Java发展历程的话,很长,有兴趣了解Java发展史,可以自行百度一下,很多很详细的内容,毕竟这家伙比我年龄还大。比较有趣的是一家伙原本叫Oak,当时James Gosling办公室的窗外,正好有偶一棵橡树(Oak),但是有一家公司已经用了这个名字,工程师后来一边喝咖啡一边讨论新名字,看看手上的咖啡,顺手就取了JAVA这个名字。

Java的特点

   Java是门优秀的语言,当然他的特点也就很多了,比如面向对象,平台无关性(仅语言)、分布性(网络)、移植性、解释性、高性能、多线程、动态安全、健壮性等。主要熟知Java的封装继承多态,还有他的平台无关性(跨平台)。
  封装:就是把同一类事物的共性(属性和方法)归为一个类中,方便使用。
  继承:子承父业,一个类继承另一个类,实现代码的复用。
  多态:多态的概念是以封装和继承为基础的。子类以父类的身份出现,但做事情时还是以自己的方法实现。子类以父类的身份出现需要向上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,但向下转型(downcast)是不安全的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。(多态为Java初学者一容易踩坑的地方)
跨平台:不是java语言跨平台,是由于不同操作系统有不同的JVM虚拟机,java程序员不用考虑所写的程序在哪里运行,写好的程序.java由编译器编译成.class文件,放心的交给虚拟机,变成相对应的平台的机器语言。(字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言)

gc回收机制(Garbage Collections)

   
   扩展:G1:对象的内存分配,往大方向上讲就是在堆上分配,对象主要分配在新生代的Eden Space和From Space,少数情况下会直接分配在老年代。如果新生代的Eden Space和From Space的空间不足,则会发起一次GC,如果进行了GC之后,Eden Space和From Space能够容纳该对象就放在Eden Space和From Space。在GC的过程中,会将Eden Space和From Space中的存活对象移动到To Space,然后将Eden Space和From Space进行清理。如果在清理的过程中,To Space无法足够来存储某个对象,就会将该对象移动到老年代中。在进行了GC之后,使用的便是Eden space和To Space了,下次GC时会将存活对象复制到From Space,如此反复循环。当对象在Survivor区躲过一次GC的话,其对象年龄便会加1,默认情况下,如果对象年龄达到15岁,就会移动到老年代中。

相关文章

    暂无相关文章
相关栏目:

用户点评