• 等级
  • 20790 访问
  • 43 原创
  • 2 转发
  • 108612 排名
  • 1 评论
  • 24 获赞

关于可重入锁、可中断锁和公平锁的理解

1.可重入锁如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举个简单的例子,当一个线程执行到某个synchronized方法时,比如说method1,而在method1中会调用另外一个synchronized方法method2

2017-10-31 21:28:34

SpringBatch批处理框架学习笔记(一)

由于在某厂实习的时候主要做的是后台批处理模块的工作,因此接触到了SpringBatch这个批量处理工具,Spring及其子项目实在是太强大了,无所不能。由于批量处理这个工作并不是属于大部分项目会使用到的,因此市面上的书籍并不是特别多。这里推荐一个我认为还不错的入门书籍:《SpringBatch批处理框架》刘相编著在信息系统中,联机和批处理是计算机处理的两种基本模式,前者需要快

2017-08-06 17:25:08

Git 常用操作介绍

安装方法就不赘述了,安装完成后,还需要最后一步设置,在命令行输入:$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.email"email@example.com"注意gitconfig命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个

2017-07-29 10:54:12

【算法课程作业说明】

【注】由于本账号也会同时写其他类型的博客,特此备注:1、每周leetcode博客系列见类别“leetcode”系列。2、课后练习证明题见title为“【作业】算法概论课后证明题8.14”的博客。

2017-06-30 22:41:25

【作业】算法概论课后证明题8.14

【算法分析课程作业】教材:《算法概论》SanjoyDasguptaChristosPapadimitriouUmeshVazirani著题号:8.14题目描述:证明如下问题是NP-完全的:给定一个无向图G=(V,E)和整数k,求G中一个规模为k的团以及一个规模为k的独立集。假定他们都是存在。

2017-06-30 13:27:24

LeetCode:Best Time to Buy and Sell Stock

描述Sayyouhaveanarrayforwhichthei-thelementisthepriceofagivenstockondayi.Ifyouwereonlypermittedtocompleteatmostonetransaction(ie,buyoneandselloneshareoft

2017-06-28 14:15:46

Redis缓存技术介绍

概念redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。

2017-06-27 19:27:00

计算机网络中TCP、IP协议的对比

在OSI模型中,运输层的作用是向它的上层提供通信服务,它是面向通信部分的最高层,同时也是用户功能中的最底层。运输层为应用进程之间提供端到端的逻辑通信,而网络层是以主机为个体的概念。运输层还需要对收到的报文进行差错检测。运输层有两种不同的运输协议:用户数据报协议UDP(UserDatagramProtocol)

2017-06-27 14:40:25

浅析Java设计模式中的单例模式

单例模式Java中的设计模式总结来说至少有23种,而单例模式是其中最简单且最常用的设计模式之一。

2017-06-27 10:14:49

常见消息队列中间件RabbitMQ介绍

引言你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ

2017-06-27 08:52:32

浅析Hadoop中MapReduce任务执行流程

MapReduce任务的执行流程非常复杂,但是可以用一个比较粗糙的流程图来描述,描述了一个MapReduce任务从提交到分发和执行完毕的完整过程:这里要提一下YARN框架,它主要负责的是资源的调度,YARN集群包含两种节点,一种是ResourceManager,这个主要负责资源的管理和调度,一种是NodeManager,这个主要负责任务的运行。下面把ResourceMana

2017-06-26 22:25:35

LeetCode:Perfect Squares

Givenapositiveinteger n,findtheleastnumberofperfectsquarenumbers(forexample, 1,4,9,16,...)whichsumto n.Forexample,given n = 12,return 3 because 12=4+4+4;given n =

2017-06-26 21:41:05

LeetCode:Path Sum II

Givenabinarytreeandasum,findallroot-to-leafpathswhereeachpath'ssumequalsthegivensum.Forexample:Giventhebelowbinarytreeand sum=22,5/\

2017-06-26 19:43:10

LeetCode: Path Sum

Givenabinarytreeandasum,determineifthetreehasaroot-to-leafpathsuchthataddingupallthevaluesalongthepathequalsthegivensum.Forexample:Giventhebelowbinarytreeand sum

2017-06-26 19:36:24

LeetCode:Convert Sorted List to Binary Search Tr

Givenasinglylinkedlistwhereelementsaresortedinascendingorder,convertittoaheightbalancedBST.给出一个单链表,结点是按元素递增的顺序排序,把链表转换成高度平衡的二叉搜索树解题分析:由于链表是按节结点的值递增排序的,因此可以使用双指针,一个快一个慢,

2017-06-26 19:31:59

LeetCode:Search a 2D Matrix II

Writeanefficientalgorithmthatsearchesforavalueinan m x n matrix.Thismatrixhasthefollowingproperties:Integersineachrowaresortedinascendingfromlefttoright.Integersin

2017-06-26 16:54:18

LeetCode: Kth Largest Element in Array

Findthe kthlargestelementinanunsortedarray.Notethatitisthekthlargestelementinthesortedorder,notthekthdistinctelement.Forexample,Given [3,2,1,5,6,4] andk=2,return5.

2017-06-26 16:09:17

如何使用Java实现简单的本地缓存?

我们知道,频繁的IO操作(包括网络请求、数据库请求等)是非常耗费时间资源的,同时也会极大的加重数据库等的压力,降低响应速度。因此对经常访问的数据做适当的缓存机制是非常有必要的。一般我们是通过key从缓存中读取value,如果读取不到则读取数据库,将数据库读取到的数据再放入缓存中。首先数据一般都是有一定的时效性的,也就是说,不是放入缓存中就一直都会存在,如果超过一定时间没有被使用则应当被清空,使

2017-06-26 15:30:42

浅谈Java中BIO、NIO、AIO的概念

首先从线程的角度来区分,BIO、NIO、AIO之间可以这么区分:BIO,同步阻塞式IO,简单理解:一个连接一个线程NIO,同步非阻塞IO,简单理解:一个请求一个线程AIO,异步非阻塞IO,简单理解:一个有效请求一个线程详细来讲:BIO在JDK1.4之前,用Java编写网络请求,都是建立一个ServerSocket,然后,客户端建立Socket时就会询问是否有

2017-06-26 15:24:14

Hadoop-ssh免密码登录原理

在配置hadoop中,经常会有好几台机器组成一个分布式集群,各个机器之间的通信通常需要使用ssh的方式进行连接。正常情况下,我们连接登录机器的时候是需要输入IP、用户名、密码等等的信息,但是由于经常需要频繁地连接,因此若每次都需要输入这些信息那就太过繁琐了,因此最好将集群各个机器配置免密码登录。下面简单将一下免密码登录的原理:首先讲一下计算机网络安全中的加密机制,当前的加密类型可以概括

2017-06-26 10:13:37

Kent-

关注
  • 互联网·电子商务/服务端研发工程师
  • 中国 广东省 广州市
奖章
  • 持之以恒