
JAVA基础
yufei_java
这个作者很懒,什么都没留下…
展开
-
Java 关键字volatile 与 synchronized 作用与区别
1、volatile 它所修饰的变量不保留拷贝,直接访问主内存中的。 在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器)。为了性能,一个线程会在自己的memory中保持要访问的变量的副本。这样就会出现同一个变 量在某个瞬间,在一个线程的memory中的值可能与另外一个线程memory中的值,或者main memory中的值不一致的情况。原创 2017-05-07 21:52:41 · 459 阅读 · 0 评论 -
利用jdk1.8的新特性实现模板方法模式
jdk1.8的新特性中有一个是接口可以编写默认方法。这样写模板方法模式就很好的被利用到(不仅限模板方法使用)。1、模板类package com.zc.jdk8;/** * Created by Administrator on 2017/5/17. */public interface Car { /** * Java 8允许我们给接口添加一个非抽象的方法实现原创 2017-05-17 11:32:44 · 1374 阅读 · 0 评论 -
利用jdk1.8写个模板方法模式的例子
jdk1.8的新特性之一是接口可以写默认实现方法。正好可以用在模板方法模式之上,之前一直使用抽象类来实现的。(该特性不仅限使用模板方法模式)。1、car的类package com.zc.jdk8;/** * Created by Administrator on 2017/5/17. */public interface Car { /** * Java 8允原创 2017-05-17 11:46:35 · 823 阅读 · 0 评论 -
java AtomicInteger、AtomicLong原理分析及测试实例
AtomicInteger、AtomicLong可以理解为乐观锁,它们认为变量值是不会改变,等去设置值的时候去确认。这种方式适用于该变量值很少更改的情况下,否则性能适得其反。 CAS(乐观锁算法)的基本假设前提 CAS比较与交换的伪代码可以表示为: do{原创 2017-05-17 20:15:38 · 1147 阅读 · 0 评论 -
通过CountDownLatch模拟高并发下测试各种单例模式的执行结果
单例模式一般写法有多种,那么哪种相对来说效果比较好。下面一起看看我的测试结果吧。 我是通过CountDownLatch来模拟刚并发下,各种单例模式的执行结果。自己做加深影响所写,所以写的比较粗糙,希望大家不要介意。先上代码吧,后面做结果说明1、最基础的单例package singleton;/** * 最简单的单例 */public class MySingleto...原创 2018-03-06 15:41:07 · 3822 阅读 · 2 评论 -
多线程处理任务案例(同步锁+StopWatch+CountDownLatch)
今天抽空写了一个通过spring线程池来实现多线程处理任务的性能问题。这个代码相对简单,文字描述相对较少。大家有疑问可以回复。1、任务线程代码package com.yufeicms.test;import java.util.concurrent.CountDownLatch;public class MyThread implements Runnable{ private...原创 2018-04-10 18:01:44 · 1783 阅读 · 0 评论