首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Brayden
掘友等级
Java
|
阿里巴巴
96年,爱技术,巨蟹座
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
Java如何实现线程交替执行?
这是个比较基础但是面试常考的一个问题,用两道经典面试题来close这个话题吧。在Java中实现线程协作一般就是用wait/notify模式。 wait/notify是比较底层的实现,现在一般都是用JDK封装好的一些工具类或框架,比如阻塞队列,线程协作工具类。但是这些工具万变不离…
单例模式的8种写法区别
无状态的工具类,很多工具类我们只需要一个实例,节省内存。但是大家的写法非常多,正确的写法却很少看见,希望看完这篇文章能够帮你梳理清楚。 优点:这种写法比较简单,就是在类装载的时候就完成实例化。避免了线程同步问题。 缺点:在类装载的时候就完成实例化,没有达到Lazy Loadin…
解析面试难点String.intern()
网上对于intern方法的讨论很多是不对或者不严谨的,于是我参考了大量官方资料总结了该知识点,希望可以讲清楚。这个面试考点主要考察JVM的内存模型、对String类理解的深度以及字符串常量池的了解。 在JAVA语言中有8种基本类型和一种比较特殊的类型String,其实Strin…
彻底学习线程池
创建/销毁线程需要消耗系统资源,因为Hotspot虚拟机中每个线程对应操作系统的一个线程,线程池可以复用已创建的线程。并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。线程池可以对线程做统一管理。 合理利用CPU和内存,复用线程,统一管理。 知道大家见过很多名字类似的类…
如何正确停止线程
首先需要强调的是中断线程只有一种方法,就是Thread类的interrupt方法。 接下来通过代码演示两种最佳中断线程的方式,以及关于中断线程需要注意的点,请仔细体会每一个示例代码。 执行这段代码会发现,thread.interrupt()这行代码好像并不起作用,子线程还是输出…
Java内存模型之原子性
一系列的操作,要么全部执行成功,要么全部不执行,不会出现执行一半的情况,是不可分割的。 1.除long和double之外的基本类型(int, byte, boolean, short, char, float)的赋值操作。 2.所有引用reference的赋值操作,不管是32位…
Java内存模型之可见性
高速缓存的容量比主内存小,但是速度仅次于寄存器,所以在CPU和主内存之间就多了Cache层。线程间的对于共享变量的可见性问题不是直接由多核引起的,而是由多缓存引起的。如果所有个核心都只用一个缓存,那么也就不存在内存可见性问题了。每个核心都会将自己需要的数据读到独占缓存中,数据修…
Java内存模型之重排序
我们先不用管概念,先看现象,后面会总结,用自顶向下的思维去理解概念。直接看代码演示现象。 这两行代码的执行顺序是不会改变的,也就是a=1会在x=b前执行;同理,线程二的b=1会在y=a前执行。如果以这种思路分析那只能分析出以上三种情况,但其实还有一种容易被我们忽略的情况:x=0…
Java内存模型
最近我准备开始写Java并发编程相关系列的文章了,网上的博客五花八门,有些还是错的。所以本人查阅了大量并发编程领域的核心书籍及官方资料,目的就是要保证内容都具有一定“权威性”,想要学习Java多线程的同学可以多多关注下哈~ 首先需要区分两个概念:Java内存模型和Java内存结…
垃圾回收算法
首先,需要先搞清楚两个问题。 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 如果不即使对内存中的垃圾进行清理,那么垃圾对象所占的内存空间会保留到应用程序结束,甚至可能导致内存溢出。 其次,垃圾收集是分阶段的,分为标记阶段和清除阶段。 标记阶段作用是…
下一页
个人成就
文章被点赞
8
文章被阅读
8,956
掘力值
281
关注了
1
关注者
1
收藏集
0
关注标签
21
加入于
2020-05-30