自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

JDK 下载地址

从oracle上面找了很久的jdk6的下载地址,记录下。 http://www.oracle.com/technetwork/java/javase/archive-139210.html 可以找到各种版本的jdk

2014-06-30 13:32:13 133

ReentrantLock与ReadWriteLock的使用

下面的内容基本上来自于《Java并发编程实践》, 留个记录~ 一, ReentrantLockReentrantLock实现了Lock接口,提供了与synchronized 相同的互斥和内存可见性的保证。获得ReentrantLock的锁与进入synchronized 块有着相同的内存语义;释放ReentrantLock锁与退出synchronized块有着相同的内存语义。下面是Lo...

2014-02-13 15:58:02 127

原创 几种同步工具介绍

下面的内容基本上来自于《Java并发编程实践》, 留个记录~ 一,CountDownLatchCountDownLatch是一个灵活的闭锁的实现,允许一个或多个线程等待一个事件集的发生。闭锁的状态包括一个计数器,初始化为一个正数,用来表现需要等待的事件数。countDown方法对计数器做减操作,表示一个事件已经发生了,而await方法会一直阻塞直到计数器为0,或者等待线程中断以...

2014-02-12 13:31:23 163

简单记录spring 实现IOC的流程

IOC: Inversion of Control, 指由spring容器来生成对象并且完成对象的装配。 下面来看下这两个问题:(下面是以 ClassPathXmlApplicationContext为起点)1, spring如何生成对象?2, spring如何完成对象组装? 完成这个的核心是通过BeanFactory,下面是BeanFactory的代码:public...

2014-01-28 17:15:25 203

Hashtable与ConcurrentHashMap区别

相同点: Hashtable 和 ConcurrentHashMap都是线程安全的,可以在多线程环境中运行; key跟value都不能是null区别: 两者主要是性能上的差异,Hashtable的所有操作都会锁住整个对象,虽然能够保证线程安全,但是性能较差; ConcurrentHashMap内部使用Segment数组,每个Segment类似于Hashtable,在“写”线程或者部分特殊的“...

2014-01-22 12:12:34 250

原创 tomcat 启动流程

刚开始的时候,只是想导入源码直接看,但是水平不够,有些流程不知道怎么走了,, 于是搭建了调试的环境,边调试边学习。 搭建调试的环境可以参考下面的链接:http://blog.csdn.net/teabook00/article/details/5620023 下面先粗略的过下整个流程。1, tomcat的启动是从Bootstrap开始, 下面是main()的主要代码  p...

2014-01-20 18:34:48 127

java ArrayList与Vector源码学习

Vector和ArrayList非常相似,两者都是用来表示可变数组,内部元素的存储都是通过数组来实现,可以随机的访问某个元素。两者的主要区别是Vector的方法带有synchronized标志,各方法的访问是同步的,因此,Vector能够支持多线程,但是相应地效率比较低;ArrayList的方法没有synchronized标志,不是线程安全的。还有个比较小的差异是Vector在容量不够时,选...

2014-01-08 18:02:38 85

浅析jdk动态代理

, 以前一直没觉得,现在发现写博客还是一件蛮有趣的事情, :) 动态代理的实现有两种方式: 一种是jdk的动态代理,实现类必须实现某个接口; 另一种是cglib,使用底层的字节码技术,对实现类没有要求。 首先来看一个简单使用jdk动态代理的例子:第一步: 定义接口 public interface Animal { public String getName();...

2014-01-06 17:33:39 77

静态方法同步 与 非静态方法同步

  , 之前在面试的时候遇到了这个问题,没有理清楚相互之间的同步关系,现在有空记录下~   静态方法同步形式如:  static  synchronized method()  非静态方法同步形式如: synchronized method()   其中, 静态同步(static synchronized)锁定的对象是class,非静态方法同步锁定的对象是 当前对象(this...

2014-01-03 17:38:20 175

原创 Java 堆栈

  引用自 http://blog.csdn.net/jerryao/article/details/874101 Java栈与堆----对这两个概念的不明好久,终于找到一篇好文,拿来共享1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄...

2013-12-27 15:44:41 102

原创 摘录-- 介绍Java内存泄漏的原因

偶然看到介绍Java内存泄漏的文章,写得很清晰http://www.programcreek.com/2013/10/the-introduction-of-memory-leak-what-why-and-how/

2013-12-11 11:36:49 69

原创 摘录RestTemplate的集成测试类

/* 2. * Copyright 2002-2010 the original author or authors. 3. * 4. * Licensed under the Apache License, Version 2.0 (the "License"); 5. * you may not use this file except in compl...

2013-07-30 17:10:13 166

原创 盘点Web开源项目大集合【太全了!!】

转载自:http://blog.csdn.net/youacai/article/details/6732099?reload下面是一个Web应用的开源列表。没什么可说的,太疯狂了。尤其是Web 2.0那一堆。我不知道你怎么想,有些开源项目的源码写得挺不好的,尤其是性能方面。或许你会以为改一改他们就可以成为为自己所用,不过,改这些开源的项目还真不容易。玩玩还可以。数字媒体相册(...

2013-06-25 22:27:21 907

空空如也

线程安全困惑

2014-02-11

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

TA关注的人

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