我眼中的java


  1. 一个编程语言,半解析、半编译执行,

  2. 由一个编译器和一个解析器组成,这俩都是用c写的,所以了解C的作用没啥坏处

  3. java自己最后会用javac生成自己的运行时环境jre

  4. 编译器用于将人类可读的源代码编译成人类不可读的半编译代码(字节码)

  5. 解析器是一个写成了虚拟机的解析器,本质上还是一个可执行程序,类似python、perl

  6. 基础库里头实现了很多比较复杂的数据结构,比如hash,比c得基础库(libc里头的)丰富多了

  7. 解析器是线程的

  8. 解析器里头有个线程专门干gc(垃圾收集)的事,因此不用像c那样操心malloc、free

  9. 解析器没有交互的执行方式,只能运行代码

  10. java 解析器自称虚拟机(vm,virtual machine)

  11. java 在很多方面像一个“虚拟机”:它有自己的状态收集命令,如jstat,jmap

  12. java 又是一个编译环境,所以有个叫 javac (java compiler?)的东西


你可能感兴趣的:(我眼中的java)