Mac怎么搭建网站开发环境科技创新导报

diannao/2026/1/24 15:00:12/文章来源:
Mac怎么搭建网站开发环境,科技创新导报,网站到底备案好不好,本地拖拽网站建设一、JVM 1、jvm的内存组成 五大内存区域#xff0c;分1.7和1.8 1.堆内存#xff1a;引用类型的数据#xff0c;内部组成#xff1a;1.新生代#xff08;伊甸区和幸存者区#xff09;2.老年代。该区域经常发生垃圾回收的操作 堆是JVM中最大的一块内存区域#xff0c;用…一、JVM 1、jvm的内存组成 五大内存区域分1.7和1.8 1.堆内存引用类型的数据内部组成1.新生代伊甸区和幸存者区2.老年代。该区域经常发生垃圾回收的操作 堆是JVM中最大的一块内存区域用于存储对象实例和数组。堆被 所有线程 共享用于 动态分配 内存。堆被分为新生代Young Generation和老年代Old Generation两部分新生代又被分为Eden空间和两个Survivor空间。 2.虚拟机栈方法在运行时需要存储一些内容存储到栈 虚拟机栈用于 存储方法的 局部变量、操作数栈、方法调用 和 返回等信息。每个线程在运行时都会有一个对应的 虚拟机栈每个方法在执行时 都会 创建一个 栈帧Stack Frame。 3.本地方法栈本地方法被native修饰的方法方法运行时保存的一些信息 4.程序计数器针对线程的记录每个线程当前的执行的行数 每个线程都有一个独立的程序计数器。 5.元空间1.7叫做方法区存放已被加载的类信息、常量、静态变量等信息. JDK 1.8 同 JDK 1.7 比最大的差别就是元数据区 取代了 永久代。元空间的 本质 和永久代类 似都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的 区别 在于 元数据空间 并 不在 虚拟机 内存 中而是 使用 本地内存。 2、JVM的堆内存 堆内存分为两块1.新生代 2.老年代 新生代内部又分为 伊甸园区 和 幸存者区 伊甸园区幸存者区幸存者区 811 创建新对象默认进入到伊甸区GC在运行时会将存活的对象放在幸存者区如果对象存活超过15次存储到老年代 老年代存活时间长的对象或者大对象 新生代、老年代 所占 比例 2:1 3、jvm内存模型 Java 内存模型下文简称 JMM就是在底层处理器内存模型的基础上定义自己的多线程语义。它明确指定了一组排序规则来保证线程间的可见性。 这一组规则被称为 Happens-Before, JMM 规定要想保证 B 操作能够看到 A 操作的结果无论它们是否在同一个线程那么 A 和 B 之间必须满足 Happens-Before 关系。 单线程规则一个线程中的每个动作都 happens-before 该线程中后续的每个动作 监视器锁定规则监听器的解锁动作 happens-before 后续对这个监听器的锁定动作 volatile 变量规则对 volatile 字段的写入动作 happens-before 后续对这个字段的每个读取动作 线程 start 规则线程 start() 方法的执行 happens-before 一个启动线程内的任意动作 线程 join 规则一个线程内的所有动作 happens-before 任意其他线程在该线程 join() 成功返回之前 传递性如果 A happens-before B, 且 B happens-before C, 那么 A happens-before C Java 提供了几种语言结构包括 volatile, final 和 synchronized, 它们旨在帮助程序员向编译器描述程序的并发要求其中 volatile - 保证可见性和有序性 synchronized - 保证可见性和有序性; 通过管程Monitor保证一组动作的原子性 final - 通过禁止在构造函数初始化和给 final 字段赋值这两个动作的重排序保证可见性如果 this 引用逃逸就不好说可见性了 编译器在遇到这些关键字时会插入相应的内存屏障保证语义的正确性。 有一点需要注意的是synchronized 不保证同步块内的代码禁止重排序因为它通过锁保证同一时刻只有一个线程访问同步块或临界区也就是说同步块的代码只需满足 as-if-serial 语义 - 只要单线程的执行结果不改变可以进行重排序。 所以说Java 内存模型描述的是多线程对共享内存修改后彼此之间的可见性另外还确保正确同步的 Java 代码可以在不同体系结构的处理器上正确运行。 二、什么是STW STW: Stop-The-World: 是在垃圾回收算法执⾏过程当中将JVM内存冻结、应用程序停顿的⼀种状态。 在STW 状态下JAVA的所有线程都是停⽌执⾏的 - GC线程除外 一旦Stop-the-world发生除了GC所需的线程外其他线程都将停止工作中断了的线程直到GC任务结束才继续它们的任务 STW是不可避免的,垃圾回收算法执⾏一定会出现STW,我们要做的只是减少停顿的时间 GC各种算法优化的重点就是 减少STW(暂停) 同时这也是JVM调优的重点 三、垃圾回收的相关算法 1、GC常用算法 标记清除算法 第一步利用可达性去遍历内存把存活对象、需要回收的对象标记出来第二步在遍历一遍把标记过的对象回收掉。缺点效率不高无法清除垃圾碎片 标记整理算法 首先把存活对象和垃圾对象进行标记然后将所有的存活对象向一端进行移动然后直接清除端以外的内存。特点适用于存活对象多垃圾少的情况需要整理的过程无空间碎片产生 标记复制算法 按照容量复制两个大小相等的内存空间当有一个用完以后就把还存活着对象复制到另一个区域中在清除掉用完的区域缺点内存使用率低只有原来的一半空间 分代收集算法 根据内存对象的存活周期不同将内存划分成几块一般为新生代、老年代。 新生代一般采用复制算法老年代一般采用标记整理算法。 2、GC如何判定对象是否回收 引用计数法 使用可达性分析算法来判定GC Roots 3、如何判断一个对象是否存活( 判断一个对象是不是垃圾 ) 判断一个对象是否存活分为两种算法1引用计数法2可达性分析算法 引用计数法 给每一个 对象设置 一个引用计数器当有一个地方 引用该对象 的时候引用计数器就1引用失效时引用计数器就-1当引用计数器为0的时候就说明这个对象没有被引用也就是垃圾对象等待回收 ​ 缺点无法解决 循环引用 的问题当A引用BB也引用A的时候此时AB对象的引用都不为0此时也就无法垃圾回收所以一般主流虚拟机都不采用这个方法 可达性分析法 从一个被称为 GC Roots的对象向下搜索 如果一个对象到GC Roots 没有任何 引用链 相连接时说明此对象不可用在java中可以作为GC Roots的对象有以下几种 虚拟机栈 中引用的对象 方法区 类静态属性 引用的变量 方法区 常量池 引用的对象 本地方法 栈 JNI 引用的对象 但一个对象满足上述条件的时候不会马上被回收还需要进行 两次标记 第一次标记判断当前对象是否有 finalize()方法 并且 该方法 没有被执行过若 不存在 则 标记为垃圾对象等待回收若有的话则进行 第二次标记 第二次标记将当前对象放入 F-Queue队列并生成一个finalize线程去执行该方法虚拟机不保证该方法一定会被执行这是因为如果线程执行缓慢或进入了死锁会导致回收系统的崩溃如果 执行了finalize方法之后仍然没有与GC Roots有直接或者间接的引用则该对象会被回收 4、被引用的对象就一定能存活吗 不一定看 Reference 类型弱引用在 GC 时会被回收软引用在内存不足的时候即 OOM 前会被回收但如果没有在 Reference Chain 中的对象就一定会被回收

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

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

相关文章

网站开发研发工程师岗位职责成都网站推广哪家专业

1. ActionContext ActionContext是被存放在当前线程中的,获取ActionContext也是从ThreadLocal中获取的。所以在执行拦截器、 action和result的过程中,由于他们都是在一个线程中按照顺序执行的,所以可以可以在任意时候在ThreadLocal中获取 Act…

免费企业自助建站信息发布网网络营销的主要内容是什么

💡本篇内容:YOLOv8改进PIoU损失函数:PIoU v2损失增强了专注于中等质量锚盒的能力,v1版本使用非单调聚焦机制更直接、更快的边界框回归损失 💡附改进源代码及教程,用来改进🚀PIoU损失函数 Powerful-IoU损失函数论文地址:https://www.sciencedirect.com/science/art…

淘客网站开发源代码wordpress漂亮手机网站模板

之前的文章记录了oracle客户端和服务端的下载与安装,内容参见: 在Windows中安装Oracle_windows安装oracle 如果不想安装oracle客户端(或者是电脑因为某些原因无法安装oracle客户端),还想能够连接oracle远程服务&#…

健网站怎样建十大ui培训机构

DB-GPT:彻底改变数据库与私有LLM技术的交互 智能SQL生成:后端技术与LLM的完美结合 智能SQL生成:后端技术与LLM的完美结合_llm sql-CSDN博客 GitHub - eosphoros-ai/DB-GPT: AI Native Data App Development framework with AWEL(Agentic Wor…

后台网站下载做高端网站建设公司

学习了解PHP中Memcached扩展的使用 说实话,在目前的开发环境中,使用 Memcache 的项目还真的不多。在 Redis 大行其道的今天,Memcache 的衰退也可以说是大势所趋。不过,可能很多刚开始学习 PHP 的新同学不知道,当年在 L…

皮具网站设计把WordPress搬家

广度优先搜索(BFS)在JavaScript编程中有许多实际应用场景,特别是在解决图、树等数据结构相关问题时非常常见。在JavaScript中,可以使用队列来实现广度优先搜索算法。通过将起始节点加入队列,然后迭代地将节点的邻居节点…

教学网站建设与管理局网站

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

内蒙古网站建设电话网站页面设计与制作实践

网关和路由器是数据通信行业被广泛使用的通信设备,它们都是网络连接的组成部分。那么,4G物联网网关和传统工业路由器有哪些区别呢?接下来飞畅科技的小编就来为大家详细介绍下4G物联网网关和工业路由器的区别,一起来看看吧&#xf…

制作网站是什么专业注册个人工作室流程及费用

今天带大家做川菜系中的 水煮牛肉 这个菜是比较费辣椒的 制作成本相对一般菜来说 会高一些 一块牛肉 泡水划冰 从超时买的干腐竹 切成小片 温水浸泡五分钟 泡软它 然后捞出来 去干水分 牛肉切片 尽量切薄一点 三瓣左右蒜 一块生姜 去皮切末 牛肉中下入 一个鸡蛋 小半勺…

社保减员要怎么做 国税局网站全网搜索引擎

说到vivo X27,相信很多小伙伴都会第一时间想到其帅气的颜值以及强悍的拍照!的确,就颜值来说,vivo X27凭借着升降式摄像头、零界全面屏、不凸出的后置三摄以及孔雀纹理的确称的上是2019年的最美旗舰;而拍照就更不用说了…

广告加工厂临淄关键词网站优化哪家好

c#给定编码中的字符无效Input two strings and check whether they are equal or not using C# program. 输入两个字符串,并使用C#程序检查它们是否相等。 用于字符串比较的C#代码 (C# code for string comparison) Here, we are asking for…

大型网站服务器价格企业邮箱申请

不同的数据文档,会获得不同日期格式,常见的有str(20200101),datetime(20200101),又或者是2020-01-01,,2020-1-1,20-1-1,20-Apr_20th,2020/01/01,20/01/01等等,总之类型很多。因此需要我们对日期格式进行统一化。这里我…

我有域名和云服务器怎么做网站wordpress搬家_后台错乱

在 Uni-app 中,你可以使用本地缓存来存储应用程序的数据。Uni-app 提供了两种本地缓存方式:uni.setStorageSync 和 uni.setStorage。其中,uni.setStorageSync 同步方式存储数据,适合小数据量的存储;而 uni.setStorage …

在国内做推广产品用什么网站好营销型网站开发定制

20240115如何在线识别俄语字幕? 2024/1/15 21:25 百度搜索:俄罗斯语 音频 在线识别 字幕 Bilibili:俄语AI字幕识别 音视频转文字 字幕小工具V1.2 BING:音视频转文字 字幕小工具V1.2 https://www.bilibili.com/video/BV1d34y1F7…

整站seo公司网站开发模板

//声明: midiOutGetNumDevs: UINT; {无参数; 返回 MIDI 输出设备的数目}//举例:

上贵州省建设厅的网站广东网站关键词排名

不得不说,如今比前些年学习资料多很多了。现在的前端公众号也挺多的,这里推荐几个前端大佬运营的公众号,都是聚焦前端垂直领域的优质公众号,关注这些公众号至少可以:1、了解现在前端技术发展情况和未来发展趋势&#x…

用帝国cms做视频网站制作相册音乐相册模板

最近在进行开发过程中,基于都是接口开发,A站接口访问B接口接口来请求数据,而在这个过程中我们使用的是HttpClient这个框架,当然也是微软自己的框架,性能当前没有问题,但如果你直接使用官方的写法&#xff0…

东莞网站制作视频制作软件app手机版免费版

Ubuntu 19.04 已在 2020 年 1 月 23 日到期,这意味着运行 Ubuntu 19.04 的系统将不再会接收到安全和维护更新,因此将使其容易受到攻击。-- Abhishek Prakash(作者)Ubuntu 19.04 发布于 2019 年 4 月 18 日。由于它不是长期支持(LTS)版本,因此…

网站流量到底怎样赚钱的wordpress文章图片自动下载

一、什么是ECDH ECDH(Elliptic Curve Diffie-Hellman)是一种基于椭圆曲线密码学的密钥交换协议,用于在通信双方之间安全地协商共享密钥。ECDH是Diffie-Hellman密钥交换协议的一种变体,它利用椭圆曲线上的离散对数问题&#xff0c…