java并发编程实战wwj----------第二阶段-------------classloader----------------43-44-45

标签: 并发

代码:

内存溢出。

内存泄漏:虚拟机已经回收了但是堆内存还是一直在涨。

加载的过程:

结束一个jvm生命周期的方式。

准备:为静态变量分配内存。

解析:类的成员变量

obj是符号引用,变为直接引用。

//访问某个类或者接口的静态变量,或者对该静态变量进行赋值操作
//1.对某个类的静态变来那个进行读写 ->class
//2.对接口中静态变量进行读取      ->interface

静态代码块在什么时候调用:https://www.cnblogs.com/jpfss/p/9789953.htmlhttps://blog.csdn.net/sinat_34089391/article/details/80439852

几个重要的测试:



        (1)通过子类访问父类的static变量,不会导致子类的初始化.初始化子类一定初始化父类
        System.out.println(Child.salary);

        (2)定义引用数组,不会初始化类
        Obj[] arrays = new Obj[10];


        (3)final修饰的常量会在编译期间放到常量池中,不会初始化类
        System.out.println(Obj.salary);
        (4)final修饰的复杂类型,在编译期间无法计算得出,会初始化类
       System.out.println(Obj.x);

----------------------------------------------------------------42-----------------------------------------------------------------------------------------------------

代码:

   

这两个代码换地方结果是不同的。

-----------------------------------------------------------------43----------------------------------------------------------------------------------------------------

类的加载:

方法区方class的信息。

JVM:

方法区:运行的常量池  静态变量  class的基本信息  字段 是堆的逻辑单元

运行常量池:方法区的一部分

堆:数据

程序计数器:

虚拟机栈:栈帧

本地方法栈:C++的东西

二级寻址

一级寻址

----------------------------------------------------------------44-----------------------------------------------------------------------------------------------------

版权声明:本文为qq_28764557原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_28764557/article/details/103982974

智能推荐

MyBatis中ResultMap结果集映射

用于解决属性名和字段名不一致的情况: resultMap 元素是 MyBatis 中最重要最强大的元素。...

编写一个shell

编写shell的过程: 1.从标准输入中读入一个字符串。 2.解析字符串 3.创建一个子进程的执行程序。 4.子进程程序替换。 5.父进程等待子进程退出。...

WEB自动化测试中Xpath定位方法

前言: Xpath是在XML文档中查找信息的一种语言,使用路径表达式来选取XML文档中的节点或节点集,由于XML与HTML结构类似(前者用于传输数据,后者用于显示数据),所以Xpath也常用于查找HTML文档中的节点或节点集。 一  路径表达式: 路径以“/”开始     表示找到满足该绝对路径的元素; 路径以//”开始  ...

力扣困难难度 第4题 寻找两个正序数组的中位数

先看一眼题 我的思路: 设置下标i,j分别用于遍历两个数组,初始值均为0,直到找到两个数组中从小到大的第第length/2个数为止结束循环,length为两个数组长度之和。 ·每次比较nums[i]nums[j],如果前者小则i++,否则j++ ·循环结束时,如果count已经达到length/2,则说明已经找到了中位数,[注意:此时有可能正好其中一个数组遍历完了!所以...

[国家集训队]小Z的袜子(莫队)

[国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这NN只袜子从1到NN编号,然后从编号LL到RR(LL 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同...

猜你喜欢

服务器配置(五) 服务器使用tomcat配置https全过程

一.了解服务器配置https协议 HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 配置HTTPS就需要证书,证书通过权威的CA机构付费获得的证书才能被互联网承认,我们将其放在服务器上面,配置好后,就可以进行https通信了。 通过https访问的网站,在地址前可以看到安全两个字,点击可以查...

SQL语言——基本概念、操作数据库、表、表记录、数据库备份与恢复、外键约束

SQL语言 1.基本概念 1.1 SQL SQL–Structured Query Language, 结构化查询语言,是关系型数据库通用的操作语言。 是一种非过程性语言。 由美国国家标准局(ANSI)与国际标准化组织(ISO)制定SQL标准。各大数据库厂商都对其做了实现。所以我们只要学会了SQL语言,就可以操作各大关系型数据库了。 为加强SQL的语言能力,各厂商增强了过程性语言的特征...

.net core3.1 dapper使用(Oracle链接字符串)

历经的艰辛就不多说了(.net 新手 不喜勿喷 欢迎指点) 废话不多说了,直接上正题: 1.首先建一个类来管理数据库连接 public class DbFactory : IDbFactory { readonly IOptions _options; public DbFactory(IOptions options) { _options = options; } public DbConne...

可自定义图片指示器并支持自定义Tab宽度的TabLayout

[置顶] 可自定义图片指示器并支持自定义Tab宽度的TabLayout 标签: 今日头条tablayout自定义tab宽度 2017-11-01 14:42 625人阅读 评论(3) 收藏 举报 分类: Android学习之路(21) 作者同类文章X 版权声明:转载请标明:http://blog.csdn.net/qq_27258799 目录(?)[+] 自定义图片指示器 自定义Tab宽度 方案1...

4.5、进程相关

进程:程序执行时,所需要的资源的集合总称 程序的一次执行过程 程序:一些指令的集合,存在在磁盘空间中,是静态的 进程:动态的执行过程(创建、调度、执行、消亡),指令的执行过程 程序包含: 1、用户数据段 2、正文段 进程包含的内容: 1、用户数据段:存放的是全局变量、常数以及动态数据分配的数据空间 2、正文段:存放的是程序中的代码 3、系统数据段 系统数据段包含: 1、进程控制块 2、cpu中pc...