码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习总结

时间:2017-09-02 01:03:16      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:orm   默认   class   zed   类型   bre   shm   timer   效果   

 

先对自己脑海中能瞬间出现的知识做一个罗列,后续再详细展开。

 

1.java环境变量,JAVA_HOME,PATH:$JAVA_HOME/bin

2.java基础数据类型:byte,boolean,char short,int,long,float,double.

3.String是final修饰的不可变类,string适合做map的键值,它生来就有hash值.构造String的类有StringBulder和StringBuffer,常用方法有append()和toString(),后者是同步,线程安全的,但是效率比较低。

4.Java对象的创建,可通过new或者clone或者反射得到对象。

5.类加载,BootstrapClassLoader,ExtensionClassLoader,以及Application ClassLoader即用户自定义类加载,即ClassPath中的类加载。双亲委托,java类加载会首先使用父类,若父类中加载不到才会自己加载。

6.新建的对象都在堆内存中,对象的引用存储在栈中,指向堆中的对象。新建对象在青年代,大对象直接放进老年代。对象GC,引用计数法和可达性分析来判断对象是否可以回收。另外,GC算法有 标记清除法(标记然后清楚,会造成堆中空间稀疏,各种空闲区域),复制法(需要一半空间闲置用于复制),标记整理法(标记然后移动到堆的边缘,接着统一回收),分区法(对不同区采用不同的回收算法)。标记清楚或者标记整理适合青年代,而复制法适合老年代,青年代中多次GC未被回收的对象会转到老年代,空间可拆分。

7.Java集合框架,集合的顶层接口为Collection,Set(集合中元素不能重复)、Queue以及List的分别继承Collection.Set有HashSet(可为null),LinkedHashSet等,List有ArrarList,Vector以及LinkedList,其中还有线性表链表,线程安全与非线程安全之分。另外一个关键的是Map,Map有HashMap(可为null),Hashtable(不为null,线程安全),linkedHashMap还有ConcurentHashMap(分段hashtable)(高级,concurent包中),

8.Java接口和抽象类。具有抽象方法的类即抽象类,继承抽象类必须实现父类的抽象方法;接口中的非default方法全部是抽象方法,属性全部默认是static final型,实现接口必须实现其所有的抽象方法。

9.Java多线程,实现Runable或者Callable接口,后者有返回类型,还可以直接继承Thread类,使用时用start()方法,run()只会执行操作而不会开启新线程。

10.线程同步,Synchronized修饰方法或者代码块,实现内部锁。ReentrantLock,同步锁,可以多次过得锁,但要记得释放,获得几次就要unlock()几次。Semaphone,信号量,可以限制方法访问的线程数量,每次访问要获取信号量,然后release()。

线程通信可以通过Synchronized,while轮询以及wait/notify实现。多线程编程注意死锁。

11.Volatile修饰的变量具有多线程可见性,直接读内存,具有一定的同步效果,CAS(CompareAndSet)原子操作;ThreadLocal,顾名思义,其修饰的变量在各线程中都有复制存在,成为各线程独立使用的变量,不具有线程共享性。

12.迭代器Iterator,常用使用是 while(i.hasNext()){

  func(i.next());

}

13.for,while,do...while,循环的三种方法。break 和 continue。

14.switch case,现在也可对字符串做switch选择了。

15.error exception,都可以捕获,但是一般error不捕获,exception选择性捕获,一些RuntimeException可以适当抛出

16.数组。。。数组越界问题

17.TimerTask

18.日期操作,DateFormat,Calendar

19.NIO,Socket

20.泛型以及java 反射。

Java学习总结

标签:orm   默认   class   zed   类型   bre   shm   timer   效果   

原文地址:http://www.cnblogs.com/microbear/p/7465524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!