河南省城市建设网站网络营销外包有限公司

web/2025/9/28 9:35:09/文章来源:
河南省城市建设网站,网络营销外包有限公司,四川省建设厅官方网站首页,关于我们页面模板目录 1.Java程序运行时内存说明 2.JVM内存划分 3.Java中数据类型 4.Java中的String 5.结合HelloWorld分析java程序内存分布 1.Java程序运行时内存说明 编写的.java程序文件需要java编译器javac转成.class文件#xff0c;然后通过jvm#xff08;名为java的可执行程序然后通过jvm名为java的可执行程序来加载.class文件执行。每运行一个java程序就会产生一个javaJVM的实例。一个java进程对应一个JVM实例该进程可能包含一个或者多个线程每个JVM实例都有一个对应的堆每个线程有自己私有的栈。进程创建的所有类的对应本身何数组本身存放在堆上由进程所有的线程共享。Java中堆上为对象分配内存会初始化这个对象中的变量。堆上对象的引用是再栈中分配创建一个对象再堆和栈上都分配内存堆中分配的内存存放对象本身而在栈中分配的内存呢只是存放指向这个堆对象的引用而已。在函数栈帧中new出来一个局部变量时在栈空间和堆空间中分配空间当局部变量生命周期结束后栈空间立刻被回收堆空间区域等待GC回收。 2.JVM内存划分 JVM的内存可分为3个区堆(heap)、栈(stack)和方法区(method也叫静态区) 堆区:  1存储的全部是对象每个对象都包含一个与之对应的class的信息(class的目的是得到操作指令) 2jvm只有一个堆区(heap)且被所有线程共享堆中不存放基本类型和对象引用只存放对象本身和数组本身 栈区:  1每个线程包含一个栈区栈中只保存基础数据类型本身和自定义对象的引用 2每个栈中的数据(原始类型和对象引用)都是私有的其他栈不能访问 3栈分为3个部分基本类型变量区、执行环境上下文、操作指令区(存放操作指令) 方法区静态区:  1被所有的线程共享方法区包含所有的classclass是指类的原始代码要创建一个类的对象首先要把该类的代码加载到方法区中并且初始化和static变量。  2方法区中包含的都是在整个程序中永远唯一的元素如classstatic变量。  堆(heap)和栈(stack)的区别 1栈(stack)与堆(heap)都是Java用来存放数据的地方。与C不同Java自动管理栈和堆程序员不能直接地设置栈或堆。  2栈的优势是存取速度比堆要快仅次于直接位于CPU中的寄存器。但缺点是存在栈中的数据大小与生存期必须是确定的缺乏灵活性。 堆的优势是可以动态地分配内存大小生存期也不必事先告诉编译器Java的垃圾收集器会自动收走这些不再使用的数据。 但缺点是由于要在运行时动态分配内存存取速度较慢。 3.Java中数据类型 1基本类型(primitive types), 共有8类即int, short, long, byte, float, double, boolean, char。 这种类型的定义是通过诸如int a 3; long b 255L;的形式来定义的称为自动变量。自动变量存的是字面值不是类的实例 即不是类的引用这里并没有类的存在。如int a 3; 这里的a是一个指向int类型的引用指向3这个字面值。 这些字面值的数据由于大小可知和生存期可知(这些字面值固定定义在某个程序块里面程序块退出后字段值就消失了)出于追求速度的原因就存在于栈中。  2包装类数据如Integer, String, Double等将相应的基本数据类型包装起来的类。 这些类数据全部存在于堆中Java用new()语句来显示地告诉编译器在运行时才根据需要动态创建因此比较灵活但缺点是要占用更多的时间。  3自定义数据类型 用new()语句创建对象存放在在堆区通过栈区的引用来使用。 4.Java中的String 1栈的共享特性 String str1 abc; String str2 abc; System.out.println(str1str2); //true 说明 1编译器先处理String str1 abc它会在栈中创建一个变量为str1的引用然后查找栈中是否有abc这个值如果没找到就将abc存放进来然后将str1指向abc。 2接着处理String str2 abc;在创建完b的引用变量后因为在栈中已经有abc这个值便将str2直接指向abc。这样就出现了str1与str2同时均指向abc的情况。 所以我们在使用诸如String str abc的格式定义类时总是想当然地认为创建了String类的对象str。其实对象可能并没有被创建在栈上创建而可能只是指向一个先前已经创建的对象。 2堆内存 通过new()方法才能保证每次都创建一个新的对象。其存放在堆上。由于String类的immutable性质当String变量需要经常变换其值时应该考虑使用StringBuffer类 以提高程序效率。 5.结合HelloWorld分析java程序内存分布 HelloWorld.java //import java.lang.Integer;public class HelloWorld { //运行时jvm 把HelloWorld的代码全部都放入方法区 public static void main(String[] args) { //main方法放在方法区System.out.println(Hello World!);Student stu new Student(110, Andy, 18); //stu在栈上引用堆上new出来的对象new Student(110, Andy, 18)在堆上存储stu.printStudent();int[] iArr new int[10]; //iArr在栈上引用堆上new出来的对象new int[10]在堆上存储for (int i 0; i 10; i) {iArr[i] i;}System.out.println(iArr: iArr);int[] iArr1 {12, 34, 45, 60, 45, 82};System.out.println(iArr: iArr1);} }class Student { //运行时jvm 把Student的代码全部都放入方法区 private int id; private String name; private Integer age; public Student(int id, String name, Integer age) { this.id id;this.name name;this.age age; } public void printStudent() { //printStudent方法放在方法区System.out.println(id: id); System.out.println(name: name); System.out.println(age: age); } }编译运行 备注错误 【错误: 编码GBK的不可映射字符】解决办法 报错原因windows下默认的字符集为GBK而当你的java文件当中的汉字不是字符集GBK时javac进行编译的时候就会报错。 解决方法 1javac指定文件编码方式例如 javac -encoding UTF-8 HelloWorld.java 2将文件编码设置成GBK编码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最好的网站代运营公司做360全景的网站

上一节写了elasticsearch单节点安装和配置,现在说集群,简单地说就是在多台服务器上搭建单节点,在配置文件里面增加多个ip地址即可,过程同单节点部署,主要说集群配置 注意:不建议在之前单节点es上修改配置为集群,据说运行之后会生成很多文件,在单点基础上修改容易出现未知问题,…

长春网站设计山东一建建设有限公司官方网站

文章目录 1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符和封装4.1访问限定符4.2封装 5.类的作用域6.类的实例化6.2结构体内存对齐规则 7.this指针7.2this指针的特性 封装(补充) 1.面向过程和面向对象初步认识 C面向对象但不纯面向…

代理分佣后台网站开发在线旅游网站建设前的调研

看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来, 没有把找到的文件单独拿出…

贵州网站建设公司有哪些支持wordpress免费

文章目录 【MySQL】如何使用Unix Sockets 协议连接MySQL数据库连接MySQL的协议使用Unix Sockets 连接MySQL步骤1:确认MySQL服务器已启用Unix Sockets支持步骤2 :客户端使用Unix Sockets连接MySQL服务器。例1:指定socket路径连接列2&#xff1…

个人主页网站设计代码个人网页模板html源代码

转载自 高级Java必看的10本书 1、深入理解Java虚拟机:JVM高级特性与最佳实践 本书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。 2、从Paxos到Zookee…

企业管理咨询服务公司东莞网络营销十年乐云seo

翻了半天vscode的issues中终于找到了https://github.com/microsoft/vscode/issues/157624 解决方案 不能用管理员身份运行vscode,不然就没有检查更新菜单,关闭后重启vscode就有更新菜单了 相关回答 翻译一下,就是vscode分用户类型和系统类型两…

科技公司手机端网站app公司网站模板

一、 C语言编译过程 C语言的编译过程可分为四个阶段: 1、预处理(Preprocessing) 对源程序中的伪指令(即以#开头的指令)和特殊符号进行处理的过程。 伪指令包括:1)宏定义指令; 2&…

怎么创建网站链接网站建设的整体流程有哪些

1 特性 ● 防削顶失真功能(Anti-Clipping Function,ACF) ● AB类/D类切换 ● 优异的全带宽EMI抑制性能 ● 免滤波器数字调制,直接驱动扬声器 ● 输出功率 1.4W (VDD3.6V, RL4Ω, THDN10%, Class D) 2.8W(VDD5.0V,RL4Ω, THDN10%, ClassD) 4.7W(VDD6.5V,RL4Ω, THDN…

黄页营销网站商标logo

一、C类静态成员初始化

网站建设构成微博推广方法有哪些

Kali Linux 2016.2初体验使用总结Kali Linux官方于8月30日发布Kali Linux 2016的第二个版本Kali Linux 2016.2。该版本距离Kali Linux 2016.1版本发布,已经有7个月。在这期间,在Kali Linux 2016.2版本发布的这段时间,Kali Linux官方增补了94个…

网站策划要遵循的原则关键词排名怎么查

图片包给的图片文件是子产品的图片&#xff0c;如下图&#xff1a;A104255是主产品的sku <?php/*** 根据图片包导入产品图片&#xff0c;包含子产品和主产品* 子产品是作为主图&#xff0c;主产品是作为附加图片*/use Magento\Framework\App\Bootstrap;include(../app/boot…

网站建设需注意点wordpress修改默认字体颜色

许久没有打开虚拟机了&#xff0c;今天一开打发现无法ping通网络 使用 ip addr 也获取不到ip信息 重启网络服务提示我 使用 systemctl status network.service 命令查看 出现以下报错 百度各种解决方案无效&#xff0c;才发现我为了加快电脑开机速度&#xff0c;把虚拟机的一些…

简单的电子商务网站主页设计图小程序是什么

一、网络编程概述 什么是计算机网络把不同区域的计算机&#xff08;广义&#xff09;通过通信设备和线路连接&#xff0c;可以实现数据的传输和共享的系统。实现不同计算机之间的练习&#xff0c;必须有介质连接。网络编程是干什么的聊天-->聊天软件 QQjava语言是支持网络间…

中山市企业网站建设个体工商户能做网站吗

一、题目&#xff1a; 在 Spring 项目中&#xff0c;通过 main 方法获取到 Controller 类&#xff0c;调用 Controller 里面通过注入的方式调用Service 类&#xff0c;Service 再通过注入的方式获取到 Repository 类&#xff0c;Repository 类里面有一个方法构建⼀个 User 对象…

网站程序语言那个好wordpress固定链接404 windows

打开GoPro相机(以11为例)&#xff0c;里面是一个DCIM文件夹。 DCIM是digital camera in memory 的简写&#xff0c;即存照片的文件夹&#xff0c;常见于数码相机、手机存储卡中的文件夹名字。 正常手机拍照和视频都是保存在此文件夹的。正常建议不用删&#xff0c;因为只要拍照…

建设网站的效果目的及其功能开展农业信息网站建设工作总结

近日&#xff0c;微软传发布消息&#xff0c;Python被嵌入Excel&#xff0c;从此Excel里可以平民化地进行机器学习了。只要直接在单元格里输入“PY”&#xff0c;回车&#xff0c;调出Python&#xff0c;马上可以轻松实现数据清理、预测分析、可视化等等等等任务&#xff0c;甚…

一般的网站需要多大的空间网络舆情报告

一、前言 在日常开发过程中关于MySQL的优化方面&#xff0c;我们知道小表驱动大表原理。例如left join&#xff0c;放在左边的表作为驱动表。但是用left join的话&#xff0c;左边的表一定是驱动表吗&#xff0c;本文将通过案例分析给出详细分析。 二、概念 在MySQL中&#xf…

青海休闲网站建设公司wordpress 防注册

14天阅读挑战赛如果世界上有奇迹&#xff0c;那一定是努力的另一个名字。 目录 一、小程序布局 1.1 Flex布局 1.2 Flex属性 二、OA会议首页搭建 2.1 首页底部菜单 2.2 创建后端结口 2.3 Mock模拟数据 2.4 首页轮播图搭建 2.5 首页内容搭建 一、小程序布局 1.1 Flex布…

5v贵阳做网站的价格1500元个性定制首选方舟网络临沂建网站多少钱

文章目录 引言I 跨线程共享数据跨线程获取requests请求对象基于org.slf4j.MDC存储共享数据InheritableThreadLocal解决异步线程,无法获取token信息问题II Feign 传递请求属性feign 模块处理被调用方处理请求头III 异步调用的方式CompletableFutureAsync注解Executors引言 本文…