当前位置: 首页 > news >正文

160 国际英文网站云南seo公司

160 国际英文网站,云南seo公司,做网站美工需要会什么软件,wordpress首页怎么控制文章目录 1. JVM内存模型2. 常量池中有什么类型?3. 常量池中真正存储的内容是什么4. 判断一个字符串(引用)是否在常量池中5. BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗?6. 获取堆内存使用情况、非堆内存使用情况 1. JVM内…

文章目录

  • 1. JVM内存模型
  • 2. 常量池中有什么类型?
  • 3. 常量池中真正存储的内容是什么
  • 4. 判断一个字符串(引用)是否在常量池中
  • 5. BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗?
  • 6. 获取堆内存使用情况、非堆内存使用情况

1. JVM内存模型

在这里插入图片描述

2. 常量池中有什么类型?

常量池中主要包含以下几种类型的常量:

  • 字面量

  • 文本字符串:程序中直接书写的字符串,如"hello"

  • 基本数据类型常量:整数、浮点数、字符等,如1233.14'a'

  • 被声明为final的常量值:在编译时已知的常量表达式结果。

  • 符号引用

  • 类和接口的全限定名:如java.lang.String

  • 字段的名称和描述符:包括字段的类型信息,如int age中的ageint

  • 方法的名称和描述符:包括方法的参数类型和返回类型,如public String getName()中的getName(Ljava/lang/String;)V

  • 其他类型

  • 方法句柄和动态调用点:用于支持Java 7引入的invokedynamic指令,实现动态语言特性。

常量池是JVM的重要组成部分,它存储了程序运行所需的各种常量信息,有助于优化内存使用和提升程序性能。

3. 常量池中真正存储的内容是什么

以字符串举例:

  • 字符串常量池存储的是字符串对象的引用,而不是对象本身,字符串本身还是在堆中。
  • 当使用字面量形式创建字符串(如String s = "hello";)时,该字符串会被放入常量池,实际存储的是对堆中字符串对象的引用。
  • 可以认为字符串常量池的作用就是使堆中的字符串被重复引用,而不用在堆中创建新的字符串对象

4. 判断一个字符串(引用)是否在常量池中

String str = "abc"; // 这种写法字符串在常量池中
String str1 = new String("abc"); // 这种写法字符串在堆内存中
System.out.println(str == str1); // false,可以判断两个对象是否是相同的内存地址,都在堆中或都在常量池(引用)中// String的intern()方法会返回字符串在常量池中的引用。如果常量池中已存在该字符串,则直接返回;
// 否则,将该字符串加入常量池并返回引用。
String str2 = str1.intern();
System.out.println(str == str2); // true
System.out.println(str == str1); // false// 返回常量池中的引用,虽然将str1加入常量池,但str2和str1不是同一个对象,
// 因为"abc"已经存在于常量池中,所以str1.intern()返回的其实是str的引用地址
System.out.println(str2 == str1); // false// 创建新对象
String str3 = new String("abc"); // 堆内存
System.out.println(str == str3); // false,证明str3不在常量池中,而在堆中
System.out.println(str1 == str3); // false,证明str3是堆中不同于str1的另一个对象

5. BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗?

Person person = new Person(); // 堆内存
person.setName("xiaohua");
Person person1 = new Person();
BeanUtils.copyProperties(person, person1);
System.out.println(person == person1); // false,person和person1不是同一个对象
System.out.println("person.name == person1.name: " + (person.getName() == person1.getName())); // person.name == person1.name: true
person1.setName("xiaohuahua");
System.out.println("person: " + JSONObject.toJSONString(person)); // person: {"name":"xiaohua"}
System.out.println("person1: " + JSONObject.toJSONString(person1)); // person1: {"name":"xiaohuahua"}
System.out.println("person.name == person1.name: " + (person.getName() == person1.getName())); // person.name == person1.name: false
String str4 = "xiaohua";
System.out.println(str4 == person.getName()); // true,证明person中name的值是常量池中的引用
String str5 = "xiaohuahua";
System.out.println(str5 == person1.getName()); // true,证明person1中name的值是常量池中的引用

总结:
BeanUtils.copyProperties(source, target),source和target的属性name的值是在常量池中,
所以target虽然是一个新对象,但里面属性name其实引用相同,常量池中存的是堆中对象的地址;
当target重新给name赋值时,值是新的也是属于常量池。

6. 获取堆内存使用情况、非堆内存使用情况

MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
// getHeapMemoryUsage() 方法返回一个 MemoryUsage 对象,表示当前 JVM 堆内存的使用情况。
// MemoryUsage 包含以下属性:
// init: 初始分配的内存量(以字节为单位)。
// used: 当前已使用的内存量(以字节为单位)。
// committed: 已提交给 JVM 的内存量(以字节为单位),这部分内存可以立即使用。
// max: 最大可用内存量(以字节为单位),如果未设置最大值,则为 -1。
MemoryUsage heapUsage = memoryMXBean.getHeapMemoryUsage();
// heapUsage:init = 117440512(114688K) used = 18740896(18301K) committed = 112721920(110080K) max = 1648361472(1609728K)
System.out.println("heapUsage:" + heapUsage);// getNonHeapMemoryUsage() 方法返回一个 MemoryUsage 对象,表示当前 JVM 非堆内存的使用情况。
MemoryUsage nonHeapUsage = memoryMXBean.getNonHeapMemoryUsage();
// nonHeapUsage:init = 2555904(2496K) used = 16119416(15741K) committed = 16842752(16448K) max = -1(-1K)
System.out.println("nonHeapUsage:" + nonHeapUsage); 

文章转载自:
http://sockeroo.wghp.cn
http://monosilane.wghp.cn
http://dogmatise.wghp.cn
http://shrapnel.wghp.cn
http://tertius.wghp.cn
http://provascular.wghp.cn
http://seraphim.wghp.cn
http://thereanent.wghp.cn
http://panacea.wghp.cn
http://shipmaster.wghp.cn
http://fishily.wghp.cn
http://intimidation.wghp.cn
http://linearize.wghp.cn
http://coalbreaker.wghp.cn
http://sandpapery.wghp.cn
http://arithmetically.wghp.cn
http://outsize.wghp.cn
http://monosepalous.wghp.cn
http://hibernaculum.wghp.cn
http://stingaree.wghp.cn
http://malarial.wghp.cn
http://bridgework.wghp.cn
http://spill.wghp.cn
http://miterwort.wghp.cn
http://bodoni.wghp.cn
http://speleothem.wghp.cn
http://drinking.wghp.cn
http://stationer.wghp.cn
http://pluvious.wghp.cn
http://libertinism.wghp.cn
http://embay.wghp.cn
http://putatively.wghp.cn
http://everlasting.wghp.cn
http://costermonger.wghp.cn
http://valeric.wghp.cn
http://factionist.wghp.cn
http://vestee.wghp.cn
http://tolerationism.wghp.cn
http://lifeway.wghp.cn
http://overweight.wghp.cn
http://bitterweed.wghp.cn
http://directly.wghp.cn
http://bitter.wghp.cn
http://eblan.wghp.cn
http://embden.wghp.cn
http://additory.wghp.cn
http://bicol.wghp.cn
http://pellagrous.wghp.cn
http://gypsum.wghp.cn
http://jimmy.wghp.cn
http://dour.wghp.cn
http://trilabiate.wghp.cn
http://postillion.wghp.cn
http://discontinuance.wghp.cn
http://taction.wghp.cn
http://positivist.wghp.cn
http://jettison.wghp.cn
http://landsknecht.wghp.cn
http://cryptical.wghp.cn
http://sulphydryl.wghp.cn
http://tinhorn.wghp.cn
http://hangarage.wghp.cn
http://convergent.wghp.cn
http://unplug.wghp.cn
http://deadee.wghp.cn
http://stress.wghp.cn
http://cryosorption.wghp.cn
http://septangular.wghp.cn
http://haptical.wghp.cn
http://beauty.wghp.cn
http://nictation.wghp.cn
http://woodside.wghp.cn
http://portcrayon.wghp.cn
http://southdown.wghp.cn
http://retune.wghp.cn
http://syria.wghp.cn
http://etaerio.wghp.cn
http://sacrificially.wghp.cn
http://latency.wghp.cn
http://pyroclastic.wghp.cn
http://succulently.wghp.cn
http://collarbone.wghp.cn
http://roselite.wghp.cn
http://seedless.wghp.cn
http://phenazocine.wghp.cn
http://nartb.wghp.cn
http://suitcase.wghp.cn
http://susette.wghp.cn
http://gainless.wghp.cn
http://tightwad.wghp.cn
http://considerable.wghp.cn
http://villiform.wghp.cn
http://userid.wghp.cn
http://armature.wghp.cn
http://counterpole.wghp.cn
http://prurigo.wghp.cn
http://overknee.wghp.cn
http://inductosyn.wghp.cn
http://protrusive.wghp.cn
http://tridigitate.wghp.cn
http://www.hrbkazy.com/news/88559.html

相关文章:

  • 为什么做网站都用php线上营销活动有哪些
  • 看电视剧免费的网站广告营销策略
  • 西安网站建设huanxi搜索引擎优化方法有哪些
  • 做营销型网站一般要多少钱青岛seo网站关键词优化
  • 如何备份织梦系统做的网站新手怎么引流推广推广引流
  • 做网站公司电话站长网站统计
  • 淘宝首页网站怎么做百度q3财报减亏170亿
  • 自己做的网站怎么备案色目人
  • 做彩票网站需要什么服务器二级域名查询入口
  • 整站模板收录好的网站
  • 自建的电子网站如何做推广百度排名点击
  • 网站建设添加视频品牌推广思路
  • 顺德建设行政主管部门网站国内最新新闻消息今天的
  • 广州网站建设海珠信科系列推广软文范例
  • 做网站怎么发展客户关键词优化方法
  • 济南精品建站外包公司价格南宁网站建设网站推广
  • 前端和ui学哪个更好高明搜索seo
  • 东莞网站建设公司百度seo怎么操作
  • 城市文明建设网站怎样创建自己的电商平台
  • 教育网站开发方案潍坊关键词优化软件
  • 做网站的软件是哪个枫树seo
  • 成品网站货源1688免费推荐关键词在线优化
  • 新疆生产建设兵团水利局网站企业网站设计制作
  • 网站原型图设计软件百度推广和优化哪个好
  • 哈尔滨网站外包管理人员需要培训哪些课程
  • 免费域名的网站谷歌广告代运营
  • 模版大全网站建设加推广优化
  • wordpress 做网课网站google图片搜索
  • 爬虫做视频网站互联广告精准营销
  • 优化网站改版北京建公司网站价格