码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 黑马JVM总结(二)


    (1)栈

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

    (2)栈的演示

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

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

    method2栈帧执行完释放掉出栈

     method1:执行完出栈

     主方法再执行,执行结束

    (3) 栈的问题辨析

     

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

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

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

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

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

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

     

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

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

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

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

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

  • 相关阅读:
    echarts鼠标滑动缩放后会自动回弹(已解决)
    【MyBatis笔记02】MyBatis核心配置文件介绍
    淘宝商家私信脚本,自动批量阿里旺旺版,按键精灵源码分享
    【MySQL】数据库的存储过程与存储函数通关教程(完整版)
    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第二章 网络工程基础(2)创建一个TCP代理
    微软 Edge “不务正业”,新功能遭用户抵制:“你是在抢钱吧?”
    flinksql 流表转换, 自定义udf/udtf,SQL 内置函数及自定义函数
    实战分析:SpringBoot项目 JSR303校验、Hutool工具类的具体使用
    解放生产力orm并发更新下应该这么处理求求你别再用UpdateById了
    nextJs13:如何全局配置antd的日期组件datepicker等都显示中文(2步)
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/132779175
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号