按时间归档:2020年
-
【每日阅读】2020年12月28日-获取线程执行结果
Future有如下方法: 还有FutureTask:
-
【每日阅读】2020年12月27日-CountDownLatch和CyclicBarrier
CountDownLatch 例如主线程要等待2个子线程执行完任务后再执行,那就可以创建一个初始值为2的CountDownLatch,在主线程执行等待方法await()就会等待Co…
-
【每日阅读】2020年12月24日-信号量
信号量是在管程发明之前15年被发明出来的东西。信号量用于解决在控制数量的情况下发文同一资源。 例如最多允许5个线程获取一个资源,则在初始化时将信号量初始为5,当多一个线程使用资源时…
-
【每日阅读】2020年12月23日-dubbo如何使用Lock、Condition
dubbo使用方式如下(简化过的代码):
-
【每日阅读】2020年12月22日-Java并发包中的管程
就是Lock和Condition啦! Lock就是控制互斥的,Condition用于控制同步。 这两个类组合使用,拥有和原生的synchronized、wait、notify、no…
-
【每日阅读】2020年12月21日-管程——互斥、同步的通用解决方案
如何实现互斥 想要实现互斥,那么就利用管程的入口等待队列,控制一次只能有一个线程进入。 如何实现同步 那么就可以利用管程内部的条件变量等待队列,每个需要满足的条件对应一个等待队列,…
-
【每日阅读】2020年12月16日-Java类加载的过程
首先是类加载器加载类,这个过程我的理解就是读文件。其中使用的模式是双亲委派模型。总是委托给父类加载器。 然后是链接,其中具体分为3个更小的步骤:验证、准备以及解析。大概可以理解为是…
-
【每日阅读】2020年12月15日-Java代码是怎么执行的
目前hotspot虚拟机是即时编译+解释执行同步进行的。对于热点代码,jvm会优化以使用编译后的代码进行执行。 另:jvm中的boolean其实是整型数。true是1,false是…
-
【每日阅读】2020年12月14日-前缀索引
什么是前缀索引 一个字段如果是字符串的,那么在这个字段建索引的时候如果不特意指定,则建立的索引长度就是整个字符串的长度。还有一个特意指定索引长度的方式,可以指定只按前n个字符创建索…
-
【每日阅读】2020年12月09日-事务先后的可见性
问:id=1的k初始值是1,那么图中事务A、B查询到的值分别是多少?(事务隔离级别是可重复读) 注:begin/start transaction 命令并不是一个事务的起点,在执行…