- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 [leetcode]Remove Duplicates from Sorted Array II
public class Solution { public int removeDuplicates(int[] nums) { if(nums.length==0) return 0; int len=1,j=1,time=1,temp=nums[0]; for(int i=1;i<nums.length;i++)
2016-03-26 20:43:17 626 1
转载 深入理解Java内存模型(一)——基础
转载网址:http://www.infoq.com/cn/articles/java-memory-model-1并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发
2016-03-25 09:39:13 597
转载 java并发-怎么理解Condition
在java.util.concurrent包中,有两个很特殊的工具类,Condition和ReentrantLock,使用过的人都知道,ReentrantLock(重入锁)是jdk的concurrent包提供的一种独占锁的实现。它继承自Dong Lea的 AbstractQueuedSynchronizer(同步器),确切的说是ReentrantLock的一个内部类继承了AbstractQueue
2016-03-21 18:18:53 731
原创 真正理解java wait notify
从字面上理解,notify()方法能够唤醒一个正在等待该对象的monitor的线程,当有多个线程都在等待该对象的monitor的话,则只能唤醒其中一个线程,具体唤醒哪个线程则不得而知。nofityAll()方法能够唤醒所有正在等待该对象的monitor的线程,这一点与notify()方法是不同的。虽然会唤醒所有的进程,但是同时也只会有一个运行,因为只有一个进程可以获得锁。notify(
2016-03-21 17:48:21 994 1
原创 数据库优化
数据库性能优化主要一下几个方面:1、sql语句的执行计划是否正常2、减少应用和数据库的交互次数、同一个sql语句的执行次数3、数据库实体的碎片的整理(特别是对某些表经常进行insert和delete动作,尤其注意,索引字段为系列字段、自增长字段、时间字段,对于业务比较频繁的系统,最好一个月重建一次)4、减少表之间的关联,特别对于批量数据处理,尽量单表查询数据,统一在内存中进行逻辑处
2016-03-21 15:14:39 811 1
原创 java nio整理
java Nio 资料整理Java NIO系列教程(六) Selector http://ifeve.com/selectors/#Registering 所有文章 并发编程NIO系列: nio系列 Java NIO中的Selector和IO复用selector和Io复用非阻塞io是Channel搭配ByteBuffer阻...
2016-03-18 17:27:12 590 1
原创 整理io中的同步异步,阻塞非阻塞概念
整理阻塞io,非阻塞io,同步io,异步io的相关概念阻塞、非阻塞:表示可能出现的状态,得到结果前线程会不会阻塞。请求不能立即得到应答,需要等待,那就是阻塞;否则可以理解为非阻塞。区别就在于:数据拷贝的时候进程是否阻塞!在下面看到Linux5中io模型分析就可以知道。同步、异步:表示一种协作方式,是从全局更高的角度 “进程之间 合作的方式。指二个线程之间的交互方式。
2016-03-18 11:52:14 568
转载 kafka配置说明
broker.id=0num.network.threads=2num.io.threads=8socket.send.buffer.bytes=1048576socket.receive.buffer.bytes=1048576socket.request.max.bytes=104857600log.dirs=/tmp/kafka-logsnum.partition
2016-03-18 10:56:50 695
转载 Java String 源码解析
首先String类是final的(final 关键字用于类说明该类是不能被继承的)类属性private final char value[];//这是用于存储String字符的数组 private final int offset;//这是value数组的第一个有效的字符的index private final int count;//这是String中的字符个数
2016-03-15 10:29:10 902
原创 kafka学习教程
1.Consumer Group Examplehttps://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example2.kafka常用配置http://kafka.apache.org/08/configuration.html 3.Producer Examplehttps://cw
2016-03-09 20:29:23 666
转载 深入理解Java内存模型——volatile
转载网址:http://www.infoq.com/cn/articles/java-memory-model-4/volatile的特性当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这些单个读/写操作做了同步。下面我们通过具体的示例来说明
2016-03-07 10:34:36 586
转载 LeetCode: Spiral Matrix 解题报告
转载网址:http://www.tuicool.com/articles/bA3yAfSpiral MatrixGiven a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example,Given the fo
2016-03-06 20:45:27 646
转载 Java的ConcurrentHashMap的实现原理
Java的ConcurrentHashMap的实现原理Java5中的ConcurrentHashMap,线程安全,设计巧妙,用桶粒度的锁,避免了put和get中对整个map的锁定,尤其在get中,只对一个HashEntry做锁定操作,性能提升是显而易见的。具体实现中使用了锁分离机制,在 这个帖子 中有非常详细的讨论。 这里 有关于Java内存模型结合ConcurrentHa
2016-03-04 11:40:57 875
转载 非阻塞同步算法与CAS(Compare and Swap)无锁算法
参考文献:http://www.cnblogs.com/Mainz/p/3546347.html?utm_source=tuicool&utm_medium=referral锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换
2016-03-04 11:39:19 920
转载 Shell函数
一、Shell函数本教程目前为止所有脚本都是从头到尾执行。这样做很好,但你也许已经注意到有些脚本段间互相重复。shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数。shell中函数的定义格式如下:复制代码代码如下:函数名(){ command1 command2 ... commandN
2016-03-01 10:41:27 621
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人