- 博客(15)
- 资源 (4)
- 收藏
- 关注
转载 【数据结构】之二叉树的java实现
二叉树的定义:二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的、分别称作这个根的左子树和右子树的二叉树组成。 这个定义
2016-04-28 13:43:23 568
转载 JDK源码分析:java.lang.String
最近开始看JDK源码,不能太懒了~~注释非常详细(虽然是英文),而且部分代码也不算很复杂。先挑的简单的看看。。为了坚持下去,所以在博客写些记录,一是为了记忆,二是给自己一个坚持的理由~~哇咔咔,英文不算很好,那就对着中文API一起看吧。。String结构这个类结构很简单。。/** The value is used for character storage. */
2016-04-26 18:07:18 2554
转载 JDK源码分析Java.lang.Boolean的浅析——单例模式的应用(使我们更省内存)
JDK源码Java.lang.Boolean的理解和分析是什么呢,希望可以在对JDK源码Java.lang.Boolean的基础上分析其他的代码,举一反三掌握好JDK。AD:JDK源码(jdk 1.5 b2)的研究是一个很大的范畴,那么今天先对Java.lang.Boolean开始解剖。首先我们来看JDK源码中Java.lang.Boolean的代码
2016-04-26 18:02:33 731
转载 JDK源码分析之Set类详解——适配器模式的应用
JDK源码中Set类是我们开发过程中经常用到的,那么本文将会向你介绍JDK源码中Set类的一些构造,使我们在编程中高效的应用。AD:JDK源码分析Set类,因为Set类是经常要用到的,那我们知道JDK源码中Set类在其中不可以有相同的元素,那么判断这个元素是否相同是如何实现的呢,我们看下下面这张图: 对JDK源码分析之Set类在这张类图上,
2016-04-26 17:59:30 688
转载 Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class
2016-04-26 17:57:17 631
转载 JDK源码分析——研究 Hash 存储机制
简介: HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。本文的标签
2016-04-26 17:39:50 498
转载 JAVA中Stack和Heap的区别
1.Java中对象都是分配在heap(堆)中。从heap中分配内存所消耗的时间远远大于从stack产生存储空间所需的时间。 (1)每个应用程序运行时,都有属于自己的一段内存空间,用于存放临时变量、参数传递、函数调用时的PC值的保存。这叫stack。 (2)所有的应用可以从一个系统共用的空间中申请供自己使用的内存,这个共用的空间叫heap。 (3)stack中的对象或变量只要定义
2016-04-26 16:18:11 599
转载 try、catch、finally、return的执行顺序
public class JVMTest {public static void main(String[] args){System.out.println("aa:" + aa());}public static int aa(){int a = 1;int b = 10;try{System.out.println("abc");return a;
2016-04-26 16:17:11 421
转载 "=="和equals方法的区别
1、==操作符专门用来比较变量的值是否相等。比较好理解的一点是:int a=10;int b=10;则a==b将是true。但不好理解的地方是:String a=new String("foo");String b=new String("foo");则a==b将返回false。对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。a
2016-04-26 16:15:56 356
转载 Collection List Set Map 区别记忆
Collection List Set Map 区别记忆这些都代表了 Java 中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否允许元素重复否Collection否是List是是Set
2016-04-26 16:15:00 448
转载 线程安全知识
一.什么是线程安全?如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。 线程安全问题都是由全局变量及静态变量
2016-04-26 16:13:48 522
转载 JVM调优总结-基本垃圾回收算法
可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep):此算法执行分两阶段。第一阶段从引
2016-04-26 16:12:28 416
转载 运行时异常与一般异常有何异同
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。 Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Exception:表示可恢复的例外,这是可捕捉到的。Java提供了两类主要的异常:runti
2016-04-26 16:10:44 480
转载 Spring AOP 常用的四种实现方式
Spring实现AOP的四种方式 先了解AOP的相关术语: 1.通知(Advice): 通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint): 程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut) 通知定义了切面要发生的“故事”和时间
2016-04-26 16:07:57 5046
转载 JAVA内部类的作用、方法、使用
http://blog.sina.com.cn/s/blog_76d8e54d0100u6t0.htmlhttp://blog.sina.com.cn/s/blog_56898c310100a3i3.htmlhttp://www.blogjava.net/os586/archive/2006/08/01/61121.htmlhttp://www.cnblogs.com/sa
2016-04-26 16:05:05 631
纯PHP代码实现HTML与MarkDown互转
2018-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人