Java Static关键字引发的思考

来源:互联网 发布:怎样安装天正软件 编辑:程序博客网 时间:2024/05/01 01:29

       看技术博客介绍static关键字时,想起了之前的面试问题:static函数的特点。当时只说了可以在不创建对象的前提下使用类名直接调用,并没有举例子。总结面经时才想起本可以举main函数和单例模式的例子。

       main函数:作为java程序的入口,此时没有创建任何类的任何对象,所以他只能是static,用类名直接调用从而执行此java程序。 

       单例模式:单例类只能有一个实例对象、单例类必须自己创建唯一的实例并提供给其他方法使用。所以单例类中构造函数是私有private的,还有一个用于产生唯一实例的方法,显然,该方法必须是static静态方法。

       面试时还问到:java是解释型语言,编译形成字节码之后,类加载器加载class文件,之后运行,期间还会编译吗?所以,今天看了一系列博文,整理java代码从编译到运行整个过程的原理。

       事实上,java运行过程中,类加载器加载字节码,之后JVM执行引擎执行字节码,因为是解释一句,执行一句,速度会很慢,所以JVM中有JIT编译器以及代码缓存,JIT将频繁执行的方法形成的汇编代码保存在代码缓存中,使用时直接执行即可。

  • 命令行编译运行java程序:java教程之java程序编译运行图解(java程序运行)  Java 命令行编译和运行
  • Java类加载的原理:Java类加载原理解析  Three principles of Classloader operation(Classloader操作三原则)  Java类加载器(Class Loader)之详解
  • java代码的编译和执行:Java代码编译和执行的整个过程
  • java中的main函数:java中main函数解析
  • JIT编译器:小谈JVM及JIT






0 0
原创粉丝点击