首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
小菠萝的IT之旅
掘友等级
Java后端攻城狮
|
家里蹲公司
比我们优秀的人多了去,但这并不防止我们追梦!
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
35
文章 35
沸点 0
赞
35
返回
|
搜索文章
最新
热门
我向面试官讲解了单例模式,他对我竖起了大拇指
单例模式相信大家都有所听闻,甚至也写过不少了,在面试中也是考得最多的其中一个设计模式,面试官常常会要求写出两种类型的单例模式并且解释其原理,废话不多说,我们开始学习如何很好地回答这一道面试题吧。 1. 什么是单例模式 面试官问什么是单例模式时,千万不要答非所问,给出单例模式有两…
[ Java基础系列 ] 注解入门指南 ! 造轮子必备知识 !
1. 基本注解 2. 元注解 3. 获取注解信息的方法 A getAnnotation(Class annotationClass): 返回改程序元素上存在的、指定类型的注解,如果该类型注解不存在,则返回null。 Annotation[] getAnnotations():返…
MySQL篇—数据库的设计和列类型选取真的很讲究!
一般会选择BIGINT作为主键列的列类型,注意:即使在创建列时指定数据长度,也无法改变占用空间。例如INT(11)和INT(20)都是占用32位存储空间,指定数据长度只能够在显示结果的时候起作用。 在运算操作中,一般会使用BIGINT数据类型,即使在32位计算机中也如此。 FL…
Java并发篇(7)深入剖析ReentrantLock
获取n次锁就要释放n次锁,只有当state等于0时表示锁成功释放。 ReentrantLock内部有两个内部类FairSync和NonfairSync,分别代表公平锁和非公平锁的类,内部重写了AQS的请求获取锁方法tryAcquire()方法自定义锁请求方式。先来看lock()…
Java并发篇(6)深入剖析AbstractQueuedSynchronizer
写在前面:这一篇主要深入剖析AQS的组成结构及同步状态的操作,深入源码分析每种同步状态的获取与释放过程,相信对AQS会有一个整体上的理解。 看到thread-2 thread-3 thread-4 thread-5依次排队,当前正在占用锁的线程是thread-1。 同步状态被v…
Java并发篇(5)各种锁的入门使用大全
如果在try{}内部调用lock()方法,如果发生异常加锁失败,但是finally也会执行unlock(),因为没有加锁而抛出异常。 锁是面向使用者的,同步器是面向锁的实现者的,实现者可以根据自身需求不同自定义锁的实现方式,例如共享锁、排它锁等等。 我们可以通过上面的模板方法自…
Java并发篇(4)synchronized关键字及各种锁的实现原理
我们都知道,synchronized关键字可以作用于方法或者方法内的某一个代码块,在表层实现来看,两种方式都是尝试获取对象上的锁进而执行对应的代码,但是在底层实现上,两者却大有不同,下面就来说明synchronized修饰方法和代码块的底层实现。 flags中含有ACC_SYN…
Java并发篇(3)volatile关键字吐血整理
1. 回顾Java内存模型 在上一篇文章中我们已经知道线程是通过主内存去进行线程间的隐式通信的,而线程对共享变量的写操作在工作内存中完成,由JMM控制共享变量由工作内存写回到主内存的时机。 JMM提供了一个保证内存可见性的原则:happens-before原则。这个原则可以保证…
Java并发篇(2)解读JMM内存模型
在了解Java虚拟机的内存模型之前,我们要先了解为什么会出现内存模型这一概念。在物理计算机中,并发地让计算机执行任务也会出现并发问题。由于CPU与主内存之间的运算速度差距太大,所以不得不在它们之间添加一层高速缓存作为缓冲,高速缓存的读写速度接近于处理器,CPU对数据的操作都在缓…
Java并发篇(1)入坑并发编程的正确姿势
随着当今CPU的高速发展,4核、8核甚至16核CPU已经面世了。在以往单核CPU的时代,每一个线程只能争抢一个CPU去获取运行的权利。在多核CPU的场景下,一个线程已经无法充分地利用多个CPU了,再者,数字化时代更加加剧了用户对应用的性能需求,传统的单线程应用已经逐渐被淘汰了,…
下一页
个人成就
文章被点赞
75
文章被阅读
20,297
掘力值
723
关注了
13
关注者
51
收藏集
1
关注标签
5
加入于
2020-03-14