
获得徽章 27
- #每日一题#
面试篇-学习Java多线程编程必备:深入理解volatile与synchronized
(1)Volatile是一种轻量级的同步机制,Synchronized是一种重量级的同步机制。
(2)Volatile用于保证变量的可见性和禁止指令重排,Synchronized用于排除数据竞争和保证线程安全。
(3)Volatile不能保证变量的原子性,Synchronized可以保证同步代码块的原子性。
(4)Volatile的性能远高于Synchronized,但只适用于变量的情况,而Synchronized则适用于任意类型的对象或代码块。
(5)volatile修饰变量,仅用于变量级(不会造成线程阻塞),线程读写时均刷新内存,只保证可见性。volatile还可以禁止指令重排。
(6)synchronized锁变量或代码段,锁级(会造成线程阻塞),能保证可见性与原子性zhuanlan.zhihu.com
展开评论1 - 评论1
- JVM程序计数器到底存储的是当前执行的指令地址,还是下一条指令的地址
可以看到官网的意思是说,当时“currently being executed”也就是当前正在执行的指令。zhuanlan.zhihu.com
展开评论1 - JVM运行时数据区的必备知识:Java程序员不容错过
程序计数器(Program Counter Register)
Java虚拟机栈
本地方法栈
Java堆
方法区(Method Area)zhuanlan.zhihu.com
展开评论1 - Java垃圾回收机制GC完全指南,让你彻底理解JVM运行原理
1)先判断对象是否存活(是否是垃圾)
可以通过引用计数算法和可达性分析算法来判断,由于引用计数算法无法解决循环引用的问题,所以目前使用的都是可达性分析算法
2)再遍历并回收对象(回收垃圾)
可以通过垃圾收集器(Serial/Parallel/CMS/G1)来回收垃圾,垃圾收集器使用的算法标记清除算法、标记整理算法、复制回收算法和分代回收算法。zhuanlan.zhihu.com
展开评论1 - 爆款来袭!Auto-GPT和ChatGPT成为AI领域最受关注的技术
最近全网火爆刷屏的热门词auto-gpt,在全网站频频出现:
"ChatGPT 过时了,Auto-GPT才是未来""它所具备的能力主打的就是一个“自主”,完全不用人类插手的那种!"www.toutiao.com
展开19 - 一文读懂Java类加载全过程,面试必备!
Java类加载过程是Java虚拟机(JVM)将.class文件中的字节码装载到内存中,并对字节码进行验证、准备和初始化的过程。这个过程涉及到了Java虚拟机的类加载器、运行时数据区等多个方面,其中包含了很多的细节和技术问题。类加载器Java虚拟机的类加载过程是由类加载器(ClassLoader)来实现的。类加载器负责将类装载到内存中,并为其创建一个Class对象。zhuanlan.zhihu.com
展开评论1 金三银四求职季,一起刷题迎offer!大家一起来刷题准备面试吧!
【活动时间】3月22日-4月11日
【打卡规则】在圈子「技术交流圈」下发布代码题的解题过程,可以用截图、代码、码上掘金等展示,需要带上话题 #每日一题# ,仅限技术类的题目,非技术类的题不属于本次活动的范围。非原创、刷量的掘友会被取消活动资格。
圈子:juejin.cn
话题:juejin.cn
【格式参考】juejin.cn
juejin.cn
【活动奖品】
① 在活动期间,打卡天数累计≥7天,可以获得20000矿石;
② 在活动期间,打卡天数累计≥14天,可以获得夏日必备 手持小风扇一个(颜色随机);
③ 在活动期间,打卡天数累计=21天,可以获得 yoyo抱枕一个;
ps:奖品非叠加
【活动审核】本次活动将严格审核薅羊毛的行为,非原创内容将会直接取消该用户的活动资格;除此之外,出现一人注册多个账号薅羊毛的情况也会直接取消活动资格,如:相同的IP、地址、电话、姓名等。
【中奖名单公示】预计在活动结束后的7个工作日内完成审核和名单公示,然后发放问卷的填写。
一起来组队打卡吧!展开10496