Java 虚拟机可以看作一台抽象的计算机,如同真实的计算机,它也有自己的指令集和运行时内存区域。 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存(运行时内存区域)划分为若干个不同的数据区域。 如下图所示: 一、程序计数器 Program Counter Register 定义:程序 ...
分类:
编程语言 时间:
2019-08-05 15:55:51
阅读次数:
170
JVM内存管理 JVM将内存划分为5个部分:堆、方法区、PC寄存器(也叫程序计数器)、虚拟机栈、本地方法栈 PC寄存器(程序计数器):用于记录当前线程运行时的位置,每一个线程都有一个独立的程序计数器,线程的阻塞、恢复、挂起等一系列操作都需要程序计数器的参与,因此必须是线程私有的。 java 虚拟机栈 ...
分类:
编程语言 时间:
2019-08-02 14:49:18
阅读次数:
89
redis 底层是c,c++实现的 那java是怎么调用本地方法的呢? JNI 可以通过java调用本地方法 (C,C++实现的),但是是在jvm层才可以使用的 redis的java的客户端:jedis ,Jredis ,ric ,jedisplus , redisclient (首选是 jedis ...
分类:
其他好文 时间:
2019-08-01 22:36:57
阅读次数:
129
程序计数器 记录字节码指令地址,占用空间很小,基本无异常抛出 本地方法栈 native方法区 方法区 所有线程共享,主要存储类的信息,常量池,方法数据,方法代码。 堆内存 JVM所有线程共享,所有对象和数组都在堆上进行分配,这部分内存可通过GC回收,申请不到内存空间会抛出 虚拟机栈 线程私有,随线程 ...
分类:
其他好文 时间:
2019-07-23 14:58:59
阅读次数:
84
1,在网页中运行的 Java 程序称为 applet。 要使用 applet ,需要启用 Java 的 Web 浏览器执行字节码。 2,jdk安装目录下的 src.zip 文件中包含了所有公共类库的源代码。 要想获得更多的源代码 ( 例如 :编译器 、 虚拟机 、 本地方法以及私有辅助类 ),请访问 ...
分类:
编程语言 时间:
2019-07-22 00:10:32
阅读次数:
140
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域, 包含程序计数器、虚拟机栈、本地方法栈、Java堆、方法区(运行时常量池)、直接内存等,不同的版本会有所差异 各区域的作用: 1、程序计数器:较小的内存空间,当前线程执行的字节码的行号指示器;各线程之间独立存储,互 ...
分类:
其他好文 时间:
2019-07-21 01:37:45
阅读次数:
92
JDK1.8源码学习-Object 目录 一、方法简介 1.一个本地方法,主要作用是将本地方法注册到虚拟机中。 2.获取类的字节码对象 3.返回当前对象的hash值 4.比较党当前对象的引用是否和要比较的对象的引用指向同一对象 5.克隆对象,浅拷贝 6.返回当前对象的一个字符串表示形式 7.唤醒一个 ...
分类:
其他好文 时间:
2019-07-16 12:28:59
阅读次数:
80
1.JVM内存区域 Java虚拟机在运行时,内存分为若干区域;Java虚拟机管理的内存区域有:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 ①方法区:主要用于存储虚拟机加载的类信息、常量、静态变量、以及编译后的代码。 ②堆内存:主要用于存放对象和数组,是jvm管理的内存中最大的区域。和方法区都 ...
分类:
其他好文 时间:
2019-07-16 00:04:29
阅读次数:
86
1.虚拟机的构成 虚拟结主要由运行时数据区、执行引擎、类加载器三者构成,我们所说的JVM内存模型指的就是运行时数据区。 2.运行时数据区组成和各个区域的作用 运行时数据区可以分为线程共享和线程不共享两部分,其中堆内存和方法区线程共享,本地方法栈、虚拟机栈、程序计数器线程不共享。 2.1.程序计数器 ...
分类:
其他好文 时间:
2019-07-15 16:04:07
阅读次数:
139
import matplotlib.pyplot as plt import matplotlib.pyplot as plt """ 一些画图代码 """ """ 一些画图代码 """ plt.savefig("filename.png") # 保存图片 注意 在show()之前 不然show会重 ...
分类:
编程语言 时间:
2019-07-08 00:14:35
阅读次数:
788