- 浏览: 77319 次
- 性别:
- 来自: 桂-京
最新评论
-
xiaoyanzi1205:
一年前的文章了,看起来还是受益匪浅
mina2线程总结 -
红发programmer:
学习了,讲的非常详细。看来博主也是大牛,读的如此细致。
mina2线程总结 -
Just_抱怨:
顶下,我对基础知识掌握的不好,知道有这么和东东,但不知道是干嘛 ...
学习Java虚拟机 -
zhufeng1981:
“虚拟机实例”——理解的不错。
学习Java虚拟机 -
uule:
哥们,我测试过之后发现String比StringBuffer耗 ...
java性能优化(转)
文章列表
满,那天给你打电话感觉你状态不好哇。你现在时间也不多了,我也没多少机会教你。现在写些给你自己参考吧。
1.交朋友
我也不懂得你和你女朋友平时到底是一起看书,还是怎么样?大学两个人在一起要么是更 ...
我在许多成功励志的书籍当中都看到过本杰明•富兰克林这个名字,所以一直希望能更深入的了解他,以便从中发现一些他成功的密秘。
读了他的自传后,影响最深的就是那十三项美德:节制、缄默、秩序、决心、 ...
基本上是从这篇文章转过来的:http://developer.51cto.com/art/200908/143504.htm
1.对于同步方法和对象:
无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的不同对象访问。
解释一下“取得的锁都是对象”的意思:如果一个对象有多个synchronized方法,只要一个线程访问了这个对象中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法,但是对于不是synchronized的方法可以访问。而对于其他线程里的另一 ...
From:http://www.blogjava.net/itkui/archive/2007/07/07/128771.html
JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的。
public class Test2 extends Test1 {
//6.子类构造器
Test2() {
System.out.print("6\n");
}
//2.子类静态初始化块
static {
System.out.print("2\n");
}
//5.初始化块
{
S ...
hashcode的作用就是为了快速查找集合中是否存在重复元素。它是配合euqals方法使用的。
先简要介绍equals方法:在object中此方法比较两个对象的地址是不是相等。api中的一些类重写了此方法,如String重写了此方法(但StringBuffer没有重写此方法),比较的是两个字符串的内容是不是相等。因此我们在定义一个对象的时候也可以重写equals方法,按照我们的原则来定义。
再看一个问题:
为什么重写了equals方法需要重写hashcode方法?
答:为了更快判断集合中是否已存在某对象。对于链表和数组,如果我们要查找某个元素是否已经存在,我们需要遍历数组和链表,直到找到这个 ...
List 、Set简介
- 博客分类:
- J2se基础
List和Set都继承了Collection
List能够确保元素的特定顺序(存入的先后顺序),提供了get方法来访问特定的元素。
Set能够确保元素的唯一性,但不能够保证次序。没有类似于get的方法。
ArrayList支持随机访问,但是在中间位置插入或除去元素时效率比较低。
LinkedList可以高效的支持删除和插入元素。
HashSet(由HashMap支持,键唯一)、HashMap是基于哈希表来实现,效率比较高,但没有排序。它们判断元素的唯一性是通过hashcode,euqals方法来实现的。
TreeSet(有TreeMap支持,键唯一)、TreeMap是基于平衡二叉树实现。效率 ...
通过网上收集和自己总结的:
java中只可以继承一个类却可以继承多个接口。一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性, 所以抽象类作为类型定义工具的效能大打折扣(只能是定义为一种类型,可以结合接口使用)。在这一点上,Java接口的优势就出来了,任何一个实现了一个Java接口所规定的方法的类都可以具有这个接 口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。
抽象类可以提供一些方法的实现。Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供一些方法的实现,而Jav ...
今天复习了一下这些知识,顺便做了下笔记.1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static final)。6. 非RAM存储:硬盘等永久存储空间这里我们主要关心栈,堆和常量池,对于栈和常量池中的对象可以共享,对于堆中的对象不可以共享。栈中的数据大小和生命周期是可以确定的, ...
前几天生日的时候公司发了一本书:目送。挺好的一本书。想想在这忙碌的城市生活中,能够安静地看会书是多么美妙的事情。看电影,玩游戏是件伤神伤身的事情,以后就把娱乐,休息转为多看看书。看书也能减少一些浮躁的心情。
从现在开始多看书,坚持多买些书回来看看。就从这本《目送》开始吧。
From:http://blog.csdn.net/kj021320/archive/2006/08/19/1096021.aspx
如何生成explain plan?
解答:运行utlxplan.sql. 建立plan 表
针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table
运行utlxplp.sql 或 utlxpls.sql察看explain plan
EXPLAIN PLAN 是一个很好的分析SQL语句的工具,它甚至可以在不执行SQL的情况下分析语句. 通过分析,我们就可以知道OR ...
通过异常捕获判断字符串是不是数字格式
- 博客分类:
- 小技巧
public class IfNum {
public static void main(String[] args) {
String str1 = "123";
String str2 = "1a3";
System.out.println("123是数字吗?:"+isInteger(str1));
System.out.println("1a3是数字吗?:"+isInteger(str2));
}
//通过 ...
hibernate多对多中间表,一般都是两个外键,例如 用户表(user),主键:userid. 角色表(role),主键:roleid. 中间表字段为两个外键:userid,roleid作为联合主键。 但是如果想在中间表加一个字段作为单独的主键,即设置一个字段id作为主键。并且数据库采用的是oracle数据库,主键不能自增。那么采用hibernate向中间表插数据的时候,就会出现问题,即主键id字段插入为空,会报错误。
由于oracle不支持自动编号,为解决以上错误,我们还得为oracle数据库创建一个SEQUENCE(序列)语句如 create sequence t_user_rol ...
二级缓存和查询缓存都相当于一个map。
二级缓存缓存的key为id,value为实体对象。一般load(),iterate()使用到二级缓存,list()需要结合查询缓存使用。iterate()和list()区别如下:
iterate()不需要开启查询缓存,它首先 ...