- 博客(11)
- 收藏
- 关注
原创 Java NIO -- no-block server & client
Server:package com.colorcc.sample.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java.nio.channels.SelectionKey
2015-11-15 21:36:58
278
原创 Java NIO -- block server & client
原理Server:package com.colorcc.sample.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java.nio.channels.Select
2015-11-15 17:11:16
241
原创 一个HTTP请求的猜想
Client:1. Firefox 等是工具,用来调用OS的函数,生成HTTP数据2. HTTP数据传递到TCP层,加端口号,如80803. TCP数据传到IP等,加IP,如: 192.168.1.1:80804. IP层数据传到链路层,加MAC地址, 如 xx.xx.xx.xx 5. 链路层数据调用路由器网络函数,将数据发送到网络,并经过网络设备和协议传送到Server的 port 端口,如...
2013-09-16 23:32:14
130
原创 Spring 3.2 源码解析 -- XML bean 元素到 BeanDefinition 解析过程
大体过程: XML 的 <bean ...> ---> Document. element ---> GenericBeanDefinition ---> AbstractBeanDefinition implements BeanDefinition ---> BeanDefinitionHolder ----> registory<bea...
2013-01-27 01:51:54
123
原创 图说 ThreadPoolExecutor 和 Lock 原理
ThreadPoolExecutor: 创建一个 thread pool, pool 中每个 thread 称为 worker,负责执行任务(Task), task个数如果不大于线程池的个数,则分别分给线程池里的各个线程,否则 task 入队列, worker 执行完自己 task,去队列取新任务执行。直到队列里面没有任务,park 住线程池中的线程。 AQS: ...
2012-11-20 21:55:09
808
原创 图说 ThreadLocal
ThreadLocal tl1 = new ThreadLocal() 的意思是定义一个变量,以后每个线程都可以用该变量 set, get自己线程里面的数据,其目的是为了保证变量在各个线程命名一致性,即通过 tl1.set(), tl1.get() 就可以看成每个好像各自单独定义了一个变量 tl1,各个线程互不影响。 其实现机制为: ThreadLocal tl1 = ...
2012-11-15 23:48:39
98
原创 JUC之 ThreadPoolExecutor 源码解析
用下面语句创建一个线程池ThreadPoolExecutor。ExecutorServiceexecutorProducer = Executors.newFixedThreadPool(2);该段代码主要初始化线程池的一些参数,如:...
2012-11-09 21:05:02
97
原创 CountDownLatch 和 CyclicBarrier 的区别
CountDownLatch: 只能使用一次CyclicBarrier: 可以循环使用 package com.colorcc.multi.thread.jcp;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorS...
2012-11-05 22:24:02
106
原创 ThreadLocal
ThreadLocal 的功能是设置每个 Thread 的变量。Thread 有个如下变量:Thread ------> ThreadLocal.ThreadLocalMap threadLocals = null; ThreadLocalMap的构造函数:ThreadLocalMap(ThreadLocal firstKey, Object firstV...
2012-10-17 00:12:53
100
原创 Java SoftReference VS WeakReference
SoftReference & WeakReference 都是相对 StrongReference,在某些条件下,非StrongReference会被垃圾回收,可以防止OOM。 SoftReference 比较好理解,就是在 Memory 满的时候,OOM之前,SoftReference对象会被GC回收。比较适合做缓存。 WeakReference,会咋对象不在被其他 S...
2012-10-15 21:48:32
117
原创 CAS 源码分析 (非proxy模式)
一、CAS 基本原理 (3,4,5,9.2,9.3是主要步骤)第一次访问:1. 浏览器 发起访问WebAPP 请求: http://www.web.com/app2. 客户端 AuthenticationFilter Filter 发现Session中无 Assertion,且URL中无 ticket 变量。生成 servi...
2012-10-15 21:38:25
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人