
java虚拟机
文章平均质量分 87
java虚拟机基础知识
Resean0223
有自己的坚持,不断增强技术
展开
-
JVM原理(四):字节码
java源码编译后都会生成字节码,字节码是JVM执行代码的中间形态,到运行时jvm会将字节码文件读取到内存中并翻译为机器可识别执行的机器码。JVM字节码是一种基于栈的指令集架构(Stack-based Instruction Set Architecture)。每个字节码指令都会在JVM上执行一系列的操作,如加载、存储、运算、跳转等。原创 2025-03-11 17:01:39 · 626 阅读 · 0 评论 -
JVM原理(一):JVM基础知识
JVM经历了过去辉煌的28年,但在已经来临的云时代,原有的优势面临着新的挑战,为了适应云时代高性能、高可扩展性、高可靠性和高安全性的要求,JVM也在努力地进行自我革新。总的来说,JVM的发展方向主要包括3个方面。首先是性能优化,通过提高性能和资源利用率来适应云原生时代的需求。其中最主要的技术是AOT编译器和JIT编译器的结合,以及JVM的内存管理和垃圾回收机制的优化。其次是对容器化的支持,通过支持容器化和新的微服务架构以适应云原生时代的需求。原创 2025-03-04 11:27:45 · 1049 阅读 · 0 评论 -
使用 docker-compose 部署java 应用
docker-compose 是一个很好用的容器编排工作,使用docker 直接部署应用的话过程过于繁琐,也不利于维护。本文将介绍怎么使用docker-compose 去部署应用,前期需要先部署docker-compose 可参考centOS7 安装docker-compos这篇博文。原创 2024-12-13 10:35:35 · 419 阅读 · 0 评论 -
容器环境下 jvm问题排查
Docker 容器利用 CGroup 对进程使用的资源进行限制,而在容器中的 JVM 依然会利用宿主机环境的内存大小和 CPU 核数进行缺省设置,这导致了 JVM Heap 的错误计算。) + Heap + JVM进程运行所需内存 + 其他数据,我们所设置的 -Xmx 等参数只是限制了 JVM 堆内存(Heap) 的大小,当 -Xmx 设置的值接近与容器限制的值的时候,堆内存 + 非堆内存的使用总和超出了 CGroup 的限制就会被操作系统 Kill 掉。了解了问题的根源,我们就可以非常简单地解决问题了。原创 2024-11-05 18:34:06 · 812 阅读 · 0 评论 -
jvm内存模型基础知识
在学习jvm相关的知识的时候,总能看到一些专业名词就学科概念,本文整理了一些基础知识,为后面的学习提供基础帮助。原创 2023-09-14 08:53:51 · 109 阅读 · 0 评论 -
JVM原理(三):javac编译器
java是一种跨平台的语言,它的平台无关性让java在计算机上运行时不受平台的约束,可以做到一次编译,到处执行。这也是java能够迅速崛起并长久不衰的一个重要原因。而对于Java的平台无关性的支持,就像对安全性和网络移动性的支持一样,是分布在整个Java体系结构中的。其中扮演者重要的角色的有Java语言规范、Class文件、Java虚拟机(JVM)等。下面通过阅读源码的方式去了解java源码文件编译成class文件的过程。原创 2023-09-03 12:12:14 · 563 阅读 · 0 评论 -
JVM原理(二):编译原理
Java作为一种跨平台的编程语言,其源代码需要经过编译器编译成字节码文件(即Class文件),然后由Java虚拟机(JVM)解释执行。这种机制使得Java程序具有良好的可移植性和高效性。因此,了解Java源代码编译器的工作原理以及Class文件的生成过程对于Java程序员来说具有重要意义,而源代码编译成字节码文件的这个过程正是由javac来完成的,本节我们就来了解一下它的工作原理及编译过程。原创 2023-06-13 08:54:44 · 119 阅读 · 0 评论