您的位置:首页 > 编程语言 > Java开发

Java Static关键字引发的思考

2016-06-14 10:52 344 查看
       看技术博客介绍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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: