自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lkforce

记录自己解决的小困难和小经验

  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 从单例模式挖到内存模型(四)----java内存模型

java内存模型:Java内存模型即Java MemoryModel,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JDK1.5版本对java的内存模型进行了重构,开始使用新的JSR-133内存模型。JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local me

2017-04-21 17:27:01 2033

原创 从单例模式挖到内存模型(三)----volatile关键字

volatile这个单词在英文中的意思是:易变的,不稳定的。这个关键字在java中就是表示某个变量是不稳定的,java会有自己的方式去处理这种变量。 java对volatile的定义:java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排它锁单独获得这个变量。 当一个变量定义为 volatile 之后,将具备两种特性:1,保证此变量对

2017-04-21 17:10:49 586

原创 从单例模式挖到内存模型(二)----指令重排序

首先是一个双检锁写的单例模式的例子:public class Single{ private volatile static Single single; private Single(){} public static Single getInstance(){ if(single==null){ synchronized (Single.class) { if(si

2017-04-21 17:03:57 1691

原创 从单例模式挖到内存模型(一)----单例模式和双检锁

单例模式中的双检锁写法:单例模式有很多种写法,有懒汉式和饿汉式,其中叫做双检锁的写法,目测也属于懒汉式,代码大概是这样的:public class Single{ private volatile static Single single; private Single(){} public static Single getInstance(){ if(single==null

2017-04-21 16:58:08 771

原创 试用concurrent包下的Executors,ExecutorService,CountDownLatch

用concurrent包下的Executors,ExecutorService,CountDownLatch类写了一小段程序,研究了研究这几个类的功能,代码如下:package test;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import ja

2017-04-14 18:00:10 518

原创 java的直接插入排序代码

直接插入排序/** * 直接插入排序 * 保证第i个值前面的列表是拍好序的,然后从第i-1个值开始从后往前比较, * 如果如果队列中的值比较大就把队列中的值往后移一位,直到找到该值在队列中的合适位置 * @param a * @return */ void insertSort(){ int[] a = {49,38,65,97,76,13,27,49,7

2017-04-13 17:34:37 938

原创 java.util.Map包下各个类的特点汇总

java.util.Map包下各类和接口的特点如下图(包含实现方式,特点,父子关系)文字版是这样的:Map接口HashTable实现:基于拉链法,初始长度11,加载因子0.75,扩展长度2倍+1。特点:线程安全(全map锁),支持多线程key和value都不可以是null支持Iterator(迭代器)和Enumeration(枚举器)两种方式

2017-04-10 11:53:14 3653

原创 java.util.Collection包下各个类的特点汇总

java.util.Collection包下各类和接口的特点如下图(包含实现方式,特点,父子关系)文字版是这样的:java.util.Collection接口Set接口特点:没有重复元素,可以有null(最多一个),没有顺序HashSet实现:基于HashMap特点:没有顺序,用equals()和hashCode()协同判断元素是否存在LinkedH

2017-04-10 11:38:38 3928

原创 java写的辗转相除法求两个数的最大公约数和最小公倍数

辗转相除法的原理在于,数字a对数字b求模,假设余数为c,那么a和b的最大公约数就等于b和c的最大公约数。所以java的代码如下:public class Test { public static void main(String[] args) { int a = 12; int b = 9; int result = getResult(a, b); System.ou

2017-04-06 11:20:51 4996

Map下类的特点

Map下各种接口和类的特点,父子关系,实现方式等,vsd格式

2017-04-10

Collection下的类的特点汇总

vsd格式

2017-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除