
java
文章平均质量分 65
stinge
这个作者很懒,什么都没留下…
展开
-
java 数据类型与操作符
java的main函数 Java程序执行的入口为main函数, public static void main(String args[]) public static void 参数都不能缺少,否则找不到mian函数 java.lang.NoSuchMethodError: mainException in thread "main" args[]是字...原创 2011-05-09 22:01:36 · 98 阅读 · 0 评论 -
虚拟机
虚拟机 JVM(java virtual machine )是一个想象中的机器,在实际的计算机上通过软件模拟实现,Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还有相应的指令系统。是java语言的运行环境。 特点:平台无关性,Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行,不需要重新编译。Java虚拟机...2011-06-09 20:27:46 · 105 阅读 · 0 评论 -
JDK
JDK JDK(Java Development Kit),JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。是java的开发环境。 Java SE, Java standard edition,从JDK 5.0开始,改名为Java SEJava EE,enterprise edition,使用这种JDK开发J2EE应用...2011-06-09 20:47:28 · 95 阅读 · 0 评论 -
Java关键字和保留字
Java中关键字(keyword)和保留字(reservedword)Keyword:Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。Reservedword:保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。如下列表:Java关键字...原创 2011-06-10 15:42:44 · 172 阅读 · 0 评论 -
重载与重写
重载与重写方法的重写Overriding和重载Overloading是Java多态性的不同表现。 重写Overriding是父类与子类之间多态性的一种表现。子类继承父类时,重写父类中的方法。重载Overloading是一个类中多态性的一种表现。同一个类的成员函数,参数类型或参数个数不同,返回值也可不同。 如...2011-06-10 15:47:50 · 81 阅读 · 0 评论 -
静态变量和实例变量
静态变量和实例变量静态变量:由static修饰符修饰。 可以通过 类名.变量名 访问,不需要通过对象访问。 所有对象共用一个静态变量。 在内存中只存在一份,在对象里值保存静态变量的引用。 实例变量:属于特定的对象。 只能通过对象来访问。 public class b...2011-06-10 16:43:19 · 82 阅读 · 0 评论 -
垃圾回收机制
垃圾回收器 垃圾回收期只释放经由new分配的内存 当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。除了释放没用的对象,垃圾收集也可以清除内存记录碎片。1、 引用计数法(Reference Counting Collector) 引用计数法是唯一没有使用根集的垃圾回收的法,该算法使用引用计数器来区分存活对象和不再使用的...原创 2011-09-24 20:13:49 · 85 阅读 · 0 评论 -
java序列化
Java序列化与反序列化(实践) 基本概念:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。昨天在一本书上看到了,好好实践了一下,序列化为一般文件,也序列化为XML文件(使用XStream)。用于序列化的实体类Person.java 代码如下(记得需要实现Seriali...原创 2011-09-25 10:29:20 · 114 阅读 · 0 评论 -
单例模式
单例模式 singleton模式:确保内存中某个类的实例只有一个。 通过类变量实例化对象 public class SingleTest{public static void main(String[] args){singleton s1 = singleton.getInstance();singleton s2 = singleton.getIns...2011-09-25 17:02:38 · 100 阅读 · 0 评论 -
对象创建过程
对象创建过程 假如创建类Hello的对象: (1)当首次创建类型为Hello的对象或Hello类的静态方法/静态域首次被访问时,java解释器必须查找类路径,定位Hello.class.(2)载入Hello.class(这将传经一个Class对象),有关静态初始化的所有动作都会执行。因此,静态初始化只在Class对象首次加载的时候进行一次。(3)当用new He...2011-06-28 10:18:40 · 77 阅读 · 0 评论 -
myeclipse tomcat 端口被占
oracle占用8080端口,tomcat启动出错 1.下载tomcat安装包 http://tomcat.apache.org/2.解压到/usr/local下,修改所有者为oracle3.修改conf下的server.xml文件,改端口号4.在window preferents myeclipse,server下配置路径...2011-07-04 18:59:49 · 110 阅读 · 0 评论 -
Java中Cloneable接口的用法
今天编写一个用到Cloneable接口的程序时才注意到原来clone()方法提供的是浅层拷贝,而不是我先前认为的深层拷贝。class A implements Cloneable{ int a=1; ArrayList b=new ArrayList(); public A getClone(){ return (A) this.cl...原创 2011-09-28 23:10:33 · 257 阅读 · 0 评论 -
java泛型
泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection framework)中看到泛型的动机。例如,Map...2011-09-30 20:56:47 · 117 阅读 · 0 评论 -
初始化
类中变量初始化方法:1、声明时初始化2、构造函数初始化3、代码块初始化4、静态代码块初始化 package Think;public class Test {private int s = msg(1);//顺序3 private static int t = msg(2); //顺序1public Test(){//顺序5 s = ...2011-07-15 10:49:53 · 104 阅读 · 0 评论 -
transient
java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。 Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当...2011-10-04 14:43:51 · 96 阅读 · 0 评论 -
静态类
静态类 通常一个普通类不允许声明为静态的,只有一个内部类才可以。这时这个声明为静态的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。如下代码所示: public class StaticCls{ public static void main(String[] args){ OuterCls.InnerCls oi=new OuterCls.InnerCls(...原创 2011-10-04 14:46:15 · 142 阅读 · 0 评论 -
Java中serialVersionUID的解释
Java中serialVersionUID的解释 serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式: 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 一个是根据类名、接口名、...原创 2011-10-10 12:01:02 · 111 阅读 · 0 评论 -
Java栈与堆
Java栈与堆 ----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,...原创 2011-10-10 12:27:47 · 112 阅读 · 0 评论 -
编译器
编译器 编译器 用来将源码编译成class字节码2011-06-09 20:12:33 · 80 阅读 · 0 评论 -
final finally finalize
final finally finalize final 修饰成员变量:不能被改变,只能在定义处或构造函数里初始化。 修饰成员函数:不能被重写 修饰类:不能被继承,叶子类 finally 异常处理后总会执行的代码。 finalize finalize()方法,在垃圾收集器将对象从内存中清除出去之前做必...2011-06-09 19:55:13 · 88 阅读 · 0 评论 -
数组操作
一维数组,声明与初始化 (1)声明:Type ArrayName[];或Type[] ArrayName; //编译程序分配一段内存空间用来存储数组实体的地址 (2)分配内存地址:ArrayName = new Type[num];//分配足以存储num个Type类型的连续内存空间,并把该空间的地址存放在ArrayName中 (3)初始化:Type ArrayName[] = {...2011-05-11 21:24:51 · 68 阅读 · 0 评论 -
JAVA面向对象-对象声明
新建一个对象的,数据存储的位置可能不一样;JAVA存放数据的地方有:程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:(1)寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任...原创 2011-05-18 13:07:16 · 136 阅读 · 0 评论 -
java对象声明周期
JVM中对象的生命周期在JVM运行空间中,对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段(Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)与释放阶段(Free)。上面的这7个阶段,构成了JVM中对象的完整的生命周期。下面分别介绍对象在处于这7个阶段时的...原创 2011-05-18 14:15:01 · 275 阅读 · 0 评论 -
java 类继承
java 类继承 一、继承的概念 将已有的功能加以扩展,实现代码的重复使用 现有类成为父类、基类,衍生出的类称为子类、衍生类 java只允许单一继承,要实现多重继承,需要借助于接口。 二、继承关系 父类 子类 成员函数或变量 ...2011-05-19 09:18:37 · 127 阅读 · 0 评论 -
super 与 this
super 与 this 1、 构造函数内使用this() 和super() this()来调用同一类内的其他构造函数,必须放在第一行 super()从子类的构造函数调用其父类的构造函数,必须放在第一行。 可以根据参数的不同选择调用不同的构造函数。2、this 当局部变量与成员变量重名时,使用this访问成员变量 super 子...2011-05-19 15:13:25 · 75 阅读 · 0 评论 -
以父类的变量访问子类对象的成员
以父类的变量访问子类对象的成员 以父类声明变量,并将它指向用子类新建的对象。此时使用此变量可调用 子类中覆盖父类中的成员函数,或子类中没有而父类中有的成员函数 用法: 利用父类的数组变量来访问子类对象的成员 (1)先创建父类的数组变量; (2)创建子类对象并放入数组,利用数组元素来访问子类的内容。 例package com;...2011-05-19 15:36:08 · 1375 阅读 · 0 评论 -
抽象类
抽象类 一、作用: 作为类的模板,用来依据抽象类的格式来修改并创建新的类。 二、不能直接创建对象,只能通过抽象类衍生出新的类,再由子类创建对象。 三、定义: abstract class 类名{成员变量声明;//一般方法返回类型 函数名(参数列表){}//抽象方法,方法体在子类中定义修饰符 abstract 返回类型 函数...2011-05-19 16:24:29 · 84 阅读 · 0 评论 -
Java接口
Java接口 一、功能与抽象类相似,作为模板使用来衍生子类。 不同: (1) 接口的成员变量必须初始化,并设置为final类型,也就是成员变量必须为常量,不能被修改 (2)成员函数必须全为抽象函数 定义: interface 接口名称{final 数据类型 成员名称 = 常数;修饰符 abstract 返回类型 成员函数名(...2011-05-19 17:14:48 · 139 阅读 · 0 评论 -
Java 类
Java 类 成员函数定义 修饰符 返回类型 成员函数名(参数){ } 其中返回类型必须放在最后,修饰符内的顺序可以调换 例: public final void method(){ } public 和final的顺序可以互换,void在最后...2011-05-19 18:01:30 · 100 阅读 · 0 评论 -
文件分割与访问控制
文件分割与访问控制 一、文件分割:将大型应用程序分开成独立的类,将编写的类分别存放在不同的文件中。 使用包(package)实现文件分割: 1、声明:在类或接口所在文件的最上面一行加上 package 包的名称; 这样该文件内的所有类或接口都将包含进相同的包内。 2、不同的包内可以拥有名称相同的类。 3、在文件中若未指...2011-05-19 21:22:58 · 93 阅读 · 0 评论 -
异常处理
异常处理 异常:编译时无法发现,执行时会出错,出错的状况就是 异常 error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况 为什么? 用if ...2011-05-19 22:15:08 · 128 阅读 · 0 评论 -
文件处理
文件处理 Java以流的方式处理输入与输出,即数据流 一、流 从键盘输入数据,写入文件,读取文件都可看做是流的处理,可分为输入流 与 输出流 流中的数据由字符与位组成。 有关文件处理的类 Reader、writer用来处理 字符流,也就是纯文本文件 InputStream、OutputStream...2011-05-22 14:18:15 · 107 阅读 · 0 评论 -
多线程
多线程 一、线程概念 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的...2011-05-22 16:44:22 · 86 阅读 · 0 评论 -
应用服务器与WEB服务器
应用服务器与WEB服务器 Web服务器(Web Server) Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页...2011-05-27 16:14:28 · 204 阅读 · 0 评论 -
Java相关
Java相关 1、类型转换 自动类型转换:(1)转换前得数据类型与转换后的类型兼容 (2)转换后的表示范围比转换前得类型大。 强制类型转换:(欲转换的数据类型)变量名称; 若是整数的类型为short或byte,为了避免溢出,Java会将表达式中的short和byte自动转换成int...2011-06-07 21:55:24 · 93 阅读 · 0 评论 -
Java 反射机制
JAVA反射机制 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 功能: 在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时调用任意一...2011-06-07 22:02:16 · 69 阅读 · 0 评论 -
JAVA的容器---List,Map,Set
JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection接口 Collec...原创 2011-09-15 10:07:08 · 81 阅读 · 0 评论 -
UML中的聚合,关联,泛化等关系
1. Overview UML设计类中,类的关系分为Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(组合关系)五种!2. Generalization(泛化) Generalization(泛化)表现为继承或实现关系(is a)。具体形式为类与类之间的继承...原创 2011-10-17 21:00:55 · 253 阅读 · 0 评论