上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
  2020年5月12日
摘要: 本文是作者原创,版权归作者所有.若要转载,请注明出处. 首先是配置类 package com.lusai.config;import org.springframework.context.annotation.ComponentScan;import org.springframework.con 阅读全文
posted @ 2020-05-12 20:34 路仁甲 阅读(327) 评论(0) 推荐(0) 编辑
  2020年5月8日
摘要: 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务 阅读全文
posted @ 2020-05-08 23:28 路仁甲 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 什么是CAS CAS (compareAndSwap),中文叫比较交换,一种无锁原子算法。 过程是这样:它包含 3 个参数 CAS(V,E,N),V表示要更新变量的值,E表示预期值,N表示新值。 仅当 V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做两个更新,则当前线程 阅读全文
posted @ 2020-05-08 21:58 路仁甲 阅读(372) 评论(0) 推荐(0) 编辑
  2020年4月29日
摘要: 问题的由来: 为什么? 多个线程操作不同实例对象。多个线程要操作同一对象,要保证对象的唯一性 解决的问题: 实例化过程中只实例化一次 解决的思路 有一个实例化的过程(只有一次),产生实例化对象 new 提供返回实例对象的方法 getInstace() 单例模式的分类 饿汉式 饿汉就是类一旦加载,就把 阅读全文
posted @ 2020-04-29 00:21 路仁甲 阅读(161) 评论(0) 推荐(0) 编辑
  2020年4月27日
摘要: 线程与JVM 1基本概念: 程序:代码,完成某一件任务,代码序列(静态的概念) 进程:程序在某些数据上的一次运行(动态的概念) 线程:一个进程可能包含一个或多个线程(占有资源的独立单元) 2 JVM与线程 JVM什么时候启动?类被调用 JVM线程 》其他的线程(main) 线程在JVM中 3 JVM 阅读全文
posted @ 2020-04-27 23:22 路仁甲 阅读(191) 评论(0) 推荐(0) 编辑
  2020年4月23日
摘要: 先来看个奇怪的demo public class A { int i=0; // boolean flag =false; public synchronized void parse(){ i++; JOLExample6.countDownLatch.countDown(); } } 睡眠5秒, 阅读全文
posted @ 2020-04-23 23:59 路仁甲 阅读(616) 评论(0) 推荐(0) 编辑
  2020年4月22日
摘要: java头的信息分析 首先为什么我要去研究java的对象头呢? 这里截取一张hotspot的源码当中的注释 这张图换成可读的表格如下 | | | Object Header (128 bits) | | | | Mark Word (64 bits) | Klass Word (64 bits) | 阅读全文
posted @ 2020-04-22 00:22 路仁甲 阅读(2199) 评论(2) 推荐(2) 编辑
  2020年4月20日
摘要: ThreadLocal ThreadLocal 线程局部变量,只对当前线程范围有效,比如下面例子,在第一个线程设置的值,第二个线程是使用不了的。 public class TLDemo2 { private static ThreadLocal<User> threadLocal = new Thr 阅读全文
posted @ 2020-04-20 23:23 路仁甲 阅读(199) 评论(0) 推荐(0) 编辑
摘要: synchronized synchronized关键字锁定的是对象不是代码块,demo中锁的是object对象的实例 锁定的对象有两种:1.类的实例 2.类对象 加synchronized关键字之后不一定能实现线程安全,具体还要看锁定的对象是否唯一。 看个demo: private int cou 阅读全文
posted @ 2020-04-20 23:01 路仁甲 阅读(501) 评论(0) 推荐(0) 编辑
  2020年4月19日
摘要: 本文是作者原创,版权归作者所有.若要转载,请注明出处.本文只贴我觉得比较重要的源码 指令重排序 Java语言规范JVM线程内部维持顺序化语义,即只要程序的最终结果与它顺序化情况的结果相等,那么指令的执行顺序可以与代码逻辑顺序不一致,这个过程就叫做指令的重排序。 指令重排序的意义:使指令更加符合CPU 阅读全文
posted @ 2020-04-19 16:36 路仁甲 阅读(821) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页