
Java
joehope
这个作者很懒,什么都没留下…
展开
-
二叉树的递归与非递归遍历(Java描述)
构造树如下:其中二叉树节点类/** 二叉树节点 */public class BTNode { private char key; private BTNode left, right; public BTNode(char key) { this(key, null, null); } public BTNode(char key, BTNode left, BTNode right) { this.key = key; this.l原创 2011-03-06 18:42:00 · 473 阅读 · 0 评论 -
二叉树的递归与非递归遍历(Java描述)
<br />构造树如下:<br /><br />其中二叉树节点类<br />/** 二叉树节点 */<br />public class BTNode {<br /> private char key;<br /> private BTNode left, right;<br /><br /> public BTNode(char key) {<br /> this(key, null, null);<br /> }<br /><br /> public BTNo转载 2011-04-23 14:39:00 · 389 阅读 · 0 评论 -
Java初始化顺序总结
Java初始化顺序1在new B一个实例时首先要进行类的装载。(类只有在使用New调用创建的时候才会被java类装载器装入)2,在装载类时,先装载父类A,再装载子类B3,装载父类A后,完成静态动作(包括静态代码和变量,它们的级别是相同的,安装代码中出现的顺序初始化)4,装载子类B后,完成静态动作类装载完成,开始进行实例化1,在实例化子类B时,先要实例化父类A2,实例化父类A时,先成员实例化(非静态代码)3,父类A的构造方法4,子类B的成员实例化(非静态代码)5,子类B的构造方法先初始化父类的静态代码--->转载 2011-04-23 15:15:00 · 441 阅读 · 0 评论 -
Java设计模式综述
<br /> 自从J2EE出现以来,就大大简化了在Java下的企业级开发。但是随着J2EE越来越普遍地被应用到各个领域中,开发者们渐渐意识到需要一种方法来标准化应用程序的开发过程,他们采用的方法是标准化应用程序的结构层。在结构层通常封装了一些独立于业务逻辑的复杂技术,以便在业务逻辑和底层的架构之间建立起弱连接。在本文中将会介绍一些设计模式,通过利用这些设计模式,开发人员可以达到标准化和简化应用程序开发过程的目的。<br /> 应用程序结构和J2EE<br /> J2EE是一个很成功的技术,它为转载 2011-03-27 21:07:00 · 514 阅读 · 0 评论 -
JAVA内存泄漏问题
<br />1 引言<br /> Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 小时在服务器上运行,则内存漏洞在此处的影响就比在配置实用程序中的影响要大得多,即使最小的漏洞转载 2011-03-27 01:02:00 · 281 阅读 · 0 评论 -
Java堆、栈和常量池
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。) 3. 堆:存放所有new出来的对象。 4. 静态域:存放静态成员(static定义的) 5. 常量池:存放字符串常量和基本类型常量(public static final)。 6. 非RAM存储:硬盘等永久存储空间 这里我们主要关心栈,堆和常量池,对于栈和常转载 2011-03-26 19:46:00 · 447 阅读 · 0 评论 -
Java设计模式之抽象工厂(Abstract Factory)模式
<br />抽象工厂(Abstract Factory)模式<br />抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品具体类型的情况下,创建多个产品族中的产品对象。这就是抽象工厂模式的用意。<br />每个模式都是针对一定问题的解决方案。抽象工厂模式面对的问题是多产品等级结构的系统设计。<br />在学习抽象工厂具体实例之前,应该明白两个重要的概念:产品族和产品等级。<br />产品族:是指位于不同产品等级结构中,功能相关联的产品组成的家族。比如AMD的CPU和ADM芯片的主板,组成一个家族转载 2011-03-27 20:57:00 · 311 阅读 · 0 评论 -
Servlet生命周期
Servlet生命周期Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。Servlet的生命周期包含了下面4个阶段:(1)加载和实例化Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例。当Servlet容器启动后,它必须要知道所需的Servlet转载 2011-03-27 19:45:00 · 330 阅读 · 0 评论 -
HashMap与Hashtable的区别
<br />Hashtable的应用非常广泛,HashMap是新框架中用来代替Hashtable的类,也就是说建议使用HashMap,不要使用Hashtable。可能你觉得Hashtable很好用,为什么不用呢?这里简单分析他们的区别。 <br />1.Hashtable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。<br />查看Hashtable的源代码就可以发现,除构造函数外,Hashtable的所有 public 方转载 2011-03-27 16:23:00 · 396 阅读 · 0 评论 -
深入Java核心 Java内存分配原理
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域: ◆寄存器:我们在程序中无法控制 ◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 ◆堆:存放用new产生的数据 ◆静态域:存放在对象中用static定义的静态成员 ◆常量池:存放常量 ◆非RAM存储:硬盘等永久存储空间 Java内转载 2011-03-25 13:43:00 · 413 阅读 · 0 评论 -
三步学会Java+Socket编程
1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。Serv原创 2011-09-04 15:50:28 · 370 阅读 · 0 评论