upjmbai5800
upjmbai5800
全部文章
分类
J.U.C(2)
Java基础(25)
Java源码阅读(3)
JVM(4)
mybatis(3)
react(1)
Redis(1)
Spring(1)
springMVC(1)
专利(3)
刷题随笔(1)
多线程(5)
实习随笔(3)
操作系统(3)
数据库(7)
数据结构与算法(6)
网络(1)
面试问题总结(3)
高并发(2)
归档
标签
去牛客网
登录
/
注册
upjmbai5800的博客
全部文章
(共32篇)
Java源码阅读(三) LinkedList类
Java源码阅读(三) LinkedList类 LinkedList 适用于集合元素先入先出和先入后出的场景,在队列源码中被频繁使用,面试也经常问到,本小节让我们通过源码来加深对 LinkedList 的了解。 1 整体架构 LinkedList 底层数据结构是一个双向链表,整体结...
Java基础
2019-10-30
0
742
Java源码阅读(二)ArrayList类
Java源码阅读(二)ArrayList类 ArrayList类我们几乎每天都会用到,但是对它的源码就是不一定很了解,因此在本文对ArrayList类的源码进行介绍。 1 整体架构 ArrayList 整体架构比较简单,就是一个数组结构,比较简单,如下图: 图中展示是...
Java基础
2019-10-21
0
1040
面试题汇总(3)
面试题汇总(3) Q:为什么使用 Long 时,大家推荐多使用 valueOf 方法,少使用 parseLong 方法? A:因为 Long 本身有缓存机制,缓存了 -128 到 127 范围内的 Long,valueOf 方法会从缓存中去拿值,如果命中缓存,会减少资源的开销,pars...
Java基础
2019-10-20
0
649
Java源码阅读(一)String类
Java源码阅读(一)String类 读一门语言的源码是学习一门语言非常好的方法,而String类是Java中最常用的类之一,因此就来看一下String的底层源码实现。 1 不变性 我们常听人说,HashMap的key建议使用不可变类,String就是这种不可变类。这里说的不可变指...
JVM
Java基础
多线程
2019-10-14
0
731
J.U.C并发包(2)
J.U.C并发包(2) FutureTask Callable接口和Runnable接口对比 二者大致相似,不同的是,Runnable只有一个方法就是Run,而Callable有一个Call方法,功能也更强大,因为被线程执行后有返回值,并且可以抛出异常。 ...
Java基础
多线程
2019-08-23
0
509
多线程、锁、CAS和AQS(4)
多线程、锁、CAS和AQS(4)Java的线程 Java线程的5种状态 Java中的线程的生命周期大体可分为5种状态。 新建(NEW):新创建了一个线程对象。 可运行(RUNNABLE):线程对象创建后,...
Java基础
多线程
2019-08-22
0
776
多线程、锁、CAS和AQS(3)
多线程、锁、CAS和AQS(3)Java中的锁 Java中锁的分类 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。如果休眠队列中有线程了,则新进入竞争的线程一定要在休眠队列上排队。 非公平锁是指多个...
Java基础
多线程
2019-08-22
0
699
J.U.C并发包(1)
J.U.C并发包(1) AbstractQueuedSynchronizer AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchronizer是抽象同步队列,简称AQS,是实现同步器的基础组件,并发包中锁的实现...
Java基础
多线程
2019-08-20
0
903
多线程、锁、CAS和AQS(2)
多线程、锁、CAS和AQS(2)线程安全之可见性 1、共享变量在线程间不可见的原因 可结合Java内存模型一起阅读 2、可见性 synchronize 使用synchronize修饰后可以保证共享变量的可见性 3、可见性 volatile...
Java基础
多线程
2019-08-13
0
568
多线程、锁、CAS和AQS(1)
多线程、锁、CAS和AQS(1)线程安全 1、什么是线程安全性? 当多个线程访问某个类时,不管运行时环境采用何种调度方式,并且主调代码中不需要使用任何额外的同步或者协同,这个类的输出总是正确的的。 原子性:互斥访问,同一时刻只能有一个线程对它操作 ...
Java基础
多线程
2019-08-12
0
729
首页
上一页
1
2
3
4
下一页
末页