Java tree

基础

-Java编程入门

https://www.ibm.com/developerworks/cn/java/intro-to-java-course/index.html

-Java对象的强引用,软引用,弱引用和虚引用

http://blog.csdn.net/lengyuhong/article/details/6398184
强引用,不会回收
软引用,内存充足,不回收,内存不足,回收
弱引用,垃圾回收器线程会回收。
虚引用,相当于没有引用

-Java中volatile关键字的含义

Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。这就是说线程能够自动发现 volatile 变量的最新值。
您只能在有限的一些情形下使用 volatile 变量替代锁。要使 volatile 变量提供理想的线程安全,必须同时满足下面两个条件:
对变量的写操作不依赖于当前值。
该变量没有包含在具有其他变量的不变式中。

为什么使用volatile?
使用 volatile 变量的主要原因是其简易性:在某些情形下,使用 volatile 变量要比使用相应的锁简单得多。使用 volatile 变量次要原因是其性能:某些情况下,volatile 变量同步机制的性能要优于锁。

结束语
与锁相比,Volatile 变量是一种非常简单但同时又非常脆弱的同步机制,它在某些情况下将提供优于锁的性能和伸缩性。
http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html

-Java中synchronized关键字

这种机制确保了同一时刻对于每一个类实例,其所有声明为 synchronized 的成员函数中至多只有一个处于可执行状态

-Java 多态

Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。

-抽象类和接口的区别

1,抽象类是继承关系,一个类只能继承一个类, 却可以实现多个接口,实现多重继承。
2,在abstract class的定义中,我们可以赋予方法的默认行为。但是在interface的定义中,方法却不能拥有默认行为
3,接口定义行为能 够更有效地分离行为与实现,为代码的维护和修改带来方便。
4,抽象类强调继承,接口强调 行为和实现分离。
http://www.cnblogs.com/azai/archive/2009/11/10/1599584.html

-动态加载jar包

-集合

将对向放入到HashMap或HashSet中时,有两个方法需要特别关心:hashCode()和equals()。hashCode()方法决定了对象会被放到哪个bucket里,当多个对象的哈希值冲突时,equals()方法决定了这些对象是否是“同一个对象”。所以,如果要将自定义的对象放入到HashMap或HashSet中,需要@Override hashCode()和equals()方法。

HashSet 不保证顺序
LinkedHashSet 保证插入的顺序和 遍历的顺序一样,是HashSet的子类
TreeSet是一个对元素按照某种规则排序
EnumSet 是一个 枚举类型的 集合

http://www.cnblogs.com/yangyquin/p/5058208.html
Java:集合类性能分析
http://zhangjunhd.blog.51cto.com/113473/69677
java常用集合性能比拼
http://blog.csdn.net/androidzhaoxiaogang/article/details/9121185

服务器
apache-tomcat
http://tomcat.apache.org/download-70.cgi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值