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

黑马JVM总结(二)

(1)栈

栈帧对应一次方法的调用,线程是要执行代码的,这些代码都是由一个个方法组成,线程运行的时候每个方法需要的内存叫做一个栈帧 

(2)栈的演示

Frames:相当有栈   方法相当于栈帧,Variables:方法的参数

活动栈帧在我们栈的顶部正在执行的栈帧叫做活动栈帧

method2栈帧执行完释放掉出栈

 method1:执行完出栈

 主方法再执行,执行结束

(3) 栈的问题辨析

 

 1.栈帧内存在每一次方法结束后都会弹出栈,会自动的被回收掉,不需要垃圾回收管理栈内存

2.栈划分的越大,反而会使线程数变少,划分大了只是能够进行更多次的方法递归调用,并不是划分越大越好,增强运行的效率

3.需要看多个线程对这个变量时共享的或者这个变量对你每个线程是私有的

比如说多个线程调用这个方法,会不会造成 x值的混乱呢?不会的因为x变量是方法内的局部变量,一个线程对应一个栈,线程内每一次方法的调用都会产生一个新的栈帧 ,他们是互不干扰的

如果变量时static的:如果不加线程安全 保护的话,就会产生线程安全问题

如果是共享的需要考虑线程安全问题,你是每个线程私有的就不用考虑线程安全问题

 

(4)栈问题辨析-线程安全

m1方法不会产生线程安全问题,因为sb是线程内的一个局部变量,是属于每个线程私有的,是线程安全的

m2:不是线程安全的,因为作为方法的参数,意味着可能有其他的线程可能访问到它,他就不是线程私有的啦对多个线程是一个共享的

m3:也不是线程安全的,因为他把结果对象返回啦,其他线程可能拿到这个参数进行修改

main方法中把它作为参数进行修改,其他线程也进行修改,它就是线程共享的啦,多个线程共享一个对象,需要使用StringBuffer

相关文章:

黑马JVM总结(二)

(1)栈 栈帧对应一次方法的调用,线程是要执行代码的,这些代码都是由一个个方法组成,线程运行的时候每个方法需要的内存叫做一个栈帧 (2)栈的演示 Frames:相当有栈 方法相当于栈帧…...

《Effective C++中文版,第三版》读书笔记7

条款41: 了解隐式接口和编译期多态 隐式接口: ​ 仅仅由一组有效表达式构成,表达式自身可能看起来很复杂,但它们要求的约束条件一般而言相当直接而明确。 显式接口: ​ 通常由函数的签名式(也就是函数名…...

脚本:python实现动态爱心

文章目录 效果代码Reference python实现dynamic heart 效果 代码 import turtle as tu import random as ratu.setup(0.5, 0.5) # 设置画板大小(小数表示比例,整数表示大小) tu.screensize(1.0, 1.0) # 设置屏幕大小 tu.bgcolor(black) #…...

【李宏毅】深度学习6:机器学习任务攻略

如果在测试集上的效果不佳,应该要做什么?Optimization 如何选择?解决 overfitting 的方法? 测试集上的效果不佳 看训练数据的loss,是不是模型本身就没训练好? 问题:model 太简单了&#xff0c…...

如何使用SQL SERVER的OpenQuery

如何使用SQL SERVER的OpenQuery 一、OpenQuery使用说明二、 OpenQuery语法2.1 参数说明2.2注解 三、示例3.1 执行 SELECT 传递查询3.2 执行 UPDATE 传递查询3.3 执行 INSERT传递查询3.4 执行 DELETE 传递查询 一、OpenQuery使用说明 在指定的链接服务器上执行指定的传递查询。 …...

element-tree树结构-默认选中第一个节点高亮-根据id选中节点高亮

前言 tree树结构是在开发中经常使用的组件,比如区域树,楼层树,组织架构树,等等包含节点关系 实际开发可能需要我们一进到页面选中树形结构第一个节点,并且调用数据,来达到用户体验 在用户选择之后&#x…...

Python实操 PDF自动识别并提取Excel文件

最近几天,paddleOCR开发了新的功能,通过将图片中的表格提取出来,效果还不错,今天,作者按照步骤测试了一波。 首先,讲下这个工具是干什么用的:它的功能主要是针对一张完整的PDF图片,可…...

JVM监控和调优常用命令jps|jstat|jinfo|jmap|jhat|jstack实战

1.JVM监控和调优的主要目的 性能优化:通过JVM调优,可以提高Java应用程序的性能,减少响应时间,提高吞吐量,以更好地满足用户需求。性能优化可以加快应用程序的执行速度,减少延迟,提高用户体验。 内存管理:JVM负责管理Java应用程序的内存。正确的内存管理可以避免内存泄漏…...

chatglm2-6b在P40上做LORA微调 | 京东云技术团队

背景: 目前,大模型的技术应用已经遍地开花。最快的应用方式无非是利用自有垂直领域的数据进行模型微调。chatglm2-6b在国内开源的大模型上,效果比较突出。本文章分享的内容是用chatglm2-6b模型在集团EA的P40机器上进行垂直领域的LORA微调。 …...

WebGL 同时使用多幅纹理

目录 前言 ​编辑 示例代码 颜色矢量的分量乘法来计算两个纹素最终的片元颜色 注册事件响应函数:loadTexture(),最后一个参数是纹理单元编号。 请求浏览器加载图像: 配置纹理:loadTexture&#xff0…...

探索云计算和大数据分析的崛起:API行业的机遇与挑战【电商大数据与电商API接入】

I. 引言 随着云计算和大数据分析技术的快速发展,企业和个人对数据分析和处理的需求不断增加。在这个信息爆炸的时代,数据已成为企业决策和战略规划的重要基础。云计算提供了强大的计算和存储能力,使得大规模数据的处理和分析变得更加容易和高…...

android studio通过wifi、无线连接设备

AndroidStudio无线wifi调试设备_android studio wifi_zwylovemzj的博客-CSDN博客 使用​​adbWireless​​工具,其能够让手机用无线来取代USB连接而使用ADB工具 1. 手机需要与电脑在同一局域网内 2. 把adbWireless安装到手机上,并开启,上面…...

kafka 3.5 主题分区ISR伸缩源码

ISR(In-sync Replicas):保持同步的副本 OSR(Outof-sync Replicas):不同步的副本。最开始所有的副本都在ISR中,在kafka工作的过程中,如果某个副本同步速度慢于replica.lag.time.max.ms指定的阈值,则被踢出ISR存入OSR&am…...

1-centOS7搭建伪分布式

前言:虚拟机快照的使用 VMware Workstation 软件可以用快照进行迅速的虚拟机状态的切换 ※. 类似于虚拟机备份, 可以使用备份进行快速恢复。 比如没安装jdk之前拍摄快照来备份 ※. 若jdk没安装好或者jdk环境变量配置的有问题, 可以用安装之…...

对开源自动化测试平台MeterSphere的使用感触

1:该平台可以通过接口,参数,配置的维护,然后继续接口自动化“一键测试”,功能还是挺强大的,具体的使用需要研究 MeterSphere的官网:MeterSphere - 专业测试云 2:一键测试在生产环境…...

Spring boot 第一个程序

新建工程 选择spring-boot版本 右键创建类TestController: 代码如下: package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springf…...

【SpringMVC】实现增删改查(附源码)

目录 引言 一、前期准备 1.1.搭建Maven环境 1.2.导入pom.xml依赖 1.3.导入配置文件 ①jdbc.properties ②generatorConfig.xml ③log4j2.xml ④spring-mybatis.xml ⑤spring-context.xml ⑥spring-mvc.xml ⑦修改web.xml文件 二、逆向生成增删改查 2.1.导入相关u…...

理财是什么?怎样学习理财?

大家好,我是财富智星,今天跟大家分享一下理财是什么?怎样学习理财的方法。 一、理财的基本原则 1、理财应注重投资而不是投机,要与时间为友。 让我们先考虑以下问题:什么样的回报才算是真正的高回报?假设有…...

华为云云耀云服务器L实例评测 | 开启OPC UA之旅

OPC Unified Architecture (OPC UA)是一种用于工业自动化的M2M协议(Machine-to-machine),具有平台独立性,在Windows和Linux上都可以运行。随着云服务在工业现场的不断普及,OPCUA服务也开始大量部署在云端。 本文以华为云云耀云服务器L为基础…...

帝国CMS灵动标签如何调用$ecms_hashur[‘ehref‘]函数

我们在二次开发时,后台调用链接就需要加上帝国CMS的$ecms_hashur[ehref]函数,这是帝国CMS后台的安全函数,防止外部直接访问后台页面,直接强制访问后台链接就会提示“非法来源”。 我的站长站分享下制作自定义php页面,用帝国CMS灵动标签如何调用$ecms_hashur[ehref]函数方…...

ES6 拓展(下)

一、函数的拓展 1.1、默认参数 在ES5中设置默认参数: function func(words, name) {name name || "闷墩儿";console.log(words, name); } func("大家好!我是"); func("大家好!我是", "憨憨");func(…...

TouchGFX之自定义触发条件和操作

通过TouchGFX Designer,您可以自己定义具有触发条件和操作的交互组件。 自定义容器创建自定义触发条件:通过自定义容器的属性选项卡添加自定义触发条件 使用交互系统发送自定义触发条件: 通过自定义容器的“交互”选项卡,创建新的…...

Linux防火墙(iptables)

一、linux的防火墙组成 linux的防火墙由netfilter和iptables组成。用户空间的iptables制定防火墙规则,内核空间的netfilter实现防火墙功能。 netfilter(内核空间)位于Linux内核中的包过滤防火墙功能体系,称为Linux防火墙的“内核…...

zookeeper教程

zookeeper教程 zookeeper简介zookeeper的特点及数据模型zookeeper下载安装zookeeper客户端命令zookeeper配置文件zookeeper服务器常用命令zookeeper可视化管理工具zkuizookeeper集群环境搭建zookeeper选举机制使用Java原生api操作zookeeper使用java zkclient库操作zookeeper使用…...

杭州快递物流展-2024长三角快递物流供应链与技术装备展览会(杭州)

2024快递物流创新高质量发展论坛暨 2024长三角快递物流供应链与技术装备展览会(杭州) 时间:2024年4月12-14 日 地点:杭州国际博览中心 ESYE长三角快递物流展是亚洲范围内超大规模的快递物流业展示平台,由于展会的需求 及扩大市场的影响力…...

CSP 202203-1 未初始化警告

答题 要注意是xi和yi的范围&#xff0c;yi可以是0为常数。 #include<iostream> using namespace std;int main() {int n,k;cin>>n>>k;bool*initializenew bool[n]{false};int result0,x,y;while(k--){cin>>x>>y;if(y&&!initialize[y-1…...

开发指导—利用组件插值器动画实现 HarmonyOS 动效

一. 组件动画 在组件上创建和运行动画的快捷方式。具体用法请参考通用方法。 获取动画对象 通过调用 animate 方法获得 animation 对象&#xff0c;animation 对象支持动画属性、动画方法和动画事件。 <!-- xxx.hml --><div class"container"> <di…...

树莓派入门

目录 前言系统烧录使用官方烧录工具选择操作系统选择存储卡配置 Win32DiskImager 有屏幕树莓派开机树莓派关机无屏幕树莓派开机获取树莓派IP地址通过路由器获取共享网络方式获取给树莓派配置静态IP地址查找默认网关分盘给树莓派的IP地址修改树莓派DHCP配置文件 ssh登录 让树莓派…...

算法模型嵌入式 Mendix应用的开发示例

一、前言 根据埃森哲最新一项调查&#xff0c;2023年67%的企业持续加大在技术方面的投入&#xff0c;其中数据和AI应用是重中之重。AI在企业内部应用这个话题已经保持了十多年的热度&#xff0c;随着ChatGPT为代表的生成式AI技术的出现&#xff0c;这一话题迎来又一波的高潮。…...

如何使用Cygwin编译最新版的Redis源码,生成适用于Windows的Redis

文章目录 一、准备Cygwin环境二、下载Redis源码三、编译redis-7.2.01. 执行make命令2. 重新执行make命令3. 再次执行make命令4. 将编译后的可执行文件及依赖放到同一个文件夹5. 测试编译生成的可执行程序 四、换其他redis版本重新编译1. 编译redis-7.0.122. 编译redis-6.2.133.…...

python做网站怎么样/免费域名申请网站大全

PhpStorm jetbrains公司出品&#xff0c;集成式php开发工具&#xff0c;只需要配置PHP路径就可以了&#xff0c;如果配置了php环境变量那什么都不做都可以。 数据库可视化工具&#xff1a;view》Tool Windows》database;下载引导插件即可 优点&#xff1a;快准狠&#xff0c;…...

阅读网站怎样做/深度优化

Linux 1 Docker docker build -t "swr:6666/Project/***-***-**:v10.10.10" .  当前目录下根据dockerfile文件创建镜像 docker save -o Project.tar swr:6666/Project/***-***-**:v10.10.10  保存镜像Project&#xff0c;命名为Project.tar chmod 775 Project.t…...

中央人民政府网站谢芳友高层访问/怎么开发自己的小程序

背景与文献简介可充电锌金属电池作为锂离子电池的潜在替代品&#xff0c;由于其成本低、容量大、使用安全的水系电解质的优势&#xff0c;近年来引起了广泛的关注。然而&#xff0c;在充电过程中&#xff0c;枝晶生长会导致电池性能退化&#xff0c;并增大电池的安全风险。近日…...

点开图片跳到网站怎么做/it教育培训机构排名

我试图在我发现的这个画布脚本的背面放置一个背景图像。我知道这与context.fillstyle有关&#xff0c;但不知道该怎么做。我想要这行读这样的东西&#xff1a;context.fillStyle "url(http://www.samskirrow.com/background.png)";这是我现在的代码&#xff1a;var …...

wordpress 上传网站/上海网站制作推广

sql的左连接和右连接区别&#xff1a;1、左连接只要左边表中有记录&#xff0c;数据就能检索出来&#xff0c;而右连接是只要右边表中有记录&#xff1b;2、左连接是已左边表中的数据为基准&#xff0c;而右联接是左向外联接的反向联接。本文操作环境&#xff1a;Windows7系统&…...

做网站推广挣多少钱/郑州企业网站优化排名

什么叫组件&#xff1a; 有结构HTML 有样式CSS 有交互&#xff08;效果&#xff09; 行为 信号量存数据组件的行为可以定制&#xff1f; 通过属性设置在Vue中有什么样的组件(组件进行分类)&#xff1a; 实现基本功能的基础的组件&#xff08;最小的元素&#xff09; 可复用的逻…...