Java漫谈——对Java平台的认识

1.前言

        大学时候开始接触Java,当时对Java的理解就是一门编程语言,当然确实也是作为一门编程语言来学习,大学也只是带你走进Java这扇大门,至于以后的路怎么走就看个人造化了。从学校到工作,接触Java也有七八年了,现在回想一下,也算是对以往的一个总结,也许人生就是这样,向前看一片渺茫,回头看却是格外清晰,感慨万千!好了,接下来说说自己这些年接触Java后的一些看法。

2.java 平台的组成
  • java 语言
  • Java类库(包含在jdk中)
  • java 虚拟机
  • class 文件
  • 基于Java的第三方框架(spring,hibernate等)
3.各个组成部分的理解
  • 3.1 java语言
    Java语言是一种面向对象的语言,面向对象的语言有三大特性(继承,封装,多态),除此之外Java语言还有完善的异常处理机制(体现了鲁棒性,也就是健壮性),泛型,反射,lambda 等语言特性。
  • 3.2 java 类库
    Java 基础类库包含集合,IO/NIO,网络,并发,安全等类库,其中有很多类是我们日常工作中需要的。
  • 3.3 Java虚拟机
    • “write once, run anywhere” 仔细回味一下!
      Java虚拟机的诞生让“write once, run anywhere”为人们熟知,而这句话什么意思呢?当时在大学的时候直译过来就是“写一次,随便哪里都可以运行”,这里的哪里指的是不同操作系统的计算机。随着对Java的深入了解,就会发现他这句话的真正意思是“写一次,不用再多次修改了”,为什么会这样解释呢?大家知道,不同操作系统给调用他的程序的API也不同,如果我们用c开发一个程序,那么就会有面向Windows的程序和面向linux的程序,这两个程序都是c语言写的,功能一样,但是源代码却大相径庭,这是一个很大的痛点,但是Java虚拟机的诞生,让java 源码避免这个问题,同样的一份代码在linux和windows上都可以运行正常。所以,对java的宣传语言,很多人只了解了表面意思,而背后的道理却没有深思,这就好比现在的广告一样,人们只是被视觉欺骗而忘记了本质的东西。
    • Java虚拟机的垃圾回收机制
      java虚拟机的垃圾回收机制解放了程序员对内存的处理,不用再担心内存释放而产生的内存泄漏,当然,理想很丰满现实很骨感,虚拟机也会出一些意想不到的问题,这也是我们为什么需要学习java虚拟机的原因。
    • java是解释执行吗?
      这句话不全对,主流java虚拟机都会支持JIT编译器 ,通常我们会将java源码编译成字节码,然后在运行时,通过虚拟机将字节码转化成机器码执行,而JIT会将热点代码直接编译成机器码,这点来说,这部分热代码是编译执行。
  • 3.4 class 文件
    class 文件是java代码经过编译器编译后的文件,class文件有一套规范的技术约束,有兴趣的可以了解一下,这里需要说的是另外一件事,那就是不光java代码可以被编译成class文件,其他语言的源代码也可以编译成class文件,如“scale,python”等,这说明了,java平台正在向着多语言的生态系统发展,以后一个项目使用的都是jdk但是语言却有很多种。
  • 3.5 第三方框架
    现在很多企业都在使用第三方框架,很多开源框架如spring,hibernate,mybits,springMVC,springBoot等都是企业用来快速开发软件的工具。当然这些很多都是用java语言开发的。我么平时除了学习使用框架还要了解其原理和实现方式。

你可能感兴趣的:(java漫谈)