随笔分类 -  Java基础

摘要:1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低... 阅读全文
posted @ 2014-08-04 11:07 Mr_Wangsg 阅读(159) 评论(0) 推荐(0)
摘要:根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。1、final类 final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是fin 阅读全文
posted @ 2014-03-25 23:41 Mr_Wangsg 阅读(363) 评论(0) 推荐(0)
摘要:栈(stack): 是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域). 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的。所以栈内存中存放的都是方法运行中声明的基本数据类型,如short,int,long等,他们的长度都是一定的,并且生存期都是随着方法的结束而结束。堆(heap): 堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的 阅读全文
posted @ 2014-03-25 15:17 Mr_Wangsg 阅读(655) 评论(0) 推荐(0)
摘要:进程和线程的联系和区别 (2012-03-28 21:31)定义:一、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。二、线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;进程和线程的关系:(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。(3)线程在执行过程中,需要协作同步。不同进程的 阅读全文
posted @ 2014-03-25 14:39 Mr_Wangsg 阅读(163) 评论(0) 推荐(0)
摘要:实例变量与类变量(转)类变量也叫静态变量,也就是在变量前加了static 的变量;实例变量也叫对象变量,即没加static 的变量;区别在于: 类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;例:public class A{ static int a = 0; //类变量 private int b = 0; //实例变量}public class B{ public void main (String[] args){ A a1 = new A(); A a2 =... 阅读全文
posted @ 2014-03-25 14:27 Mr_Wangsg 阅读(167) 评论(0) 推荐(0)
摘要:当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 一. JDK类库中的序列化API java.io.ObjectOutputStream代表对象输出流,它的writeO... 阅读全文
posted @ 2014-03-25 14:21 Mr_Wangsg 阅读(176) 评论(0) 推荐(0)
摘要:一、正则表达式基础知识我们先从简单的开始。假设你要搜索一个包含字符“cat”的字符串,搜索用的正则表达式就是“cat”。如果搜索对大小写不敏感,单词“catalog”、“Catherine”、“sophisticated”都可以匹配。也就是说:1.1 句点符号假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”字母结束。另外,假设有一本英文字典,你可以用正则表达式搜索它的全部内容。要构造出这个正则表达式,你可以使用一个通配符——句点符号“.”。这样,完整的表达式就是“t.n”,它匹配“tan”、“ten”、“tin”和“ton”,还匹配“t#n”、“tpn 阅读全文
posted @ 2014-03-25 10:42 Mr_Wangsg 阅读(365) 评论(0) 推荐(0)
摘要:HashMap和Hashtable两个类都实现了Map接口,二者保存K-V对(key-value对);HashSet则实现了Set接口,性质类似于集合。HashTable和HashMap区别第一,继承的父类不同。Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。[java]view plaincopypublicclassHashtableextendsDictionaryimplementsMap,Cloneable,SerializablepublicclassHashMapextendsAbstractMapimpl 阅读全文
posted @ 2014-03-20 09:31 Mr_Wangsg 阅读(173) 评论(0) 推荐(0)
摘要:这是一对继承于InputStream和OutputStream的类,用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象);本地文件读写编程的基本过程为:① 生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类);② 调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b)等)读写文件内容;③ 关闭文件(close())。实例:流文件读写流文件的单元是字节,所以它不但可以读写文本文件,也可以读写图片、声音、影像文件,这种特点非常有用, 阅读全文
posted @ 2013-12-12 16:03 Mr_Wangsg 阅读(331) 评论(0) 推荐(0)
摘要:startsWith(),endsWith() 阅读全文
posted @ 2013-12-11 18:13 Mr_Wangsg 阅读(363) 评论(0) 推荐(0)
摘要:System.currentTimeMillis() 阅读全文
posted @ 2013-12-10 20:56 Mr_Wangsg 阅读(235) 评论(0) 推荐(0)
摘要:instanceof是Java、php的一个二元操作符(运算符),和==,>,<是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。可以用来判断继承中的子类的实例是否为父类的实现java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。用法:result = object instanceof class参数:Result:布尔类型。Object:必选项。任意对象表达式 阅读全文
posted @ 2013-12-10 20:52 Mr_Wangsg 阅读(313) 评论(0) 推荐(0)
摘要:1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单... 阅读全文
posted @ 2013-12-09 08:52 Mr_Wangsg 阅读(229) 评论(0) 推荐(0)
摘要:BASE64 阅读全文
posted @ 2013-12-09 08:48 Mr_Wangsg 阅读(289) 评论(0) 推荐(0)
摘要:1. 字符串有整型的相互转换String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int 2. 向文件末尾添加内容 BufferedWriter out = null; try { out = new BufferedWriter(new FileWriter(”filename”, true)); out.write(”aString”); } catch (IOException e) { ... 阅读全文
posted @ 2013-12-05 13:53 Mr_Wangsg 阅读(479) 评论(0) 推荐(0)
摘要:byte数组和String之间的转换 阅读全文
posted @ 2013-11-29 15:39 Mr_Wangsg 阅读(228) 评论(0) 推荐(0)