- 博客(22)
- 资源 (12)
- 收藏
- 关注
转载 synchronized 和 Lock
1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长
2012-09-27 22:42:21 843
转载 HashMap以及hash冲突知识
HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,哈系运算会有重复的哈希值,对于哈希值的冲突,HashMap采用链表来解决的。HashMap是线程不安全的,如果被多个线程共享的操作,将会引发不可预知的问题,据sun的说法,在扩容时,会引起链表的闭环,在get元素时,就会无限循环,后果是cpu100%。Open addressing和Chaini
2012-09-27 22:39:17 3838
转载 聚合索引(clustered index) / 非聚合索引(nonclustered index)
以下我面试经常问的2道题..尤其针对觉得自己SQL SERVER 还不错的同志.. 呵呵 很难有人答得好.. 各位在我收集每个人擅长的东西时,大部分都把SQL SERVER 标为Expert,看看是否答的上来.. 1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)? 2. 聚合索引和非聚合索引有什么区别? 深
2012-09-27 22:37:30 52586 3
转载 SQL 小结
列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩SELECT S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE) FROM S,SC,( SELECT SNO FROM SC WHERE SCGRADE GROUP BY SNO HAVING COUNT(DISTINCT CNO)>=2)A WHERE S.SNO=A.SNO A
2012-09-21 19:01:59 1377
转载 SQL join 中的 on 和 where
SQL步骤:1. join (包括on条件) 2. where 3. operate 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生
2012-09-21 15:14:16 645
转载 JDK 动态代理
1. 首先定义一个接口(JDK的动态代理就是建立在接口编程上,如果一个类没有实现借口,JDK就不会帮你产生对应的动态代理类。但是可以借助CGLIB来直接修改二进制码)public interface UserDao { publicvoid save(Useruser);}2. 接口的实现类(真实业务的实现)public class UserDaoImpl
2012-09-19 18:13:28 486
转载 ThreadLocal 原理
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作来
2012-09-19 17:12:01 712
转载 Java 工具类
System:static voidarraycopy(Object src, int srcPos, Object dest, int destPos, int length) 如果参数 src 和 dest 引用相同的数组对象,则复制的执行过程就好像首先将 srcPos 到srcPos+length-1 位置的组件复制到一个带有 length 组件的临时
2012-09-19 16:02:49 598
转载 关于 Map 接口
Map: voidclear() 从此映射中移除所有映射关系(可选操作)。 booleancontainsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。 booleancontainsValue(Object value) 如果此映射
2012-09-19 14:07:09 454
转载 关于 Collection 接口
Collection: booleanadd(E e) 确保此 collection 包含指定的元素(可选操作)。如果此 collection 不允许有重复元素,并且已经包含了指定的元素,则返回 false booleanaddAll(Collection<? extends E> c) 将指定 collec
2012-09-19 12:02:47 708
转载 关于 Collections
static booleanaddAll(Collection<? super T> c, T... elements) 将所有指定元素添加到指定 collection 中。static intbinarySearch(List<? extends T> list, T
2012-09-18 19:06:48 559
转载 JVM GC 简介
转自http://program-think.blogspot.com/2009/04/java-performance-tuning-3-gc.html 上次的帖子讲到引用类型和基本类型由于内存分配上的差异导致的性能问题。那么今天就来聊一下和内存释放(主要是GC)有关的话题。 事先声明一下:虽说SUN公司已经被Oracle吞并了,但是出于习惯,同时也为了偷懒节省打字,以下仍然
2012-09-18 17:15:19 758
转载 Tips of 垃圾回收 (GC)
绝大多数的对象都在young generation被分配,也在young generation被收回,当younggeneration的空间被填满,GC会进行minor collection(次回收),这次回收不涉及到heap中的其他generation,minor collection根据weak generational hypothesis(弱年代假设)来假设young generation
2012-09-18 17:09:29 768
转载 Using -Xss to adjust Java default thread stack size
Every thread created in a Java program has its own stack space. The stack space used is not allocated from the heap. Infact if you look at the OS report on the memory used by your JVM, you may notice
2012-09-18 16:53:54 2604
转载 JVM内存管理:深入Java内存区域与OOM
转自http://www.iteye.com/topic/802573Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。对于Ja
2012-09-18 16:37:48 1043
转载 Java中的OutOfMemoryError和JVM内存结构
转自liuchangit.comOutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致 内存泄漏;二是调整JVM启动参数增大内存。OutOfMemoryError有好几种情况,每次遇到这个错误时,观察OutOfMemoryError后面的提示信息,就可以发现不同之处,如:java.lang.OutOfM
2012-09-18 16:08:27 848
转载 String 最大长度 及 String Pool
我们可以使用串接操作符得到一个长度更长的字符串,那么,String 对象最多能容纳多少字符呢?查看String的源代码我们可以得知类String中是使用域 count 来记录对象字符的数量,而count 的类型为 int,因此,我们可以推测最长的长度为 2^32,也就是4G。不过,我们在编写源代码的时候,如果使用 Sting str = "aaaa";的形式定义一个字符串,那么双引号里面的AS
2012-09-18 15:53:20 18964
转载 VisualVM
VisualVM是jvm的可视化监控工具下载地址:http://visualvm.java.net/download.html如果在开发环境,使用什么样的工具是无所谓的,只要能得到结果就好。但是在生产环境里,却不能乱选择,因为这些工具本身就会耗费大量的系统资源,如果在一 个生产服务器压力很大的时候,贸然执行这些工具,可能会造成很意外的情况。最好不要在服务器本机监控,远程监控会比较好一些
2012-09-18 15:22:25 2461
转载 关于 Arrays
static ListasList(T... a) 返回一个受指定数组支持的固定大小的列表。返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组,类似的还有List接口的subList()。视图及原列表上的结构性修改要小心)此方法同Collection.toArray() 一起,充当了基
2012-09-09 20:46:11 408
转载 Array.newIntance 返回 Object
In general, use the instanceof operator to test whether an object is an array.At the JVM level, the instanceof operator translates to a specific"instanceof" byte code, which is highly optimized
2012-09-09 20:22:58 506
转载 Spring thread safe
Sorry, but you have completely mixed 2 concepts -thread safety of application context (which is just normal Java object with its own methods) and thread-safety of the beans created by the context as
2012-09-06 15:15:33 602
转载 Log4j tips
XML vs Properties conf:Properties can be defined by a properties file or by an XML file. Log4j looks for a file named log4j.xml and then for a file named log4j.properties.Both must be placed in
2012-09-04 16:49:11 803
Hadoop In Action (Full Version, 非meap版)
2013-10-28
DOM4J从基础到精通
2010-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人