首页 > 编程语言 >java垃圾回收

java垃圾回收

时间:2022-09-29 19:33:55浏览次数:79  
标签:副本 java 变量 对象 回收 线程 内存 垃圾

  jvm 虚拟机栈,每一个线程运行时都有一个线程栈,每个线程栈保存了线程运行时候变量值信息。

  当线程访问某一个对象的值的时候,首先通过对象的引用栈找到对应的堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值,在修改完后的某个时刻(线程退出之前),自动将线程变量副本的值写到对象在堆中变量。这样堆中的对象的值就产生变化了。

下面一幅图描述这写交互

 

java垃圾回收_堆内存

 

 

Java 关键字 volatile

用volatile关键字修饰的变量,线程在每次使用的时候,都会都变量修改后的最新值。

 


​http://www.ibm.com/developerworks/cn/java/j-jtp06197.html​


作者:panie

标签:副本,java,变量,对象,回收,线程,内存,垃圾
From: https://blog.51cto.com/u_15812342/5723968

相关文章

  • java面试中被问到的问题
     技术面1) Spring 的注解有哪些?2) 你如何理解 spring IOC 技术,如果不使用spring,你有哪些方式来加载 bean?3) spring aop 的原理是什么?它是怎样一个写法?关键配置项是......
  • Javadoc转换chm帮助文档的四种方法总结
     1)将现有的html文件集(比如api)制作成chm文档​​​​​​http://www.blogjava.net/lishunli/archive/2010/01/07/308618.html​​ 我建议使用javadoc2chm,看上去最......
  • java的八大基本数据类型和类型扩展
    学习中老师提到的一道经常考的笔试题java的数据类型分为两大类 (一)基本类型分为数值类型和boolean类型数值类型:byte占一个字节范围:-127-128short占两个字节范......
  • 房屋出租系统(Java)
    1项目需求说明实现基于文本界面的《房屋出租软件》。能够实现对房屋信息的添加、修改和删除(用数组实现),并能够打印房屋明细表。2项目界面-主菜单2.1新增房源2.2......
  • HELLO。javaworld
    JDK:javaDevelopmentKitJava开发者工具JRE:JavaRuntimeEnvironmentJava运行时环境JVM:JavaVirtualMachineJava虚拟机   卸载JDK17章三分安装JDK百度搜......
  • java要学到的关键字和数据类型
    java要学到的关键字在取类名和方法名时不能用这些关键字当名字//例子:在类名处就能写和上面一样的publicclass类名publicclassHelloWorld{  publicstaticvoid......
  • java连接数据库和MP自动生成
    java连接数据库一.操作步骤1.1点击数据库添加1.2选择对应的数据库软件1.3填写相关信息ps......
  • 网络编程-Java输入输出流
    网络编程-Java输入输出流流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的......
  • java bio nio aoi
    一个简单的服务器分别使用BIONIOAOI实现BIO阻塞IO每个链接单独起来你一个线程点击查看代码packageorg.example.bio;importjava.io.BufferedReader;importja......
  • Java Files.walk示例
    转自:https://blog.csdn.net/cyan20115/article/details/106548324Java8中提供了Files.walk API1.列出所有文件。try(Stream<Path>walk=Files.walk(Paths.get("C:......