自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

节至

节而有度,无所不至!

  • 博客(13)
  • 资源 (8)
  • 收藏
  • 关注

转载 java8中对ConcurrentHashMap的改进

一、简单回顾ConcurrentHashMap在jdk1.7中的设计    先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示:每一个segment都是一个HashEntry[] table, table中的每一个元素本质上都是一个HashEntry的单向队列。比如table[3]为首节点,table[3]->next为节点1,之后为节点2,依次类

2016-07-30 18:07:57 10000

转载 TreadLocal详解

ThreadLocal是什么  早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。  当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独

2016-07-30 14:32:06 1179

原创 java多线程--condition条件

概要前面对JUC包中的锁的原理进行了介绍,本章会JUC中对与锁经常配合使用的Condition进行介绍,内容包括:Condition介绍Condition函数列表Condition示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496716.html Condition介绍Condition的作用是对锁进行更精确的控

2016-07-24 20:56:54 3453 3

转载 java多线程--JUC集合框架

概要之前,在"Java 集合系列目录(Category)"中,讲解了Java集合包中的各个类。接下来,将展开对JUC包中的集合进行学习。在学习之前,先温习一下"Java集合包"。本章内容包括:Java集合包JUC中的集合类转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498454.htmlJava集合包在“Java 集

2016-07-12 17:47:52 1534

原创 java 8 中的stream

Java 8 中的 Streams 详解Java 8 是迄今为止在语义上改动上最大的一个平台。除了最显著的 Lambda 表达式之外,还有很多初次见面的特性,例如本文主题的 Streams API。这里介绍了它出现的背景和具体用法。为什么需要 StreamStream 作为 Java 8 的一大

2016-07-11 14:51:41 1843 1

原创 ClassLoader和Class.forName

Class的装载分了三个阶段,loading(加载),linking(在这个过程中,又包括了验证,准备和解析三个阶段)和initializing(初始化),分别定义在The Java Language Specification的12.2,12.3和12.4。在源码中,可以发现,实际上Class.forName(className) 是调用Class.forName(className, true,

2016-07-08 22:58:33 803

转载 java多线程--公平锁(四)

释放公平锁(基于JDK1.7.0_40)1. unlock()unlock()在ReentrantLock.java中实现的,源码如下:public void unlock() { sync.release(1);}说明:unlock()是解锁函数,它是通过AQS的release()函数来实现的。在这里,“1”的含义和“获取锁的函数acquire(1)的含

2016-07-01 18:51:41 643

转载 java多线程--公平锁(三)

获取公平锁(基于JDK1.7.0_40)通过前面“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock”的“示例1”,我们知道,获取锁是通过lock()函数。下面,我们以lock()对获取公平锁的过程进行展开。1. lock()lock()在ReentrantLock.java的FairSync类中实现,它的源码如下:final void lock()

2016-07-01 15:31:35 4308

转载 java多线程--公平锁(二)

/*AQS(AbstractQueuedSynchronizer.java) * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * Written by Doug Lea with assistance from members of JCP JSR-166 * Expert Group

2016-07-01 11:22:33 1143

转载 java多线程--公平锁(一)

基本概念本章,我们会讲解“线程获取公平锁”的原理;在讲解之前,需要了解几个基本概念。后面的内容,都是基于这些概念的;这些概念可能比较枯燥,但从这些概念中,能窥见“java锁”的一些架构,这对我们了解锁是有帮助的。1. AQS -- 指AbstractQueuedSynchronizer类。    AQS是java中管理“锁”的抽象类,锁的许多公共方法都是在这个类中实现。AQS是独占锁(

2016-07-01 11:17:09 1795

转载 java多线程--“升级版”生产者消费者

ReentrantLock介绍ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”。顾名思义,ReentrantLock锁在同一个时间点只能被一个线程锁持有;而可重入的意思是,ReentrantLock锁,可以被单个线程多次获取。ReentrantLock分为“公平锁”和“非公平锁”。它们的区别体现在获取锁的机制上是否公平。“锁”是为了保护竞争资源,防止多个线程同时操作线

2016-07-01 10:48:44 2408

转载 java多线程--“锁”总览

根据锁的添加到Java中的时间,Java中的锁,可以分为"同步锁"和"JUC包中的锁"。同步锁  即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。  同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个时间点,该同步锁能且只能被一个线程获取到。这样,获取到同步锁的线程就能

2016-07-01 10:33:08 2276 1

转载 java多线程--AtomicLongFieldUpdater

AtomicLongFieldUpdater介绍AtomicLongFieldUpdater可以对指定"类的 'volatile long'类型的成员"进行原子更新。它是基于反射原理实现的。 AtomicLongFieldUpdater示例// LongTest.java的源码import java.util.concurrent.atomic.AtomicLongField

2016-07-01 10:05:41 2320

linux shell中文第二版

上传一本人人都能看的起的linux shell学习书籍,希望对大家能够有帮助

2018-08-08

robot mongo操作手册

MongoDB 教程 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

2018-03-16

scala实战高清讲解

scala编程进阶过程中不可或缺的书籍之一,详细介绍了scala语言的各种中高级语法,对于初学和高级开发人员有很大帮助

2018-03-16

weka算法库以及操作的详细说明

weka算法以及预处理的详细说明文档,方便查阅,版本为3.9.0,最新版

2017-11-21

电影推荐训练集

这是一个还不小的数据集,总共有四个资源文件,数据总共有100w

2016-05-20

推荐系统实践

介绍了推荐系统的常用算法,还有部分关键代码的实现,仔细研究会有很不一样的收获

2015-11-26

空空如也

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

TA关注的人

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