![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
且行且珍惜、
这个作者很懒,什么都没留下…
展开
-
通过java程序运行过程来了解JVM原理
今天这篇文章我们具体分析一下java程序运行起来之中所包含的具体细节,通过这些细节带我们窥探JVM实现的原理。一、前端编译使用javac命令将.java程序编译为JVM可解析的.class字节码文件,java作为一种解释型编程语言(当然这么说带有片面性,jvm自带的即时编译器同样可以将字节码直接编译为机器码运行,但是这里我们就不分析即时编译器是如何运行的了),负责将字节码翻译为机器码运行,...原创 2019-11-05 15:09:37 · 308 阅读 · 0 评论 -
java字面量 符号引用 直接引用
字面量java字面量也可以叫做java直接量,简单的解释就是有简单数字,字母组成的字符串(必须是双引号引起的字符串)或者数值,还有引用类型的空指针null,字面量只能以右值出现,“”=“” 左边叫做常量或者变量例:inta;//a变量static intb=10;//b为常量,10为字面量stringstr="helloworld";//str为变量,hellow...原创 2019-11-02 13:48:26 · 612 阅读 · 0 评论 -
java的编译模式:看java是如何将java代码转换为机器码运行的
前端编译:使用前端编译期(javac、eclipse)将.java源代码编译成.class字节码文件,运行时JVM加载.class字节码文件交给解释器解释成相应平台的机器码执行早期的JVM就是以这种方式运行java程序,由解释器一行行的将字节码解释成机器码缺点:对代码运行效率没有任何优化措施一行行解释效率低下JIT编译(即时编译)通过收集“热点代码”使用JVM内置的即时...原创 2019-10-31 17:16:12 · 1996 阅读 · 0 评论 -
javac编译package包问题
接上篇我们讲了javac命令如何搜索类,https://blog.csdn.net/hello__ZC/article/details/102583870但是上篇并没有说到它找到类就一定是那个待编译类中使用的类吗,我们知道类名称是可以重复的,但是类的路径是惟一的类路径=package + className 一个包内是不能存在相同名称的类的,这篇文章我们通过实验看看javac是如何确定是它...原创 2019-10-17 00:04:10 · 781 阅读 · 0 评论 -
彻底理解javac命令-cp参数
一般情况下当我们写的java程序之中不包含除标准类库的其他类那么直接可以直接使用javac javasourcepath(java源文件的全路径)直接编译成功例如有这样一个类在E:\eclipse_workspace_2018\jvm\src\jvm\demo>目录下,可以看到其中没有使用到除标准类库外的其他类那么这时就可以直接使用javacE:\eclipse_worksp...原创 2019-10-16 21:11:26 · 6976 阅读 · 1 评论 -
java内部类详解
https://www.jianshu.com/p/2c52e7b8cc4b原创 2019-08-22 14:26:51 · 99 阅读 · 0 评论