2020-09-02知识点复习总结

1**.在 java 中 wait 和 sleep 方法的不同?**

最大的不同是在等待时 wait 会释放锁,而 sleep 一直保持有锁。wait通常被用于线程间交互,sleep 通常被用于暂停执行。

2.同步锁与死锁

同步锁是当多个线程在同一时间内只允许一个线程来操作数据,可以用用 synchronized 关键字来实现

死锁是指多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。

拓展:
为什么要用锁当多个线程同时访问同一个数据时,很容易出现问题。为了避免这种情况出现,我们要保证线程同步互斥,就是指并发执行的多个线程。

3.乐观锁和悲观锁是什么?

乐观锁假设都是最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,说白了就是不上锁

悲观锁假设总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。

4.线程池原理

线程池是控制运行的线程的数量,将任务放入队列,然后在线程创建后启动这些任务,如果线程排队数量超过了最大排队线程数量时,等其它线程执行完毕,再从队列中取出任务来执行。
主要特点为:线程复用;控制最大并发数;管理线程。

5.线程执行的顺序

1.当线程数小于核心线程数时,会一直创建线程直到线程数等于核心线程数;
2.当线程数等于核心线程数时,新加入的任务会被放到任务队列等待执行;
3. 当任务队列已满,又有新的任务时,会创建线程直到线程数量等于最大线程数;
4. 当线程数等于最大线程数,且任务队列已满时,新加入任务会被拒绝。

6.线程池的核心参数有哪些?

1.corePoolSize(核心线程数)
2.queueCapacity(任务队列容量)
3.maxPoolSize(最大线程数)
4.keepAliveTime(线程空闲时间)

7.JVM 内存管理

JVM 将内存划分为 6 个部分:
PC 寄存器(程序计数器) :用于记录当前线程运行时的位置
栈 :在创建线程时创建的,用来存储栈帧
堆 :java 堆被所有线程共享,堆的主要作用就是存储对象。
方法区 :方发区被各个线程共享,用于存储静态变量.运行时常量池 等信息。
本地方法栈 :本地方法栈的主要作用就是支持 native 方法

8.GC 分代收集算法和分区收集算法区别

1.分代收集算法
这种算法会根据对象存活周期的不同将内存划分为几块,如JVM中的新生代、老年代、永久代,这样就可以根据各年代特点分别采用最适当的 GC 算法
2.分区收集算法
分区算法则将整个堆空间划分为连续的不同小区间, 每个小区间独立使用, 独立回收这样做的好处是可以控制一次回收多少个小区间,根据目标停顿时间,每次合理地回收若干个小区间而不是整个堆, 从而减少一次 GC 所产生的停顿。

9.GC 垃圾收集器

垃圾回收器目前分为6种类型, 串行,并行,并发标记,G1。
小数据量和小型应用,使用串行垃圾回收器即可。
对于对响应时间无特殊要求的,可以使用并行垃圾回收器和并发标记垃圾回收器。(中大型应用)
对于heap可以分配很大的中大型应用,使用G1垃圾回收器比较好,进一步优化和减少了GC暂停时间。
针对不同的场景,选用不同的垃圾回收器。

了解

串行:ParNew收集器

ParNew收集器其实就是Serial收集器的多线程版本。新生代并行,老年代串行;新生代复制算法、
老年代标记-压缩使用方法:-XX:+UseParNewGC ParNew收集器-XX:ParallelGCThreads 限制线程数量

并行:Parallel收集器

Parallel Scavenge收集器类似ParNew收集器,Parallel收集器更关注系统的吞吐量。可以通过参数来打开自适应调节策略,虚拟机会根据当前系统的运行情况收集性能监控信息,动态调整这些参数以提供最合适的停顿时间或最大的吞吐量;也可以通过参数控制GC的时间不大于多少毫秒或者比例;
新生代复制算法、老年代标记-压缩使用方法:-XX:+UseParallelGC 使用Parallel收集器+ 老年代串行

并行:Parallel Old 收集器

Parallel Old是Parallel Scavenge收集器的老年代版本,使用多线程和“标记-整理”算法。这个收集器是在JDK 1.6中才开始提供

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值