自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (6)
  • 收藏
  • 关注

原创 LockSupport分析

前几篇分析过wait和notify方法,这两个方法是用来在两个线程之间进行通信的(生产者消费者模型的基本实现)。a.wait()-> b.execute()->b.notify()->a.execute()。我们要知道,在实现两个线程之间能够切换运行时,wait和notify方法其实是运用了一个中间变量,就是Object对象来实现的。今天我们要学习的LockSupport则不是这...

2018-04-26 15:45:09 406

原创 interrupt()和interrupted()以及isInterrupted()

这一篇着重分析下线程中断,在C.U.T中,中断是用的比较多的一种技术手段,运用的好能带来很多的便利。1.interrupt() public void interrupt() { if (this != Thread.currentThread()) checkAccess(); synchronized (blockerLock) ...

2018-04-17 15:00:28 973

原创 sleep()和yield()以及join()

yield()方法意味着“让步”。1.让步的意思线程告诉cpu,你可以去执行其他的线程,我可以让出当前cpu的执行权利。2.它的作用就是将当前线程从执行状态转变到可执行状态。3.但是它不能保证其他线程一定能够执行,因为执行过yield的线程当前依然是可执行的状态,有可能被cpu再次执行。4.但是执行yield的线程不会释放锁,这是要注意的。例子1public class Test { p...

2018-04-13 21:46:01 1047

原创 线程wait和notify深入学习和分析

我们都知道简单的生产者和消费者的实现就是通过Object内的wait和notify实现的。至于例子暂时不写了。一、前言常见面试题:为什么wait和notify方法是Object类中的方法,而不是在Thread里,毕竟通常我们都是在多线程的时候在使用wait和notify方法。解释:1.首先我们知道生产者和消费者模型里,我们使用的是一个Object lock = new Object()。然后在新起...

2018-04-13 10:12:22 2143

原创 Java-线程知识总结

1. 基本解释:进程:进程是系统进行资源分配和调度的一个基本单位。线程:是CPU调度和分派的基本单位。联系:线程之间会互相影响,同一个进程中的多个线程之间可以并发执行。进程的概念更大,线程的概念更接近执行体的概念,它可以与同进程中的的其他线程共享数据,但拥有自己的独立的空间。区别:1.1一个程序至少一个进程,一个进程至少一个线程。1.2进程在执行过程中拥有独立的内存单元,而多个线程共享内存。1.3...

2018-04-11 17:16:57 245

原创 Java---并发知识合集大纲

这一篇作为一篇标签,记录下线程中一些常见的知识点,以及互相之间的分析和总结,希望通过这些知识来提高一下自己。一、线程基础1.同步原语synchronizevolatilevolatile2CAS操作2.Java内存模型JVM解释(繁琐)JVM解释2(简单)final域3.Thread线程间的状态切换wait和notify方法分析sleep/yield/join()分析interruptThread...

2018-04-10 17:03:58 267

原创 锁的消除和粗化

锁的消除出现的时机:虚拟机即时编译期运行时。出现的原因:主要判断依据就是来源于逃逸分析的数据支持,如果判断在一段代码中,堆上的所有数据都不会逃逸出去从而被其他线程访问到,那就可以把它们当做栈上的数据对待,认为它们是线程私有,同步锁无须进行。出现的典型例子:本身对于String的连接操作JVM会转化成StringBudiler进行连接,既然转化成了sb,那么其实sb是一个局部变量,对于append操...

2018-04-10 16:56:28 1903

原创 Java--偏向锁/轻量级锁/重量级锁

首先要解释清楚这几种锁的特征和区别,以及运行时候的变化,需要了解Java对象头的一些知识,在Java对象头的Mark Word内就记录着这些不同锁的状态位。另外偏向锁---轻量级锁---重量级锁本文都需要依托synchronize进行理解和分析。另外也要参照网络上很多的资料。1.对象头:关于对象头的具体记录,可以参考这边:对象头2.同步的原理:关于JVM规范对于同步的解释,可以参考这边:monit...

2018-04-10 14:34:01 1401

原创 分布式锁的3种实现方式

说起分布式的概念,首当其冲就是CAP理论,即满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。但是CAP理论告诉我们,任何系统只能满足其中两个,所以都要求去做取舍。那么人们常说的一般都是,需要牺牲一致性来保证系统的高可用性,只要保证系统的最终一致性,并且允许的时间差值能够被接受就行。对于这个,本人的体会就是订单系统,对于...

2018-04-04 15:20:58 8874 1

java虚拟机规范 java SE 7中文版

java虚拟机规范,详细介绍了规范内容,深入了解非常不错

2017-11-16

redis设计与实现

【官方网站】, 本书的官方网站 www.RedisBook.com 提供了书本试读、相关源码下载和勘误回报等服务,欢迎读者浏览和使用。, 【编辑推荐】, 系统而全面地描述了 Redis 内部运行机制, 图示丰富,描述清晰,并给出大量参考信息,是NoSQL数据库开发人员案头必备, 包括大部分Redis单机特征,以及所有多机特性, 【读者评价】, 这本书描述的知识点很丰富,覆盖很全,里面提到特性较多,有不少我们也没用过 :) 每个命令内部的机制的介绍很不错,很多估计也是首次有详细文档介绍。, ——杨卫华(@TimYang)新浪微博技术总监, 近几年Redis以其高性能、高灵活性的优点,变得越来越流行。但很多人在使用Redis时,仅仅还是停留在比较表层的功能性认识,缺乏对内部机制原理的深入理解。本书是huangz同学长期对Redis源码的阅读心得结晶,书中对Redis的各个方面都进行了详细且深入的讲解,将复杂的原理用最简单的方式为大家解构和讲解,强烈推荐给每一位Redis的使用者阅读。, —— iammutex,NoSQLFan站长,乐视网技术经理, Redis 是近些年来特别火爆的 NoSQL 之一。纵观中外各种书籍还没有一本能对 Redis 内部进行深入剖析,《Redis 设计与实现》可谓开此先河。常和作者在网上交流,知道作者为这本书付出了大量的心血。这本书行文流畅,思路清晰,详细地介绍了 Redis 源码的方方面面。无论是想学习 NoSQL、网络编程的初学者,还是源码控的进阶者,本书都会有很大的帮助。, —— 阮若夷,支付宝高级专家, 【内容简介】, 本书全面而完整地讲解了Redis的内部机制与实现方式,对Redis的大多数单机功能以及所有多机功能的实现原理进行了介绍,展示了这些功能的核心数据结构以及关键的算法思想,图示丰富,描述清晰,并给出大量参考信息。通过阅读本书,读者可以快速、有效地了解Redis的内部构造以及运作机制,更好、更高效地使用Redis。, 本书主要分为四大部分。第一部分“数据结构与对象”介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。第二部分“单机数据库的实现”对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。第三部分“多机数据库的实现”对Redis的Sentinel、复制、集群三个多机功能进行了介绍。第四部分“独立功能的实现”对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本、排序、二进制位数组、慢查询日志、监视器等。本书作者专门维护了www.redisbook.com网站,提供带有详细注释的Redis源代码,以及本书相关的更新内容。

2017-11-08

maven 指南

maven权威指南,好文档,讲解详细,值得下载,不错的东西

2017-11-08

大型分布式网站架构

大型分布式网站架构,web方向,攻击,Hbase,zk,redis介绍

2017-11-07

前端人员的开发手册

很好的介绍了前端的基础知识,对前端有一定的了解,帮助你深刻的认识什么是前端

2016-01-22

JS函数库的使用

很好用的JS函数库,便于开发人员快速查找所需要的函数

2015-12-15

空空如也

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

TA关注的人

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