- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 对象的克隆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
697
原创 进程、线程(synchronized、wait、notify)
为了帮助更好的理解进程和线程,举个例子:电脑同时运行word和pdf,是指的2个进程,在word打印过程中,还可以进程编辑,是指的2个线程。一、线程基本知识点1、程序是静态的,进程是动态的。进程本质上是一个执行的程序。2、一个进程可以包含多个线程,但至少包括一个线程;没有进行其他线程的定义时,进程中只有一个单线程(主线程),main方法就在这个主线程上运行。我们的程序都
2014-03-18 23:11:43
905
原创 字符串String转换成字节数组 byte[]的表现形式
在java中,经常需要把String类型的字符串转换为一个字节数组,通过对字节数组的操作,来实现对字符串的操作。例如,在字节流的操作过程中,由于内存只对字节进行操作,因此,在读取外部的String字符串时,首先把String字符串转换为byte[],然后对byte[]进行读取。示例代码:String str = "abcdefg";byte[] b = str.getBytes
2014-03-18 14:12:04
1842
原创 异常介绍、自定义异常、异常面试题
一、异常介绍java.langClass Exceptionjava.lang.Objectjava.lang.Throwablejava.lang.ExceptionException是异常的英文,也是java.lang包下面的一个类,使用时不用导入。java.langException继承自Throwable类。Thr
2014-03-15 12:03:32
860
原创 静态代理模式、动态代理模式(实现、对比)
一、代理模式包含的角色1、抽象角色:声明真实对象和代理对象的公共接口。2、代理角色:代理真实对象,实现真实对象想要实现的功能(方法);另外,可附加自身功能(方法)。在代理真实对象的过程中,为了实现代理,应包含一个真实对象的成员变量,通过此成员变量去实例化真实对象,通过实例去调用真实对象的方法,以此来实现对真实对象的调用,实现代理。3、真实角色:代理角色所代表的真实对象,是我们最终要引用
2014-03-14 16:40:14
612
原创 题目及解答:利用常量、枚举实现访问权限的设置
题目:当为employee和department时没有访问权限,当为manager时有可以访问的权限。程序设计:1、用常量实现要求(代码段)public static boolean access(int a){if(a==Constants.DEPARTMENT){return false;}else if(a==Constants.EMPLOYEE){
2014-03-11 18:14:51
736
原创 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
813
原创 JDK5.0新特性:可变参数的本质及示例程序分析
1、可变参数时再参数类型加“...”,必须是三个点,不能多,例如int...;2、当定义多个参数时,可变参数必须在后面,例如(String s, int... i),而且,可变参数最多只有一个;3、可变参数本质上是一个数组,在传递具体参数时可以传递一个数组对象,也可以传递离散的值(若把参数定义为一个数组类型时,则传递具体参数时必须传递数组对象);4、由于可变参数本质上是一个数组,因此没
2014-03-11 14:03:22
577
原创 两个赋值相同的Integer参数,打印结果却不等
先看一个奇怪的程序:class IntegerTest {public static void main(String[] args) {Integer integ1 = 100;Integer integ2 = 100;Integer integ3 = 200;Integer integ4 = 200;System.out.println(integ1 ==
2014-03-11 12:29:39
745
原创 题目及解答:通过命令行输入多个单词,统计单词次数(利用新特性)
题目:通过命令行输入多个单词,统计单词次数import java.util.*;public class ArrayTest {public static void main(String[] args) {Map map = new HashMap(); //JDK5.0新特性之:泛型for(String str : args) //JDK5.
2014-03-11 11:17:14
593
原创 集合的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
原创 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
532
原创 JDK5.0新特性:For—Each增强型for循环
一、格式二、示例1、打印数组元素2、打印二维数组元素3、打印字符串元素4、打印一个集合ArrayList中的元素三、限制条件当遍历集合或数组时,如果需要访问集合或数组的下标,用增强For循环的话,相对麻烦。总结:增强型For循环不是功能上增强了,是代码简化了。
2014-03-10 17:13:17
763
原创 题目及解答:策略模式+泛型(对Person类按姓名、id、年龄正序、倒序排序)
题目及解答:策略模式+泛型(对Person类按姓名、id、年龄正序、倒序排序)
2014-03-10 16:16:06
2591
原创 同包不同文件,继承接口,编译出错:java错误找不到符号
在同一个包中分不同的.java文件进行继承实验时,出现编译错误:java错误找不到符号程序如下:①Test.javapackage test;class Test {public static void main(String[] args) {Person p = new Person("lpp");System.out.println(p);}
2014-03-10 15:16:55
4821
2
原创 java错误提示:Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.gener
在编译如下代码时:package java.generic;public class GenericMain{ public static void main(String[] args) { GenericDemo foo = new GenericDemo(); foo.setFoo1(new Integer(1));
2014-03-09 19:07:41
10705
1
原创 题目及解答:策略模式(对Person类按姓名、学号、年龄进行排序)
题目要求:加入有若干个Person类对象存在一个List当中,对它们进行排序,分别按照名字、年龄、id号进行排序(要有正序和倒序两种方式)。加入年龄或者姓名重复,按照id号的正序进行排序。要求使用策略模式进行。程序如下:1.Person类定义package person.strategy;public class Person{ String name
2014-03-09 16:12:08
1954
原创 java错误提示:Syntax error on token " ", = expected after this token...
编写程序时出现错误提示:Syntax error on token " ", = expected after this token...原因:忘了写main()方法了。。。
2014-03-09 15:48:37
18014
原创 JDK5.0新特性:泛型浅析、通配符(?)
一、泛型的出现背景泛型是变量类型的参数化,例如:Public String toString();上面的String是变量类型。注意以下几点:1.泛型的参数类型只能是引用类型,不饿ngn似乎基本数据类型(Integer、Byte、Character、Short、Long、Float、Double、Boolean;String是引用数据类型);2、可以声明多个泛型参数类型,比
2014-03-07 18:04:51
727
原创 HashSet和HashMap的底层实现——哈希表、散列表
java.lang 类 Objectjava.lang.ObjectinthashCode() 返回该对象的哈希码值。booleanequals(Object obj) 指示某个其他对象是否与此对象“相等”。一、概述java最基本的两种数据结构
2014-03-07 12:27:31
7175
1
原创 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
841
原创 类集框架:List、Set、Map、Iterator、Comparator(重点)
一、类集框架作用类集框架包含了一组标志接口,用户通过这些接口方便对基本类集(动态数组、链接表、树)进行高效率的实现。Java为类集框架提供了几个标准的实现工具,例如LinkedList、HashSet、TreeSet等,具体如下:注意:Collection、Set、List都有iterator()方法,因此继承它们的类(TreeSet、HashSet、ArryList、LinkedLi
2014-03-06 12:45:20
695
原创 使用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
2496
原创 Calendar类、输出当前时间
java.util 类 Calendarjava.lang.Object java.util.Calendarpublic abstract class Calendar // 抽象类,不能直接实例化extends Objectimplements Serializable, Cloneable, ComparableCalendar>一、Calendar
2014-03-05 15:41:29
2967
原创 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
698
原创 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
8076
原创 对象序列化(串行化)的作用、使用
一、序列化的作用序列化定义:将对象转换为二进制数据流(操作目标是对象)。作用:方便传输及保存,可以帮开发者完成保存和读取对象成员变量取值的过程。规定:要求读写或存储的对象实现Serializable接口(此接口未定义任何方法,仅仅被用作一种标记,以便被编译器作特殊处理)。也就是说,若想对对象进行序列化,必须先实现Serializable接口。二、序列化使用方法
2014-03-04 17:49:24
2106
原创 字符编码发展及规范
一、为什么要进行编码的规范化??举个例子,在一个国家的本地化系统中出现的一个字符,通过电子邮件传送到另外一个国家的本地化系统中,看到的就不是那个原始字符了,而是另外那个国家的一个字符或乱码,因为计算机里面并没有真正的字符,字符都是以数字的形式存在的,通过邮件传送一个字符,实际上传送的是这个字符对应的编码数字,同一个数字在不同的国家和地区代表的很可能是不同的符号,如十六进制的D6D0在中国大陆的
2014-03-04 16:26:33
589
原创 字节流和字符流的转换(及BufferedReader类的重要性)
一、简单介绍Java支持字节流和字符流,也支持它们之间的转换。通过两个类实现:InputStreamReader、OutputStreamWriter。1. InputStreamReaderjava.lang.Object java.io.Reader java.io.InputStreamReaderpublic class InputStr
2014-03-04 16:04:48
7294
1
原创 两个特殊的流对象(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
2970
原创 文件IO操作——流文件(字节流、字符流)小结
一、IO包中类的层次关系图IO包中最重要的流类有4个:OutputStream、InputStream、Writer、Reader,其中前两个为字节输出输入流,后两个为字符输出输入流。输出和输入是相对于内存来讲,从内存向外写叫输出,从文件向内存写叫输入。这4个类都是抽象类,都需要子类来为父类进行实例化。例如: 这4个流类下面还有子类,层次关系图为:
2014-03-04 11:11:28
550
原创 java编译错误:java 需要class,interface或enum
问题记录:对定义了包的代码编译,产生标题中问题。解决办法:Package关键词首字母大写了,改成package后,编译成功。收获:在编写代码时注意关键字的大小写,严格执行规范中的约束,例如:1、类名称:所有单词的首字母大写;2、方法名:第一个单词的首字母小写,其余单词首字母大写;3、static属性:所有字母大写,可用‘-’连接,例如:VALUE_OF_MA
2014-03-03 11:47:13
14780
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人