学习笔记:JVM、JRE和JDK的关系】的更多相关文章

Java虚拟机学习笔记——JVM垃圾回收机制 Java垃圾回收基于虚拟机的自动内存管理机制,我们不需要为每一个对象进行释放内存,不容易发生内存泄漏和内存溢出问题. 但是自动内存管理机制不是万能药,我们仍需要了解JVM垃圾回收机制,以便在Java程序运行时发生错误的时候可以快速定位,并解决. 内存模型图 线程共享区: 方法区(Method Area):线程共享,存储被JVM加载的类信息.常量.静态变量.编译器编译后的代码等数据. Java堆(Java Heap):线程共享,用于存储对象实例,是垃圾…
JVM学习笔记 == 标签(空格分隔): jvm 学习笔记全部来自于<深入理解java虚拟机>总结 jvm内存示意图 虚拟机栈(Java Virtual Machine Stacks): 为虚拟机执行java方法(字节码)服务 局部变量表 操作数栈 动态链表 方法出口 虚拟机栈主要储存各种基本数据类型,对象引用等(由局部变量表实现) 每个方法创建时都会创建一个栈帧(Stack Frame) 每个方法从调用到执行完成 <>栈帧的入栈到出栈 异常 如果线程请求的栈深度大于虚拟机所允许的…
在上一节中,我们了解了JVM相关的知识,有兴趣的话可以先去看一下: Java学习 1.1——(JVM介绍)Java为什么能够跨平台? 这个篇主要分享的是JRE,JDK,JVM三者的区别,简言之: JDK包含JRE,JRE包含JVM. 那么为什么要这样包含,或者说这样的包含关系是怎样建立的呢?这就需要知道这三者分别都代表了什么. JVM在之前我们就了解了,是Java虚拟机,为的是跟各个操作系统进行交互,实现Java的跨平台.但是仅仅只靠JVM一个虚拟机是无法运行Java文件的.Java文件在运行时…
1.JVM:java虚拟机 . 作用:保证java语言跨平台. 2.JRE:java运行环境 jre=java虚拟机+核心类库. 作用:java程序的运行环境. 3.JDK :java开发工具集.JDK=jre+java开发工具. 作用:java程序的开发环境. 简言之:使用jdk开发完成的java程序,交给JRE去运行,由JVM来保证跨平台.…
JVM -- java virtual machine A Java virtual machine (JVM) is a process virtual machine that can execute Java bytecode. JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序…
本章学习目标: 了解与设定PATH 了解与指定CLASSPATH 了解与指定SOURCEPATH 使用package与import管理类别 初步认识JDK与IDE的对应关系 一.第一个Java程序 工具:使用Windows自带记事本或下载其他编辑器(推荐NotePad++和Sublime) //第一个HelloWorld!保存为HelloWorld.java public class HelloWorld{ public static void main(String[] args){ Syst…
前几天做一个springboot项目时,导入的JAVA版本是17,然后后面想更贴近下企业中使用的JDK版本就改成了JDK 1,8,然后就编译错误,bug如下 java: java.lang.UnsupportedClassVersionError: org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor has been compiled by a more recent v…
第四章 并行程序优化 1.非阻塞同步避免了基于锁的同步的缺陷,无锁算法没有锁竞争带来的系统开销,也没有线程间频繁调度带来的开销.CAS算法:包含3个参数CAS(v,e,n).V表示要更新的变量,E表示预期值,N表示新值2.JDK的java.util.concurrent.atomic包下,有一组使用无锁算法实现的原子操作类,如AtomicInteger/AtomicIntegerArray/AtomicLongArray等, 分别包装了对整数.整数数组.长整形数组等的多线程安全操作. 如: pu…
1. 条件判断 默认情况下,我们在程序中写的每一句正确代码都会被执行.但很多时候,我们想在某个条件成立的情况下才执行某一段代码 这种情况的话可以使用条件语句来完成,但是我们暂时不学习条件语句,先来看一些更基础的知识:如何判断一个条件成不成立. 2. 真假 在C语言中,条件成立称为“真”,条件不成立称为“假”,因此,判断条件是否成立,就是判断条件的“真假”. 怎么判断真假呢?C语言规定,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”.也就是说,108.-18.4.5.-10.5等都是“…
1. 首先下载Java安装工具包   http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 点击Accept License Agreement,然后根据自己的操作系统进行下载.下载完毕并且安装在C:\Program Files(x86)目录下. 2. win7系统右键计算机打开属性→高级系统设置→点击环境变量 3.配置环境变量 在“系统变量”中,设置3项属性,JAVA_HOME.P…