![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
juc和jvm
大大大k
这个作者很懒,什么都没留下…
展开
-
CountDownLatch和枚举Enum的用法
public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch = new CountDownLatch(6); for (int i = 1; i <= 6; i++) { new Thread(()-...原创 2020-03-12 15:51:25 · 117 阅读 · 0 评论 -
Volitile、JMM、CAS、原子类、锁面试总结
一 1.jvm提供的轻量级的同步机制:{ 1.保证可见性 2.不保证原子性 3.禁止指令重排 可见性: 及时通知其他线程,主物理内存的值已经被修改。 原子性: 不可分割,保证数据的完整和一致性,要么同时成功要么同时失败 怎么解决volatile不保证原子性,用juc包下的atomic 指令重排: 多线程环境下线程交替执行,由于编译器优化重排,多个线程中使用的变量能否保证一致是无法确定的。 单利模...原创 2020-03-11 22:57:20 · 158 阅读 · 0 评论 -
Jvm面试题总结
一、类加载器 1、 什么是类加载器? 加载java类到java虚拟机的内存空间中。 2、Jvm有哪几种类加载器 启动类加载器、扩展类加载器、应用程序类加载器、用户自定义类加载器 3、双亲委派模型? 如果一个类收到了类加载请求,它不会自己先去加载,而是把这个请求委托给父类加载器去执行,如果父类加载器还存在其父类加载器,就进一步向上委托,请求最终到达顶层的启动类加载器,当父类加载器在自己的搜索范围内找...原创 2020-03-11 18:30:43 · 146 阅读 · 0 评论 -
堆Heap
生产上 xmx 最大 和xms 最小 必须调成一样,避免忽高忽低产生停顿原创 2020-03-11 16:05:07 · 112 阅读 · 0 评论 -
synchronized
原创 2020-03-10 23:15:32 · 98 阅读 · 0 评论 -
线程和进程的区别是什么
进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒度大小不同。 进程的颗粒度太大,每次都要有上下文的调入、保存、调出。也就是说线程是共享了进程的上下文环境,更为细小的CPU时间段。 进程就相当于火车,线程就相当于车厢 new 创建 Runnable 就绪 blocked 阻塞 waiting 等待 timed_waiting terminated 终止 ...原创 2020-03-10 16:17:06 · 82 阅读 · 0 评论