一些java问题需要弄清楚

来源:互联网 发布:四川农业大学网络继续 编辑:程序博客网 时间:2024/05/01 18:33

 

  1. split的api学习
  2. ajax跨域问题
  3. java内部类复习 http://www.iteye.com/topic/442435
  4. 快速排序算法复习
  5. java collection的comparator使用方法
  6. NIO复习基本知识点(一直没有好好学习,两年了要好好补充回来)
  7. OSGI入门
  8. JAAS入门,以及Jetspeed中如何使用JAAS管理权限
  9. hashMap的初始容量和加载因子
  10. java中的位运算:左移、含符号右移、无符号右移等
  11. java多线程学习---java并发编程实践

 

1.split的api学习

 

split的参数是正则表达式,

 每次找到匹配的字符时,讲左边的子字符串加入数组,然后继续拆分,当发现最后一个字符串不匹配时,直接将最后的字符串加到数组中

 

2.ajax跨域问题

 

http://my.oschina.net/fangxu/blog/32601

http://www.cnblogs.com/BeyondWJsel/archive/2012/06/07/2540578.html

jquery ajax跨域中源码分析,挺好的:http://www.chinaz.com/design/2010/0521/115859.shtml

 

3.java内部类

 

基本理解了,有空再看看Thinking in java补充

 

匿名内部类访问引用外面的局部变量时,这个变量需要是final,

原因是:

1.生命周期不同,局部变量生命周期只存在于方法中,而内部类跟外部类的生命周期是一样的,同时core java里面也提到

2.保证变量不会被内部类修改,这个变量定义为final是,会生成一个copy到内部类中

具体解释如下:

原因一:http://blog.csdn.net/zzp_403184692/article/details/8014235

原因二:http://www.linuxso.com/linuxbiancheng/15360.html

 

 

4.快排

 

复习了(取中间的值作为轴值,小的放左边,大的放右边,递归下次,当拆分数组长度=1,就可以结束了)

 

5.比较器

 

 

-1(负数)代表第一个对象小于第二个对象,升序排序,0代表相等

 

6.NIO复习基本知识点

 

答:

http://www.iteye.com/topic/834447

非阻塞IO的例子

http://www.iteye.com/topic/262231

http://blog.csdn.net/yutian888/article/details/6375479

nio的代码看了很多遍,但是一个事件是如何触发,哪里开始,哪里结束呢?

java阻塞和非阻塞的理解

http://javag.iteye.com/blog/221641

NIO的知识要认认真真看Thinking in Java,记录碰到的问题,要在今年内掌握知识!

P551-568

P551-555:channel和byteBuffer的基本用法

P563-565:内存映射文件,适用于大文件(可达2G),而且速度更快,好几倍

P566-567:文件加锁,加的是系统锁,lock阻塞、tryLock非阻塞

 

nio框架---mina学习

http://zhhphappy.iteye.com/blog/1608352

http://www.189works.com/article-63893-1.html

http://www.blogjava.net/crespochen/archive/2009/04/17/266203.html

7.OSGI入门

http://crx1.blog.163.com/blog/static/2656761520124792510439/

http://www.iteye.com/topic/189002

 

8.JAAS入门,以及Jetspeed中如何使用JAAS管理权限

jaas

a.jaas的例子

http://www.blogjava.net/fastunit/archive/2008/01/28/178204.html

b.jaas的理论详细讲解

http://www.docin.com/p-309488264.html

c.tomcat中配置jaas的例子,挺简单的,当时好好复习

http://blog.csdn.net/wang_zhou_jian/article/details/5461414

d.结合流程图介绍jaas

http://hi.baidu.com/dd_taiyangxue/item/46cf4491cbd197bacd80e551

 

2012-11-15

看完jdk-api文档中关于jaas授权的介绍,多了解了一些概念

但是对jaas授权的原理还是很含糊

我觉得需要问问公司ais的组员和鲍超,了解里面的基本原来才行,这一周了解到这里,要好好做个总结了!

 

d.Jetspeed调试权限代码时,切入点为ajaxapi的org.apache.jetspeed.layout.impl.SecurityPermissionAction.class

先看看这个api如何添加删除权限

 

e.jaas的技术内幕:分析的很详细(再看aas服务器组刘宗泽的ppt,目前先了解到这里,希望以后有机会完全搞懂jaas)

http://wjboy49.iteye.com/blog/810611

http://blog.csdn.net/neaudiy/article/details/6336218

 

http://www.java3z.com/cwbwebhome/article/article8/81388.html?id=3973

系统理解

http://beyond99.blog.51cto.com/1469451/429789

 

9.hashMap的初始容量和加载因子

hashMap的hash()方法中^、<<< 是什么运算符?

^代表异或:同则为0,不同则为1

>>含符号位的右移

>>>不含符号位的右移

 

 

hash(int h)方法根据key的hashCode重新计算一次散列。此算法加入了高位计算,防止低位不变,高位变化时,造成的hash冲突。
static int hash(int h) {
    h ^= (h >>> 20) ^ (h >>> 12);
    return h ^ (h >>> 7) ^ (h >>> 4);
}
移位有什么用?这里设计一些数学公式,先了解到这里就好了,不强求!

而HashMap底层数组的长度总是 2 的 n 次方,这是HashMap在速度上的优化 。

10.java中的位运算:左移、含符号右移、无符号右移等

java的整型是有符号的

java的负数使用2的补码代表,补码=反码+1

源码=补码取反+1

:譬如00000001代表1,去反码11111110,加11111111

 

负数的高位总是1的,最高位1,代表负数

 

11.java并发编程

电子书java并发编程时间

http://www.docin.com/p-129622948.html

1.下载一些(5套)题目,加强基础

2.两年半后重新学习,先看100页,看看效果,是否学到东西

原来并发编程为什么总看不懂,因为理论只是和api的很不熟悉,所以导致这个问题,所以要看权威的书和api才行

原创粉丝点击