`

线程公有

 
阅读更多

线程公有的区域主要包含Java堆内存,方法区,运行常量池

 

Java堆是被所有线程共享的一块内存区域,在虚拟机启动的时候创建。此内存区域的唯一目的就是存放对象实例。

Java虚拟机规范描述:所有的对象实力以及数组都要在堆上进行分配。

 

方法区与Java堆一样,是各个线程共享的内存区域,它用于储存已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。

 

运行时常量池是方法区的一部分,Class文件除了有类的版本,字段,方法,接口等描述信息外,还有一个就是常量池。

用于存放编译器生成的各种字常量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。

 

参考《深入理解Java虚拟机》

分享到:
评论

相关推荐

    美团和蚂蚁金服面试笔记.pdf

    Java内存模型 线程公有方法区:Java方法区和堆一样,方法区是一块所有线程共享的内存区域,他保存系统的 类信息。比如类的字段、方法、常量池等。方法区的大小决定系统可以保存多少个类。如果 系统定义太多的类,...

    多线程 打印1-99,100-199

    b) ThreadMock类与个公有的方法start,用来启动模拟线程;模拟线程的执行函数体由接口的run方法定义,并由start方法调用。 c) 可以通过以下两种方式创建模拟线程的实例并启动模拟线程 2 . 写一个多线程程序,实现...

    8个案例详解教会你ThreadLocal.docx

    通常情况下,我们创建的成员变量都是线程不安全的。因为他可能被多个线程同时修改,此变量对于多个线程之间彼此并不独立,是共享变量。而使用ThreadLocal创建的变量只能被...也就是说:将线程公有化变成线程私有化。

    JAVA多线程并发下的单例模式应用

    单例模式应该是设计模式中比较简单的一个,也是非常常见的,但是在多线程并发的环境下使用却是不那么简单了,今天给大家分享一个我在开发过程中遇到的单例模式的应用。 首先我们先来看一下单例模式的定义: 一个类有...

    Java并发编程(学习笔记).xmind

    线程安全的对象在其内部实现同步,因此多个接口可以通过公有接口来进行访问 保护对象:被保护的对象只能通过特定的锁来访问 将对象封装到线程安全对象中 由特定锁保护 保护对象的方法 对象的...

    Java虚拟机(第二版)

    Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main()方法的类名。main()方法是程序的起点,他被执行的线程初始化为...

    操作系统 银行服务

    3个公有窗口,7个私有窗口,100个座位

    Android开发与应用——张荣,原书配套课件

    6.2.2 公有数据存储与共享 6.3 数据文件 6.3.1 内存数据文件 6.3.2 SD卡数据文件 6.4 SQLite数据库 6.4.1 SQLite基本操作 6.4.2 SQLiteOpenHelper 6.5 Content Provider 6.5.1 使用Content ...

    Java-JDK、数据库系统开发、Web开发学习笔记

    * public final void wait(long time,int nanos):用于挂起当前的线程,直到其他线程调用此对象的notify()或notifyAll()方法,或指定时间段time已经过去 2. 异常类的层次结构:所有异常类都是java.lang.Throwable的...

    java中JVM的原理

    Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main()方法的类名。Main()方法是程序的起点,他被执行的线程初始化为程序...

    Observer推模式之事件实现

    CLR偷偷地帮我们把一个事件转换为一个私有字段和两个公有方法。一个私有字段是私有委托字段,两个公共方法是对委托字段的增加和移除的线程安全调用。本文重点不在于讨论委托和事件机制,而是通过事件如何方便的实现...

    毕业设计,课程设计-基于python+fastapi框架的运维管理系统

    web框架选择fastapi原因是简洁、自由度高支持协程和多线程,基于python3类型提示和pydanic进行类型校验。 RBAC、中间件完全自行设计,目的就是可维护性。 去除ORM,平台只负责读写,采用原生sql设计,目的是平台和...

    JAVA面试题最全集

    请写一个java程序实现线程连接池功能? 44.给定一个C语言函数,要求实现在java类中进行调用。 45.如何获得数组的长度? 46.访问修饰符“public/private/protected/缺省的修饰符”的使用 47.用关键字final修饰一...

    华为java技术笔试题(2016)含答案

    public 表示公有访问权限,protected 表示保护访问权限,private 表示私有访问权限,abstract 表示抽象类或方法,final 表示最终类或方法,synchronized 表示线程同步,super 表示父类。 二、String、StringBuffer ...

    P2P-IM.zip_im_multiple clients_p2p tcp_p2p聊天

    目的在于设计GUI,多线程和套接字编程。各个客户端用IP地址和TCP/IP监听端口号进行标识。每个客户提供一个名字,方便其它客户端。 此设计由两部分组成。 部分一:p2p聊天中各个成员管理。每个成员称为一个peer,要有一...

    大众点评2016研发工程师笔试题及答案(三).pdf

    在这道题中,ConcurrentHashMap使用锁分段机制保证线程安全,而不是使用synchronized关键字。 本资源涵盖了多种编程语言和技术领域,考查对编程语言、算法、数据结构、Java、C++等方面的理解和使用。

    中移网大揭秘云计算课程考试试题及答案(1).docx

    当一台物理服务具备4socket8core(即4路8核)的cpu资源时,将CPU可以虚拟化成多个vCPU提供到虚拟机使用,在未开启超线程的情况下最多不能分配超过()个vCPU 32 3.以下哪个不是VMkernel可以提供的核心功能 虚拟机发布 4....

    Visual.C#2010从入门到精通

    3.4.3 公有继承 44 3.4.4 私有继承 46 3.4.5 保护继承 47 3.4.6 多重继承 49 3.5 异常处理 51 3.5.1 异常的概念 51 3.5.2 异常处理机制 51 3.5.3 基本异常处理方法 52 3.5.4 多个异常处理方法 54 3.6 小结 56 第4章 ...

    Java虚拟机

    6.5 公有设计和私有实现 6.6 Class文件结构的发展 6.7 本章小结 第7章 虚拟机类加载机制 7.1 概述 7.2 类加载的时机 7.3 类加载的过程 7.3.1 加载 7.3.2 验证 7.3.3 准备 7.3.4 解析 7.3.5 初始化 7.4 ...

Global site tag (gtag.js) - Google Analytics