Java虚拟机
文章平均质量分 81
从"Write Once,Run Anywhere"到"Run Programs Faster Anywhere",见证了java的发展,本质是jvm发展蓬勃野心。作为java人当然愿意看到宇宙虚拟机的最终统治
success112
这个作者很懒,什么都没留下…
展开
-
大小端及其影响
计算机读取从地址低位往高位读,如果是大端序,先读到的就是数据高位,做加法运算,先算高位,此时你还不确定低位是否有进位,所以把32位都加载进来,否则进位进位设计困难。《格列佛游记》两个国家长达36个月战争,一国支持鸡蛋大端开启,另一国支持小端开启,因此战争爆发。计算机多数情况下CPU存储数据是小端序,网络传输、文件存储是大端序。java是大端序,比如jvm内部要把地址值转为无符号整数(例如常量池索引),这样才能判断这个类有没有解析。大端序,符号位刚好是第一个字节,方便知道数据正负和大小。原创 2023-03-29 17:49:51 · 443 阅读 · 0 评论 -
HotSpot笔记(六)——JNI原理
JNI调用前言java代码生成头文件(.h)编写cpp前言JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。标准的java类库没有提供我们应用程序所需要的功能,通常这些功能是平台相关的(只能由其他语言编写);程序的某些部分对速度要求比较苛刻,我们选择用汇编或者c语言来实现并在java语言中调用他们;为了应用的安全性,会将一些复杂的逻辑和算法通过本地代码(C或C+原创 2021-07-30 02:28:11 · 178 阅读 · 0 评论 -
HotSpot笔记(一)——内存管理
整体结构概述jvm结构模型概述虚拟机就是在物理计算机上,以软件形式提供的"虚拟计算"机,为程序运行提供平台。JVM就是一个为java(包括Kotlin、Clojure、JRuby、Groovy)软件运行提供必要环境的平台。java虚拟机由1995年的第一款Classic VM到2018年的Graal VM。当前它不再只是支持基于基于java虚拟机之上的语言,还包括了C,C++,Rust等基于LLVM(构架编译器)的语言。jvm结构模型.class文件通过类加载子系统Class Loader加载到运行原创 2021-06-02 12:15:42 · 252 阅读 · 1 评论