- 博客(17)
- 收藏
- 关注
原创 三步学会Java+Socket编程
1.什么是socket所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。Serv
2011-09-04 15:50:28 357
原创 MYSQL学习笔记
创建表:mysql> create table weather(WID int(11)NOT NULL PRIMARY KEY AUTO_INCREMENT, CityID int(11), Tianqi VARCHAR(20) default 'Good', Date date not null, foreign key(CityID) references city(CityID) on delete CASCADE);Query OK, 0 rows affected (0.05 sec)
2011-04-27 13:56:00 611
转载 mysql foreign key(外键) 说明与实例
<br />一,什么是foreign key,及其完整性<br />个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强。关于完整性,关连性我举个例子,大家就会明白了。<br />有二张表,一张是用户表,一张是订单表:<br /> <br />1,如果我删除了用户表里的用户,那么订单表里面根这个用户有关的数据,就成了无头数据了,不完整了。<br />2,如果我在订单表里面,随便插入了一条数据,这个订单在用户表里面,没有与之对应
2011-04-27 11:00:00 1474
转载 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 429
转载 二叉树的递归与非递归遍历(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 381
转载 TCP/IP的三次握手连接和四次挥手关闭
<br /><br />在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。<br />(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。<br />(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。<br />(3)第三次握手:客户端A收到服务器B的SYN+ACK包,
2011-04-23 14:14:00 473
转载 数据库中乐观锁与悲观锁的概念
锁( locking )业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的 “ 锁 ” ,即给我们选定的目标数据上锁,使其无法被其他程序修改。Hibernate 支持两种锁机制:即通常所说的 “ 悲观锁( Pessimistic Lockin
2011-04-23 13:49:00 841
转载 Java设计模式综述
<br /> 自从J2EE出现以来,就大大简化了在Java下的企业级开发。但是随着J2EE越来越普遍地被应用到各个领域中,开发者们渐渐意识到需要一种方法来标准化应用程序的开发过程,他们采用的方法是标准化应用程序的结构层。在结构层通常封装了一些独立于业务逻辑的复杂技术,以便在业务逻辑和底层的架构之间建立起弱连接。在本文中将会介绍一些设计模式,通过利用这些设计模式,开发人员可以达到标准化和简化应用程序开发过程的目的。<br /> 应用程序结构和J2EE<br /> J2EE是一个很成功的技术,它为
2011-03-27 21:07:00 508
转载 Java设计模式之抽象工厂(Abstract Factory)模式
<br />抽象工厂(Abstract Factory)模式<br />抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品具体类型的情况下,创建多个产品族中的产品对象。这就是抽象工厂模式的用意。<br />每个模式都是针对一定问题的解决方案。抽象工厂模式面对的问题是多产品等级结构的系统设计。<br />在学习抽象工厂具体实例之前,应该明白两个重要的概念:产品族和产品等级。<br />产品族:是指位于不同产品等级结构中,功能相关联的产品组成的家族。比如AMD的CPU和ADM芯片的主板,组成一个家族
2011-03-27 20:57:00 297
转载 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 324
转载 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 382
转载 JAVA内存泄漏问题
<br />1 引言<br /> Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 小时在服务器上运行,则内存漏洞在此处的影响就比在配置实用程序中的影响要大得多,即使最小的漏洞
2011-03-27 01:02:00 272
转载 Java堆、栈和常量池
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。) 3. 堆:存放所有new出来的对象。 4. 静态域:存放静态成员(static定义的) 5. 常量池:存放字符串常量和基本类型常量(public static final)。 6. 非RAM存储:硬盘等永久存储空间 这里我们主要关心栈,堆和常量池,对于栈和常
2011-03-26 19:46:00 435
转载 深入Java核心 Java内存分配原理
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域: ◆寄存器:我们在程序中无法控制 ◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 ◆堆:存放用new产生的数据 ◆静态域:存放在对象中用static定义的静态成员 ◆常量池:存放常量 ◆非RAM存储:硬盘等永久存储空间 Java内
2011-03-25 13:43:00 400
转载 C++内存分配、管理
<br />一. 在c中分为这几个存储区<br />1.栈 - 由编译器自动分配释放<br />2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收<br />3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放<br />4.另外还有一个专门放常量的地方。- 程序结束释放<br />
2011-03-15 11:57:00 308
原创 二叉树的递归与非递归遍历(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 463
转载 BPEL and Java
BPEL的作用 实现从面向过程到面向服务的转变需要一种语言以描述Web services是怎样被组织成业务流程。如果这种描述是可执行的,即允许我们定义抽象的流程,而且允许我们描述流程准确的执行规则,那将更好。而BPEL正是这样一种语言。事实上它是最先具备以下特性的语言: 1 允许我们定义抽象和可执行的流程 2 有大多数公司支持 3 软件运行在bpel流程可以执行(BPEL服务器)和设计(BPEL设计器)的平台上 在我们对BPEL做更深入的了解之前,先论述一下怎样组织web服务。
2011-03-06 14:50:00 826
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人