java基础知识点,零基础可以学好java吗?( 三 )

工作原理

  • 要理解RTTI在Java中的工作原理,首先必须知道类型信息在运行时是如何表示的,这项工作是由称为Class对象的特殊对象完成的,它包含了与类有关的信息 。Java送Class对象来执行其RTTI,使用类加载器的子系统实现 。
  • 无论何时,只要你想在运行时使用类型信息,就必须首先获得对恰当的Class对象的引用
反射与RTTI的区别
  • RTTI与反射之间真正的区别只在于:对RTTI来说,编译器在编译时打开和检查.class文件(也就是可以用普通方法调用对象的所有方法);而对于反射机制来说,.class文件在编译时是不可获取的,所以是在运行时打开和检查.class文件 。
六. 即时编译器技术 — JIT
  • Java虚拟机中有许多附加技术用以提升速度,尤其是与加载器操作相关的,被称为“即时”(Just-In-Time,JIT)编译器的技术 。这种技术可以把程序全部或部分翻译成本地机器码(这本来是JVM的工作),程序运行速度因此得以提升 。当需要装载某个类时,编译器会先找到其.class文件,然后将该类的字节码装入内存 。此时,有两种方案可供选择:
  • 一种就是让即时编译器编译所有代码 。
  • 另一种做法称为惰性评估(lazy evaluation),意思是即时编译器只在必要的时候才编译代码,这样,从不会被执行的代码也许就压根不会被JIT所编译 。
七、 final关键字对final关键字的误解
  • 当final修饰的是基本数据类型时,它指的是数值恒定不变(就是编译期常量,如果是static final修饰,则强调只有一份),而对对象引用而不是基本类型运用final时,其含义会有一点令人迷惑,因为用于对象引用时,final使引用恒定不变,一旦引用被初始化指向一个对象,就无法再把它指向另一个对象 。然而,对象其自身却是可以被修改的,Java并未提供使任何对象恒定不变的途径(但可以自己编写类以取得使对象恒定不变的效果),这一限制同样适用数组,它也是对象 。以上是我们在学习Java时需要掌握的基本点和一些关键的重难点 。了解他们对我们学习Java很重要
【java基础知识点,零基础可以学好java吗?】以上就是java基础知识点,世上无难事只要肯攀登 。

经验总结扩展阅读