程序计数器(线程私有)

程序计数器(Program Counter Register),也有称作为 PC 寄存器。保存的是程序当 前执行的指令的地址(也可以说保存下一条指令的所在存储单元的地址),当 CPU 需要执 行指令时,需要从程序计数器中得到当前需要执行的指令所在存储单元的地址,然后根据得 到的地址获取到指令,在得到指令之后,程序计数器便自动加 1 或者根据转移指针得到下 一条指令的地址,如此循环,直至执行完所有的指令。也就是说是用来指示执行哪条指令的。

java栈

Java 栈中存放的是一个个的栈帧,每个栈帧对应一个被调用的方法,在栈帧中包括局 部变量表、操作数栈、指向当前方法所属的类的运行时常量池的引用、方法返回地址、额 外的附加信息。当线程执行一个方法时,就会随之创建一个对应的栈帧,并将建立的栈帧压 栈。当方法执行完毕之后,便会将栈帧出栈。因此可知,线程当前执行的方法所对应的栈帧 必定位于 Java 栈的顶部。

本地方法栈

本地方法栈与 Java 栈的作用和原理非常相似。区别只不过是 Java 栈是为执行 Java 方法服务的,而本地方法栈则是为执行本地方法(Native Method)服务的。在 JVM 规 范中,并没有对本地方发展的具体实现方法以及数据结构作强制规定,虚拟机可以自由实现 它。在 HotSopt 虚拟机中直接就把本地方法栈和 Java 栈合二为一。



Java 中的堆是用来存储对象本身的以及数组(当然,数组引用是存放在 Java 栈中的), 堆是被所有线程共享的,在 JVM 中只有一个堆。所有对象实例以及数组都要在堆上分配内 存,单随着 JIT 发展,栈上分配,标量替换优化技术,在堆上分配变得不那么到绝对,只能 在 server 模式下才能启用逃逸分析。

方法区

方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变 量、常量以及编译器编译后的代码等。 在 Class 文件中除了类的字段、方法、接口等描述信息外,还有一项信息是常量池, 用来存储编译期间生成的字面量和符号引用。

直接内存

NIO,使用 native 函数库直接分配堆外内存,不经过 JVM 内存直接访问系统物理内存的类 ——DirectBuffer。 DirectBuffer 类继承自 ByteBuffer,但和普通的 ByteBuffer 不同, 普通的 ByteBuffer 仍在 JVM 堆上分配内存,其最大内存受到最大堆内存的限制;而 DirectBuffer 直接分配在物理内存中,并不占用堆空间,其可申请的最大内存受操作系统 限制

测试AAA的更多相关文章

  1. C++面试中关于sizeof问题总结

    原文:http://blog.sina.com.cn/s/blog_7c983ca60100yfdv.html#SinaEditor_Temp_FontName (1)      sizeof是操作符 ...

  2. C#实现在应用程序间发送消息的方法示例

    本文实例讲述了C#实现在应用程序间发送消息的方法.分享给大家供大家参考,具体如下: 首先建立两个C#应用程序项目. 第一个项目包含一个Windows Form(Form1),在Form1上有一个But ...

  3. mysql 存储过程学习(总)

    #一.存储过程和存储函数的创建案例 CREATE PROCEDURE myprocedure(in a int,in b int ,OUT c INT) BEGIN set c=a+b; end; c ...

  4. MySQL 存储过程 -光标的使用

    #四.光标的使用 #声明光标 语法:DECLARE 光标名字 CURSOR FOR sql语句 #打开光标 OPEN 光标名称 #使用光标 FETCH 光标名称 into ... #关闭光标 CLOS ...

  5. nginx虚拟目录实现两个后台使用

    购买了阿里云机器,准备搭建一套备份的后台,由于资源有限所以将两个后台搭建到一组SLB下的两台WEB上. 使用软件:NGINX+PHP root@xx conf.d]# yum install php- ...

  6. DNS 主从同步配置

    DNS 主从同步配置 主从同步:主每次修改配置文件需要修改一下序列号,主从同步主要 看序列号. 从DNS:从是可以单独修改,主从不会报错.但从修改后,主端同步给从后 从端修改数据会丢失 主从原理:从会 ...

  7. nginx之旅(第一篇):nginx下载安装、nginx启动与关闭、nginx配置文件详解、nginx默认网站

    一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http: ...

  8. pikachu漏洞练习之sql注入

    这里因为实验的时候只记录了一部分所以就展示一部分 1.1.1数字型注入 (1)看到界面发现是查询id功能,没有在url里看到有传参所以应该是post方法提交数据. (2)进行sql注入之前我们最好是先 ...

  9. Linux为STDOUT的关键字设置颜色

    echo "颜色测试aaa实测" | perl -pe 's/(aaa|实|测)/\e[1;31m$1\e[0m/g'

随机推荐

  1. Codeforces Round #668 (Div. 2)A-C题解

    A. Permutation Forgery 题目:http://codeforces.com/contest/1405/problem/A 题解:这道题初看有点吓人,一开始居然想到要用全排序,没错我 ...

  2. Oracle12C安装配置文档

    Oracle12C安装配置文档   Oracle12C安装配置文档 准备软件: 开始安装: 打开从官网下载下来的两个压缩包,进行解压 打开解压好的后缀为2of2的文件夹找到路径为database下的“ ...

  3. 对Jenkinsfile语法说不,开源项目Jenkins Json Build挺你

    对Jenkinsfile语法说不,开源项目Jenkins Json Build挺你 项目背景 我所在的组织项目数量众多,使用的语言和框架也很多,比如Java.ReactNative.C# .NET.A ...

  4. basicInterpreter1.01 支持分支语句

    源码:https://files.cnblogs.com/files/heyang78/basicInterpreter-20200531-1.rar 输入: count= print(count) ...

  5. 交换机&&路由器

    交换机 交换机就是一种信号转发设备,它帮助两个网络节点进行信号的传输 路由器 路由器路由器,要了解什么是路由器,首先我们要先明白何为'路由'? 路由:是指把数据从一个地方传送到另一个地方的行为和动作 ...

  6. webstorm单标签设置成双标签展开解决iview中col展开问题

    大家好!我是木瓜太香,今天给大家带来一个 webstorm 小技巧 场景:有使用过 vue 框架并且使用 iview 做 ui webstorm 做 ide 的同学,可能会遇到一个比较奇怪的问题,iv ...

  7. pytest132个命令行参数用法

    在Shell执行pytest -h可以看到pytest的命令行参数有这10大类,共132个 序号 类别 中文名 包含命令行参数数量 1 positional arguments 形参 1 2 gene ...

  8. Linux:apache安装

    1.查询是否已安装 rpm -qa httpd 如果已安装,先卸载 发现有依赖包,先把依赖卸载 或者加上--nodeps参数,不考虑依赖,直接卸载   rpm -e --nodeps httpd-2. ...

  9. python:列表生成式和三元表达式、匿名函数

    一.列表生成式 1.列表生成式就是python内置的一种用来生成list的生成式. 比如下面这个例子: l=[] for i in range(10) list.append(i) 生成一个列表要用循 ...

  10. JS基础回顾_Dom

    方法 reverse 将子元素位置颠倒 <!-- log --> <ul id="reverse"> <li>1</li> < ...