- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 数据结构的理解和应用——红黑树
心得:看了《数据结构和算法分析》,《算法导论》以及《算法》上关于红黑树的章节,总算把红黑树的实现和操作给理解了一边。虽然插入和删除的情况有些复杂,因为1,2年前看过一次,后来就忘了,感觉还是当时没有真正理解。因此记住插入和删除的形式是不行的,关键是结合红黑树的5个特点,理解插入和删除中循环不变式的以及终止条件。这样才能知道为什么要弄一个“一重额外的黑色”才能知道为什么红黑树一次更新可以在O(1)中完
2015-12-31 00:18:30 3163
原创 Java基础知识总结(八)——反射
心得:每个对象都对应自己类的Class对象,这个Class对象是这个类的类新信息的对外入口,通过这个Class对象我们可以从方法区知道这个类有哪些域,构造器,方法,结合具体的对象可以获得域在运行时的值,还可以基于Method调用(查找方法表调用?)。反射的意义在于运行时的扩展能力。PS: (1)在HotSpot(JDK 1.7)中Class对象是放在方法区中的。 (2)自己动手写一个工具输入类名
2015-12-31 00:17:15 1602
原创 Java基础知识总结(七)——泛型
心得: 我觉得Java泛型的意义在于在我们使用父类引用操作子类时(擦除),让编译器和JVM来代替我们进行必要的类型检查和转换(checkcast指令,桥方法,signature这些都是编译器和JVM提供的额外帮助)。问题的关键在于签名实在调用者的方法表属性中的;而描述符是在自己类型信息中的。对象本身不知道自己的泛型参数具体是什么。
2015-12-31 00:15:41 1538
原创 Java基础知识总结(五)——安全
小结:系统的整理了下有关的Java的安全的三个方面:语言特性,安全管理器(保护域),签名和加密算法的应用。在整理时,我觉得基于第三方的数字签名认证的方式充分体现了解耦的思想,这和集群中中心式拓扑结构的方式很像,将复杂耦合几种在中介上(中介者模式和迪米特法则),设计模式这个东西只要仔细理解,灵活运用才可以举一反三。1. 概括Java语言的安全由三个方面共同进行保证:(1)语言特性:类,域,方法的访问控
2015-12-31 00:12:51 1781
原创 Java基础知识总结(四)——异常与异常处理表
要想弄清楚异常的一些知识点,比如try/finally的return,异常的丢失等等,光记住“形式”是不够的,不从字节码异常表的层面分析是很难真正的将一些问题弄明白。
2015-12-31 00:11:02 2792 2
原创 Java 8集合框架源码学习——HashMap
心得:相较于JDK 1.7,Java 8中的HashMap有了较大的性能提升。修改了hash和resize方式,增加了红黑树的支持。学习参考资料: (1)疫苗:Java HashMap的死循环;1. HashMap要点(1)结构特点:Java中的HashMap是基于“数组+链表”的方式(链表法解决冲突),到了Java 8,应该是“数组+链表/红黑树”的方式。 (2)线程安全:HashMap是不安
2015-12-18 13:56:00 2791
动态代理/获取代理IP工具
2014-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人