突然发现自己的JAVA基础很差_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 突然发现自己的JAVA基础很差

突然发现自己的JAVA基础很差

 2011/9/26 8:02:39  543089122  http://jqsl2012.iteye.com  我要评论(0)
  • 摘要:今天因为一个问题上网搜索却牵扯出了另一个问题。。。纠结。、、还是纠结纠结之余发现自己的java基础很是薄弱!于是写下了一个纠结的牵扯出的另一个纠结的问题,旨在提醒自己基础很重要!1、类的私有构造函数虽然不能在外部进行实例化,但是通过反射可以实例化。PersonDemop=PersonDemo.class.getDeclaredConstructor(String.class,int.class).newInstance("张三",20);2、都知道System.gc();是进行垃圾回收
  • 标签:Java 自己 发现
今天因为一个问题上网搜索却牵扯出了另一个问题。。。纠结。、、还是纠结
纠结之余发现自己的java基础很是薄弱!于是写下了一个纠结的牵扯出的另一个纠结的问题,旨在提醒自己基础很重要!

1、类的私有构造函数虽然不能在外部进行实例化,但是通过反射可以实例化。
PersonDemo p = PersonDemo.class.getDeclaredConstructor(String.class,int.class).newInstance("张三",20);

2、都知道System.gc();是进行垃圾回收(实际会不会还是由JVM决定),它其实会调用Runtime.getRuntime().gc(); ,
gc()是一个native方法。有个很重要的方法Object的finalize方法,gc()的时候会调用此方法进行IO释放操作。

3、java中的HashMap是基于哈希表的 Map 接口的实现,内部是用数组+链表实现的,性能方面 哈希表>hashu.html" target="_blank">二叉树>线性表.为什么哈希表这么快呢?通过查看源码得知
int i = indexFor(hash, table.length);

indexFor这个方法得到的是数组的索引,在看indexFor这个方法:
static int indexFor(int h, int length) {
        return h & (length-1);
}

通过把哈希值和数组长度进行与运算,为什么要进行与运算呢?因为与运算后得到的数字一定大于等于0并且小于等于数组长度。
(&运算:同位都为1则为1,否则为0。这样2个数进行&运算后得到的10进制数一定0<=n<=len)。
关于哈希表的说明见百科,说的很详细
http://baike.baidu.com/view/1320746.htm
http://zh.wikipedia.org/wiki/%E5%93%88%E5%B8%8C%E8%A1%A8

4、位运算符(&、|、~、^) 与 移位运算符(<<、>>、>>>)
虽然做开发的时候几乎用不到位运算和移位运算,但是看java源代码和别的开源东西的时候这些东西似乎无处不在,所以这个还是很重要的。
http://www.blogjava.net/handan/archive/2007/05/14/117336.html
http://www.iteye.com/topic/766461


发表评论
用户名: 匿名