
JAVA基础
文章平均质量分 77
lpp1234567
既然决定了就要一直往前,有付出一定就有收获
展开
-
两个特殊的流对象(System.in和System.out)及打印流
一、父类System是一个类java.lang.System,属于java.lang包,定义如下:public final class System extends Object//此类ewing最终类,不能被继承System.in 是 InputStream类型,字节流,程序使用它可读取键盘输入的数据;System.out 是 PrintStream类型(是Out原创 2014-03-04 13:09:48 · 2972 阅读 · 0 评论 -
java的反射机制Reflection(重点、难点)
1、在集合中必须使用泛型;原创 2014-03-10 16:59:15 · 1608 阅读 · 0 评论 -
静态代理模式、动态代理模式(实现、对比)
一、代理模式包含的角色1、抽象角色:声明真实对象和代理对象的公共接口。2、代理角色:代理真实对象,实现真实对象想要实现的功能(方法);另外,可附加自身功能(方法)。在代理真实对象的过程中,为了实现代理,应包含一个真实对象的成员变量,通过此成员变量去实例化真实对象,通过实例去调用真实对象的方法,以此来实现对真实对象的调用,实现代理。3、真实角色:代理角色所代表的真实对象,是我们最终要引用原创 2014-03-14 16:40:14 · 614 阅读 · 0 评论 -
异常介绍、自定义异常、异常面试题
一、异常介绍java.langClass Exceptionjava.lang.Objectjava.lang.Throwablejava.lang.ExceptionException是异常的英文,也是java.lang包下面的一个类,使用时不用导入。java.langException继承自Throwable类。Thr原创 2014-03-15 12:03:32 · 861 阅读 · 0 评论 -
单例模式singleten及实现思想
单例模式(待完成)原创 2014-03-09 21:46:17 · 1449 阅读 · 0 评论 -
HashSet和HashMap的底层实现——哈希表、散列表
java.lang 类 Objectjava.lang.ObjectinthashCode() 返回该对象的哈希码值。booleanequals(Object obj) 指示某个其他对象是否与此对象“相等”。一、概述java最基本的两种数据结构原创 2014-03-07 12:27:31 · 7181 阅读 · 2 评论 -
JDK5.0新增特性
1、泛型(Generics)2、增强的“for”循环(Enhanced For loop)3、自动装箱/ 自动拆箱(Autoboxing/unboxing)4、类型安全的枚举(Type safe enums)5、静态导入(Static import)6、可变参数(Var args)以上各特性将分别详细介绍。原创 2014-03-10 17:19:32 · 533 阅读 · 0 评论 -
文件IO操作——流文件(字节流、字符流)小结
一、IO包中类的层次关系图IO包中最重要的流类有4个:OutputStream、InputStream、Writer、Reader,其中前两个为字节输出输入流,后两个为字符输出输入流。输出和输入是相对于内存来讲,从内存向外写叫输出,从文件向内存写叫输入。这4个类都是抽象类,都需要子类来为父类进行实例化。例如: 这4个流类下面还有子类,层次关系图为:原创 2014-03-04 11:11:28 · 551 阅读 · 0 评论 -
对象序列化(串行化)的作用、使用
一、序列化的作用序列化定义:将对象转换为二进制数据流(操作目标是对象)。作用:方便传输及保存,可以帮开发者完成保存和读取对象成员变量取值的过程。规定:要求读写或存储的对象实现Serializable接口(此接口未定义任何方法,仅仅被用作一种标记,以便被编译器作特殊处理)。也就是说,若想对对象进行序列化,必须先实现Serializable接口。二、序列化使用方法原创 2014-03-04 17:49:24 · 2107 阅读 · 0 评论 -
进程、线程(synchronized、wait、notify)
为了帮助更好的理解进程和线程,举个例子:电脑同时运行word和pdf,是指的2个进程,在word打印过程中,还可以进程编辑,是指的2个线程。一、线程基本知识点1、程序是静态的,进程是动态的。进程本质上是一个执行的程序。2、一个进程可以包含多个线程,但至少包括一个线程;没有进行其他线程的定义时,进程中只有一个单线程(主线程),main方法就在这个主线程上运行。我们的程序都原创 2014-03-18 23:11:43 · 909 阅读 · 0 评论 -
字符串String转换成字节数组 byte[]的表现形式
在java中,经常需要把String类型的字符串转换为一个字节数组,通过对字节数组的操作,来实现对字符串的操作。例如,在字节流的操作过程中,由于内存只对字节进行操作,因此,在读取外部的String字符串时,首先把String字符串转换为byte[],然后对byte[]进行读取。示例代码:String str = "abcdefg";byte[] b = str.getBytes原创 2014-03-18 14:12:04 · 1844 阅读 · 0 评论 -
JDK5.0新特性:可变参数的本质及示例程序分析
1、可变参数时再参数类型加“...”,必须是三个点,不能多,例如int...;2、当定义多个参数时,可变参数必须在后面,例如(String s, int... i),而且,可变参数最多只有一个;3、可变参数本质上是一个数组,在传递具体参数时可以传递一个数组对象,也可以传递离散的值(若把参数定义为一个数组类型时,则传递具体参数时必须传递数组对象);4、由于可变参数本质上是一个数组,因此没原创 2014-03-11 14:03:22 · 590 阅读 · 0 评论 -
JDK5.0新特性:拆箱/装箱 特性 介绍
一、举例说明拆箱/装箱思想(主要用于集合)二、示例及说明原创 2014-03-10 17:21:39 · 569 阅读 · 0 评论 -
Calendar类、输出当前时间
java.util 类 Calendarjava.lang.Object java.util.Calendarpublic abstract class Calendar // 抽象类,不能直接实例化extends Objectimplements Serializable, Cloneable, ComparableCalendar>一、Calendar原创 2014-03-05 15:41:29 · 2969 阅读 · 0 评论 -
字符编码发展及规范
一、为什么要进行编码的规范化??举个例子,在一个国家的本地化系统中出现的一个字符,通过电子邮件传送到另外一个国家的本地化系统中,看到的就不是那个原始字符了,而是另外那个国家的一个字符或乱码,因为计算机里面并没有真正的字符,字符都是以数字的形式存在的,通过邮件传送一个字符,实际上传送的是这个字符对应的编码数字,同一个数字在不同的国家和地区代表的很可能是不同的符号,如十六进制的D6D0在中国大陆的原创 2014-03-04 16:26:33 · 590 阅读 · 0 评论 -
Applet程序浅析(如何嵌入HTML代码中执行)
一、明确概念1.Applet是java的一个类,在java.applet包下;java.applet类 Appletjava.lang.Object java.awt.Component java.awt.Container java.awt.Panel java.applet.Applet(Applet类原创 2014-03-05 11:38:08 · 8084 阅读 · 0 评论 -
String类、StringBuffer类
一、String类和StringBuffer类所属于的包两个类都属于java.lang包下,此包由系统默认导入,因此可直接使用。java.lang 类 Stringjava.lang.Object java.lang.Stringpublic final class String //最终类,不能被继承extends Objectimplements Ser原创 2014-03-05 14:38:36 · 699 阅读 · 0 评论 -
字节流和字符流的转换(及BufferedReader类的重要性)
一、简单介绍Java支持字节流和字符流,也支持它们之间的转换。通过两个类实现:InputStreamReader、OutputStreamWriter。1. InputStreamReaderjava.lang.Object java.io.Reader java.io.InputStreamReaderpublic class InputStr原创 2014-03-04 16:04:48 · 7299 阅读 · 1 评论 -
集合的3种遍历形式(一般for循环、增强型for循环、迭代器)
一、集合的3种遍历形式import java.util.*;class ForTest {public static void main(String[] args) {List list = new ArrayList();list.add(1);list.add(2);list.add(3);for(Integer str: list)//增原创 2014-03-11 10:35:39 · 5058 阅读 · 0 评论 -
使用Java中的Random类产生随机数
java.util 类 Randomjava.lang.Object java.util.Randompublic class Randomextends Objectimplements Serializable一、注意事项1.用相同的初值创建Random对象,得到的随机数序列是相同的。例如:Random ran1=new Random(100);原创 2014-03-05 17:38:58 · 2501 阅读 · 0 评论 -
类集框架:List、Set、Map、Iterator、Comparator(重点)
一、类集框架作用类集框架包含了一组标志接口,用户通过这些接口方便对基本类集(动态数组、链接表、树)进行高效率的实现。Java为类集框架提供了几个标准的实现工具,例如LinkedList、HashSet、TreeSet等,具体如下:注意:Collection、Set、List都有iterator()方法,因此继承它们的类(TreeSet、HashSet、ArryList、LinkedLi原创 2014-03-06 12:45:20 · 698 阅读 · 0 评论 -
JDK(SDK)、JRE、JVM的关系
JVM(Java Virtual Machine)虚拟机。JDK(Java Development Kit) JAVA开发工具包。JRE(Java Runtime Environment) JAVA运行环境。一、Java语言的跨平台性Java语言的跨平台性借助JVM实现可在不同操作系统中执行java程序。跨平台图解:二、Java原创 2014-03-06 16:48:59 · 842 阅读 · 0 评论 -
JDK5.0新特性:泛型浅析、通配符(?)
一、泛型的出现背景泛型是变量类型的参数化,例如:Public String toString();上面的String是变量类型。注意以下几点:1.泛型的参数类型只能是引用类型,不饿ngn似乎基本数据类型(Integer、Byte、Character、Short、Long、Float、Double、Boolean;String是引用数据类型);2、可以声明多个泛型参数类型,比原创 2014-03-07 18:04:51 · 728 阅读 · 0 评论 -
JDK5.0新特性:For—Each增强型for循环
一、格式二、示例1、打印数组元素2、打印二维数组元素3、打印字符串元素4、打印一个集合ArrayList中的元素三、限制条件当遍历集合或数组时,如果需要访问集合或数组的下标,用增强For循环的话,相对麻烦。总结:增强型For循环不是功能上增强了,是代码简化了。原创 2014-03-10 17:13:17 · 767 阅读 · 0 评论 -
JDK5.0新特性:枚举类型enum、枚举集合EnumSet、枚举映射EnumMap
java.lang.Object java.lang.Enum一、枚举特性:1、枚举类型enum和类class、接口interface的级别是一样的,关键字enum;2、定义的每个枚举类型都继承自java.lang.Enum类;3、枚举中可以定义枚举值(枚举成员)和方法(包括构造方法);4、枚举成员是public、final、static修饰的,每个枚举成员实际是枚举的原创 2014-03-11 16:44:32 · 816 阅读 · 0 评论 -
对象的克隆clone
克隆,也叫复制,包括:深克隆、浅克隆(深复制或浅复制)。java的clone()方法定义在Object类中,克隆方法将对象复制一份返回给调用者。一般而言:1、对任意的对X象,都有X.clone() != X;克隆对象与原对象不是一个对象2、对任何对象X,都有X.getClass == X.clone().getClass();克隆对象与原对象的类型一样3、如果X的equ原创 2014-03-19 17:29:09 · 699 阅读 · 1 评论