自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 二分查找算法及其变种

前言 二分查找算法也称为折半查找算法,是一种在查找算法中普遍使用的算法。其算法的基本思想是:在有序表中,取中间的记录作为比较关键字,若给定值与中间记录的关键字相等,则查找成功;若给定的值小于中间记录的关键字,则在中间记录的左半区间继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区间继续查找;不断重复这个过程,直到查找成功。否则查找失败。这个思想与孔子中的中庸思想和相似。 二分

2017-07-25 22:30:40 482

转载 Java并发包中Lock的实现原理

1. Lock 的简介及使用          Lock是java 1.5中引入的线程同步工具,它主要用于多线程下共享资源的控制。本质上Lock仅仅是一个接口(位于源码包中的java\util\concurrent\locks中),它包含以下方法 //尝试获取锁,获取成功则返回,否则阻塞当前线程 void lock(); //尝试获取锁,线程在成功获取锁之前被中断,则放弃获取锁,抛

2017-07-25 15:52:19 294 1

转载 深入分析ConcurrentHashMap

术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。  哈希表 hash table 根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称

2017-07-25 13:29:09 155

转载 java NIO的一些个人总结

首先了解下所谓的java nio是个什么东西! IO是靠字符或字节进行传输,比较慢! 而NIO是靠块, 也就相当于一个Buffer, 一块一块 的传输, 速度较快 ! 同时加入了多线程 的控制, 一个NIO流可以同时传输多个块等, 也就是所谓的异步传输 ;  传统 的并发型 服务器设计是利用阻塞型网络I/O 以多线程的模式(一个SOCKET链接,服务端就启动一个线程接受服务 )

2017-07-25 13:07:09 216

转载 TCP三次握手连接和TCP四次挥手及大量TIME_WAIT解决方法:

1.TCP建立连接,三次握手 建立的TCP连接可靠的连接,必须经过三次握手建立连接才能正式通信彼此传输数数据。 客户端请求服务端建立连接 第一次握手:客户给服务发送一个请求报文SYN, 客户端的状态置SYN_SENT状态 第二次握手:服务端在收到客户端发过来的SYN请求报文后,开始给客户端发送ACK报文和SYN报文,状态置为SYN_RECE 第三次握手:客户端口收到服

2017-07-17 16:45:15 725

转载 select、poll、epoll之间的区别总结[整理]

select、poll、epoll之间的区别总结[整理]   select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的

2017-07-17 16:43:58 239

转载 Lock和synchronized比较详解

Java并发编程:Lock 今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章,注意红色字体。   在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。

2017-07-17 16:43:06 222

转载 读写锁和两种同步方式的对比

读写锁ReentrantReadWriteLock概述 大型网站中很重要的一块内容就是数据的读写,ReentrantLock虽然具有 完全互斥排他的效果(即同一时间只有一个线程正在执行lock后面的任务),但是效率非常低。所以在JDK中提供了一种读写锁 ReentrantReadWriteLock,使用它可以加快运行效率。 读写锁表示两个锁,一个是读操作相关的锁,称为共享锁;另一个是写

2017-07-17 16:41:23 220

转载 Java并发编程:并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。

2017-07-17 16:39:57 149

转载 ThreadLocal可能引起的内存泄露

ThreadLocal可能引起的内存泄露 threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好的做法是将调用threadlocal的remove方法.   在threadlocal的生命周期中,都存在这些引用. 看下图: 实线代表强

2017-07-17 15:37:31 244

转载 Java的23中设计模式

Java的23种设计模式 从这一块开始,我们详细介绍Java中23种设计模式的概念,应用场景等情况,并结合他们的特点及设计模式的原则进行分析。 1、工厂方法模式(Factory Method) 工厂方法模式分为三种: 11、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图: 举例如下:(我们举一个发送邮件和短信的例子)

2017-07-15 13:34:03 889

空空如也

空空如也

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

TA关注的人

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