当前位置: 首页 > 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]函数方…...

用Python+Simulink复现数维杯A题:手把手教你搭建车辆主动减振模型(附代码)

PythonSimulink实战:从零构建车辆主动减振系统 1. 理解车辆振动控制的核心问题 车辆振动问题一直是工程领域的重要挑战。想象一下,当你驾驶一辆重型卡车经过颠簸路面时,那种令人不适的震动不仅影响驾驶体验,长期来看还会对车辆结构…...

避坑指南:在K210上跑人脸68关键点,这些细节让你的疲劳检测更准

K210人脸疲劳检测实战:68关键点调优与工程化避坑指南 当你在车载监控或工业安全场景部署基于K210的疲劳检测系统时,是否遇到过这些情况?明明按照开源代码跑通了68关键点检测,但实际场景中闭眼判断总是不准;白天阳光直射…...

Bilibili-Evolved性能优化实战:突破60fps流畅播放全解析

Bilibili-Evolved性能优化实战:突破60fps流畅播放全解析 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved Bilibili-Evolved作为强大的哔哩哔哩增强脚本,通过深度优化浏…...

Hunyuan-MT-7B-WEBUI新手必看:5分钟搞定部署,开启多语言翻译之旅

Hunyuan-MT-7B-WEBUI新手必看:5分钟搞定部署,开启多语言翻译之旅 1. 为什么选择Hunyuan-MT-7B-WEBUI 在全球化交流日益频繁的今天,语言障碍成为许多个人和团队面临的实际问题。Hunyuan-MT-7B-WEBUI作为腾讯混元开源系列中的翻译专用模型&am…...

Java微服务集成TranslateGemma:企业级翻译中台构建

Java微服务集成TranslateGemma:企业级翻译中台构建 1. 为什么需要企业级翻译中台 最近在给一家跨境电商平台做技术咨询时,客户提到一个很实际的问题:他们的客服系统、商品管理系统、营销内容平台各自维护着不同的翻译逻辑。客服用的是第三方…...

开源工具SMUDebugTool:系统优化与性能调优的终极解决方案

开源工具SMUDebugTool:系统优化与性能调优的终极解决方案 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/…...

BGE-M3优化指南:CPU环境下提升语义分析推理速度的3个技巧

BGE-M3优化指南:CPU环境下提升语义分析推理速度的3个技巧 1. 引言 在当今企业级AI应用中,语义相似度分析已成为知识检索、智能客服和内容推荐等场景的核心技术。BAAI/bge-m3作为当前最强大的开源语义嵌入模型之一,以其卓越的多语言支持和长…...

Swin2SR多帧超分:视频序列的时空信息融合

Swin2SR多帧超分:视频序列的时空信息融合 1. 引言 你有没有遇到过这样的情况:从监控录像中截取的关键画面模糊不清,或者老视频中的珍贵片段分辨率太低,无法看清细节?传统单帧超分技术往往力不从心,因为它…...

TextGrad部署与性能优化:生产环境最佳实践

TextGrad部署与性能优化:生产环境最佳实践 【免费下载链接】textgrad Automatic Differentiation via Text -- using large language models to backpropagate textual gradients. 项目地址: https://gitcode.com/gh_mirrors/te/textgrad TextGrad是一款基于…...

UE5伤害系统避坑指南:Damage Type没用好?你的Apply Damage可能白写了

UE5伤害系统深度解析:如何用Damage Type构建高扩展性战斗机制 在虚幻引擎5的游戏开发中,伤害系统是战斗机制的核心支柱。许多开发者习惯性地将注意力集中在Damage Amount这个数值上,却忽视了Damage Type这个能够赋予游戏深度和多样性的强大工…...