`

一些java问题需要弄清楚

 
阅读更多

 

  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才行

分享到:
评论

相关推荐

    弄清楚JAVA的这些重点就可以学习android了

    以下是一些Java的关键知识点,这些都是学习Android开发所必需的: 1. **基本语法**:包括数据类型(如整型、浮点型、字符型、布尔型)、变量声明与赋值、运算符(算术、关系、逻辑、位、赋值等)、流程控制(if语句...

    java解决中文乱码问题

    当时因为学习忙没去关注这个,等我闲了,那个朋友不弄这个,问他,他也不说不大清楚,最后自己对这个学习也不了了之了。 Java 中文乱码问题的解决方法 1. 使用 UTF-8 编码 在 Java 中,默认的编码方式是 UNICODE...

    java初学者的工具ppt文件

    如果想学Java EE(对不起,我不了解JavaME,所以我无法涉及JavaME的相关内容),对于AWT、Swing是否要学习呢,我个人是觉得还是要知道其所以然的,特别是其事件处理模式,我强烈建议初学者一定要弄清楚,其他具体的...

    JAVA课程设计学生信息管理系统(源码+文档资料)

    确定数据类型,以用度数据符合常规,我个人认为这个系统虽然简单,但是真的非常不错,希望你的需要是为了学习,而不是为了交一份课程设计,如果你把把这个系统弄清楚,我相信你的JAVA基础水平一定更上一层楼。

    JAVA自学之路

    一切和我们的直接工作目标关联不大的东西,扔在一边或者弄清楚到足够支持下一步的学习就可以了。 那这样岂不是妨碍我成为通晓各种细节的高手了吗? 我一向不认为一个人掌握了很多很多知识点的细节就是高手了,一...

    Java Learning Path process外文文献.doc

    这两个问题需要弄清楚,这会消除学习Java和使用JDK的最大障碍。推荐阅读王森的《Java深度历险》,这本书对这两个问题进行了深入讨论。 第二步是学习Java语法。Java语法与C++类似,基本是主流编程语言的一种,没有...

    JAVA源码Java赌神游戏网络版源代码

    - **理解逻辑流程**:跟踪代码执行的路径,弄清楚各个部分是如何协同工作的。 - **调试和测试**:通过调试工具来检查代码的行为是否符合预期。 ### 5. 总结 通过对“JAVA源码Java赌神游戏网络版源代码”的分析,...

    java程序员成长之路.doc

    在这个阶段,需要弄清楚浏览器和服务器的关系和分工,cookie 和 session,request 和 response 等概念。 然后,需要学习 Struts、Hibernate 和 Spring 等框架,理解为什么要用这些框架,而不是 JSP、Servlet 和 ...

    Java Applet实例讲解-华丽的或实用的java小程序

    如果已经能熟练的使用Java小程序,你所要做的只是上网去找一些现成的java小程序,并弄清楚它们的内置参数和如何设置这些参数,这是一件很繁琐的事。现在“洪恩在线”帮你去完成这些繁琐的工作,我们收集了一些有趣的...

    java实现汉字转拼音.zip

    java汉字转拼音所用的jar包,适用于java开发,下载后直接解压即可使用,安装在eclipse中,相应的配置博客中已写清楚,链接:https://blog.csdn.net/gzu_zb/article/details/106789817

    Practical Java(中文版(繁体+简体))

    實踐47:弄清楚synchronized statics函數與synchronized instance函數 之間的差異 166 實踐48:以「private數據 + 相應訪問函數(accessor)」替換 「public/protected數據」 170 實踐49:避免無謂的同步控制173 實...

Global site tag (gtag.js) - Google Analytics