Semaphore(信号量)-允许多个线程同时访问: synchronized 和 ReentrantLock 都是一次只允许一个线程访问 某个资源,Semaphore(信号量)可以指定多个线程同时访问某个资源。

CountDownLatch (倒计时器): CountDownLatch是一个同步工具类,用来协调多个线程之间的同步。这 个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。

CyclicBarrier(循环栅栏): CyclicBarrier 和 CountDownLatch 非常类似,它也可以实现线程间的技术等待, 但是它的功能比 CountDownLatch 更加复杂和强大。主要应用场景和 CountDownLatch 类似。CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫 同步点)时被阻塞,直到后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。 CyclicBarrier默认的构造方法是 CyclicBarrier(int parties),其参数表示屏障拦截的线程数量,每个线程调用 await方法告诉 CyclicBarrier 我已经到达了屏障,然后当前线程被阻塞。

标记-清除算法:标记无用对象,然后进行清除回收。缺点:效率不高,无法清除垃圾碎片。

标记-整理算法:标记无用对象,让所有存活的对象都向一端移动,然后直接清除掉端边界以外的内存。

复制算法:按照容量划分二个大小相等的内存区域,当一块用完的时候将活着的对象复制到另一块上,然后再把已使用的内存空间一次清理掉。缺点:内存使用率不高,只有原来的一半。

分代算法:根据对象存活周期的不同将内存划分为几块,一般是新生代和老年代,新生代基本采用复制算法,老年代采用标记整理算法。

免费领取Java面试题(大厂面试必备)

Java面试题:Java垃圾收集有哪些算法,AQS组件总结相关推荐

  1. Java面试题 Web+EJB Spring+数据结构 算法计算机基础

    六.Web 部分:(共题:基础40 道,基础37 道,中等难度3 道) 122.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? [基础] 答:Web 容器加载Servlet ...

  2. java面试题——java基础(四),java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  3. 小博老师解读经典Java面试题—Java位运算

    [面试原题] 我们经常会看到类似于下面这样的Java面试题: 请编写出效率最高的2乘以8的运算结果. [正确答案] 2<<3 [面试技术点] 面试者是否了解.灵活运用java位运算技术. ...

  4. Java面试题 java高级

    八:java高级 1:代码优化 (1)代码优化的目标是: 1 .减小代码的体积 2 .提高代码运行的效率 (2)代码结构层次的优化(目的:更加方便代码的维护–可维护性,可读性) 1.代码注释(代码规范 ...

  5. Java工作笔记/Java面试题/Java八股文/Java常用API

    码农工具包 hutool工具 hutool工具类判断各种类型数据 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --& ...

  6. java面试题(java中高级面试题及答案)

    [java面试题] 1.Collections.sort排序内部原理 在Java6Arrays.sort()和Collections.sort()中使用MergeSort,在Java7中,内部实现被T ...

  7. [ Java面试题 ]Java 开发岗面试知识点解析

    在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 ...

  8. JAVA面试题|JAVA锁相关面试题总结(一)

    JAVA基础篇面试题 文章目录 JAVA基础篇面试题 1. 什么是JMM 2. 介绍一下violated 3. 写一个单例模式 4. 介绍一下CAS 5. CAS的问题 6. ArrayList线程不 ...

  9. Java面试题,Java,面试题,线程池

    Java面试题:线程池 首先要注意的概念 JUC-线程池架构图 1.Executor 2.ExecutorService 3.AbstractExecutorService 4.ThreadPoolE ...

  10. 2020最新Java面试题(java,JavaWeb,数据库,框架),常见面试题及答案汇总

    1.面试题模块汇总 面试题包括以下十九个模块:Java 基础.容器.多线程.反射.对象拷贝.Java Web 模块.异常.网络.设计模式.Spring/Spring MVC.Spring Boot/S ...

最新文章

  1. matlab 分段式规范作图
  2. 内核网络中的GRO、RFS、RPS技术介绍和调优
  3. 初学python-字符串中引号的使用、input简介、强制类型转换、加减乘除简写、条件判断...
  4. APUE读书笔记-第14章-高级I/O
  5. EOS 智能合约源代码解读 (6)合约之action
  6. Python 字符串换行的几种方式
  7. SQL-2 查找入职员工时间排名倒数第三的员工所有信息
  8. 2017-9-15-Linux移植:WinSCP软件 SSH Server开启
  9. 数学--数论--素数
  10. java中的mod运算_Java源码中Integer类位运算分析
  11. PCAP文件格式分析(做抓包软件之必备)
  12. 红旗linux apt,红旗 Linux 系统 V11 社区预览版(0122)发布
  13. qtablewidget删除子网格线
  14. 定时器2用做uart的波特率发生器
  15. 局域网远程桌面无法连接到远程计算机,局域网无法远程连接桌面怎么解决
  16. 航空运输安全及鉴定,保障货物成功抵达
  17. keras上运行Tensorflow-gpu的艰难历程(最新版,更新中)
  18. 小程序搜索页面搜索记录和热门搜索实现
  19. c语言点餐系统测试总结报告,数据结构实训报告c语言点餐系统net
  20. 从flv文件中提取h264码流(使用av_bsf_send_packet和av_bsf_receive_packet)

热门文章

  1. [转载] Python水平自测!100道经典练习题.pdf(附答案)
  2. [转载] python numpy 子数组_Python学习笔记3:Numpy入门
  3. [转载] python价值算法_PangRank算法原理及其Python实现
  4. [转载] python通过反射执行代码
  5. svn源代码变动后一分钟内启动执行?按照定好的时间点执行?(项目构建的触发)...
  6. ABAP 读取FTP文件
  7. Cinder组件解析
  8. Java设计模式(10)代理模式(Proxy模式)
  9. sscanf函数详解
  10. 开发WinRT自定义组件之富文本框