自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java并发编程_线程池

1. 线程池的状态线程的五种状态:新建,就绪,运行,阻塞,死亡线程池的五种状态:RUNNING, SHUTDOWN, STOP, TIDYING, TERMINATED。 private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); private static final int COUNT_BITS...

2019-07-31 17:20:52 153

原创 Java并发编程_并发集合

Java并发集合框架非阻塞式集合:这类集合包括添加和移除的方法,如果方法不能立即被执行,则返回null或抛出异常,但是调用这个方法的线程不会被阻塞。阻塞式集合:这类集合也包括添加和移除的数据方法。当集合已满或为空时,被调用的添加或者移除方法就不能立即被执行,那么调用这个方法的线程将被阻塞,一直到该方法可以被成功执行。1. 非阻塞集合1.1 ConcurrentLinkedQueue一个...

2019-07-31 15:05:24 227

原创 Java并发编程_AQS(AbstractQueuedSynchronizer)应用

1. 自定义锁AQS子类定义为非公共内部帮助器类(私有的内部类继承AQS),写锁的时候的一个帮助器,提供获取锁和是释放锁的功能模板package com.lic.AQS;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java...

2019-07-30 15:58:29 138

原创 Java并发编程_AQS(AbstractQueuedSynchronizer)详解

1. AQS简介AQS,AbstractQueuedSynchronizer,即队列同步器。它是构建锁或者其他同步组件的基础框架(如ReentrantLock、ReentrantReadWriteLock、Semaphore等),JUC并发包的作者(Doug Lea)期望它能够成为实现大部分同步需求的基础。它是JUC并发包中的核心基础组件。AQS解决了实现同步器时涉及当的大量细节问题,例如获取...

2019-07-30 15:17:06 378

转载 Java基础_再解Java中的String

原文出自:http://cmsblogs.com/?p=863今天朋友问我String的内容是真的不可变吗?我肯定告诉他是的?因为在我的主观意识里String就是一个不可变的对象。于是他给我发了这段程序:public class StringTest { public static void main(String[] args) throws Exception { ...

2019-07-30 13:31:20 92

原创 Java并发编程_深入分析CAS在原子类中应用

1. 什么是CAS?CAS (compareAndSwap),中文叫比较交换,一种无锁原子算法。过程是这样:它包含 3 个参数 CAS(V,E,N),V表示要更新变量的值,E表示预期值,N表示新值。仅当 V值等于E值时,才会将V的值设为N,如果V值和E值不同,则说明已经有其他线程做两个更新,则当前线程则什么都不做。最后,CAS 返回当前V的真实值。CAS 操作时抱着乐观的态度进行的,它总是认为...

2019-07-30 11:56:52 225

原创 JVM系列_从JVM角度分析finally块中程序到底在return之前执行还是return之后执行

对于finally的作用相关内容不再陈述,网上有很多本博文着重分析finally块中程序到底在return之前执行还是return之后执行?没有了解过JVM指令的可以看这篇博客:JVM操作指令集解析先看一个程序示例:public class AtomicDemo{ public static int test(int i){ try { i=9; return i; ...

2019-07-29 16:18:07 344

原创 Java并发编程_Synchronized底层原理

一、概念是利用锁的机制来实现同步的。锁机制有如下两种特性:互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。可见性:必须确保在锁被释放之前,对共享变量所做的修改,对于随后获得该锁的另一个线程是可见的(即在获得锁时应获得最新共享变量的值),否则另一个线程可能...

2019-07-26 14:55:03 265

原创 JVM系列_Java内存模型(JMM)

Java内存模型1. 基本概念:程序:代码,完成某一件任务,代码序列(静态的概念)进程:程序在某些数据上的一次运行(动态的概念)线程:一个进程可能包含一个或多个线程(占有资源的独立单元)2. JVM与线程 (线程在JVM中)JVM什么时候启动?在运行程序的时候启动 JVM线程 --> 其他的线程(main)JVM 什么时候关闭? 当该程序关闭退出,这个虚拟机实例也就随之...

2019-07-25 10:08:19 184

原创 JVM系列_JVM操作指令集解析

1. 先写一个简单的程序并且运行:package com.lic.hashMap;public class Math { public int compute() { int a = 8; int b = 9; int c = (a + b) * 10; return c; } public static void main(String[] args) { M...

2019-07-22 10:06:10 681 1

原创 Java并发编程_volatile可见性底层实现原理

JMM(java memory model)java内存模型主要目标是定义程序中的变量,(此处所指的变量是实例字段、静态字段等,不包含局部变量和函数参数,因为这两种是线程私有无法共享)在虚拟机中存储到内存与从内存读取出来的规则细节,Java 内存模型规定所有变量都存储在主内存中,每条线程还有自己的工作内存,工作内存保存了该线程使用到的变量到主内存副本拷贝,线程对变量的所有操作(读取、赋值)都必须...

2019-07-21 17:14:45 270

JVM指令集.zip

在学习JVM时.指令集必不可少; 该资源有word和pdf两种模式

2019-07-22

spring4.2.4源码

Spring_4.2.4源码, 其中IOC和AOP模块已经编译过,可以直接导入ecplise使用, 并且这两部分的源码里面是做的有详细笔记的! ! ! 是可以辅助理解源码的

2019-04-14

hadoop-2.8.1-win-x64-bin(winutils)

windows平台下开发时所需的执行文件. 基于hadoop2.8.1版源码,日期20180605,编译的是win平台,Release,x64.

2018-08-13

空空如也

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

TA关注的人

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