自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

Android应用程序开发宝典

android 作为时下最火的系统 这是一本详细介绍了开发过程的好书 值得一看

2012-07-07

简易无线遥控系统

本文是一套简易的无线遥控系统,涉及了通信的很多方面,讲的也很详细,有兴趣的可以看看。

2012-03-29

空空如也

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

TA关注的人

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