《Java虚拟机规范》将虚拟机的内存分为以下几个区域: 堆区:堆区是JVM中最大的一块内存区域,按照垃圾分代收集的角度划分,又可以分成年轻代和老年代,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配; 方 ...
分类:
其他好文 时间:
2020-06-04 19:26:42
阅读次数:
68
java基础学习 (一)Java基础 1.1Java 语言特点 1.面向对象(封装,继承,多态) 2.平台无关性(Java虚拟机实现平台无关性,一次编译,到处运行) 3.简单易学(Java的面向对象更接近人的语言习惯) 4.安全性,可靠性(java中没有指针,程序员无法直接操作内存,把操作权限交给j ...
分类:
编程语言 时间:
2020-06-04 01:08:34
阅读次数:
87
Java初识 1.Java简介 Java是一门面向对象的程序设计语言1995年有sun公司发布2010年sun公司被Oracle公司收购现在的jdk版本是8.0 2.JVM JVM(Java Virtual Machine),Java虚拟机JVM是Java平台无关性实现的关键 .java(源文件) ...
分类:
编程语言 时间:
2020-06-01 23:53:56
阅读次数:
112
引用学习(狂神说) 谈谈你对 volatile 的理解 Volatile 是 Java 虚拟机提供的轻量级的同步机制 它的3个特性: 1、保证可见性 2、不保证原子性(原子性就是任务要么完整执行,要么都不执行) 3、禁止指令重排 深刻理解volatile的3个特性 1、保证可见性 上面代码中程序不是 ...
分类:
其他好文 时间:
2020-06-01 23:40:03
阅读次数:
70
一.Jvm虚拟机 Java虚拟机——Jvm ·Jvm(Java Virtual Machine):jvm是所有程序运行的假想计算机,是java程序的运行环境,是Jvm最具吸引力的特性之一,我们编写的java代码都运行在jvm虚拟机上 跨平台 ·跨平台:任何软件的运行,都必须运行在操作系统之上,而我们 ...
分类:
编程语言 时间:
2020-06-01 20:55:50
阅读次数:
83
虚拟机类加载机制是把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。?需要注意的是Java语言与其他编译时需要进行连接工作的语言不通,它的连接过程是在程序运行期间完成的,这样会在类加载时稍微增加一些性能开销,但是却能为Java应用程序提供高度的灵活性。例如,如果编写一个使用接口的应用程序,可以等到运行时再指定其实际的实现。通过
分类:
编程语言 时间:
2020-06-01 10:28:39
阅读次数:
57
一、Thread类 1.1 该如何创建线程呢? 通过API中搜索,查到Thread类。通过阅读Thread类中的描述。Thread是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。 1.2 继续阅读,发现创建新执行线程有两种方法。 1)一种方法是将类声明为 Thread 的子类 ...
分类:
编程语言 时间:
2020-05-31 19:48:24
阅读次数:
64
虚拟机类加载机制是把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型。 ? 需要注意的是 Java 语言与其他编译时需要进行连接工作的语言不通,它的连接过程是在程序运行期间完成的,这样会在类加载时稍微增加一些性能开销,但是 ...
分类:
编程语言 时间:
2020-05-31 16:01:26
阅读次数:
53
JVM 深入理解JVM(3)——7种垃圾收集器 Posted by Crow on August 15, 2017 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能 ...
分类:
其他好文 时间:
2020-05-30 22:20:58
阅读次数:
78
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》 的规定,Java虚拟机所管理的内存将会包括以下几个 ...
分类:
其他好文 时间:
2020-05-30 22:09:29
阅读次数:
71