- 博客(79)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 JAVA学习笔记(四十三)- ThreadLocal
死锁/* * 死锁:多个线程使用不同的锁,每个线程都需要另一个线程持有的锁 * 出现:同步的嵌套 * */public class Test01 { public static void main(String[] args) { Tom tom = new Tom(); Alice alice = new Alice(); MyT
2015-03-30 00:30:45 1346
原创 JAVA学习笔记(四十二)-生产者消费者模型
wait()、notify()/* * wait()、notify() * * 1.两个方法都只能在synchronized代码块中执行,因为要对持有锁的线程操作,只有同步中才有锁 * 2.两个方法在操作同步中的线程时,必须要标识所操作线程持有的对象锁 * 3.等待和唤醒必须是同一个对象锁 */public class Test05 { public static void
2015-03-30 00:26:16 1454
原创 JAVA学习笔记(四十一)-多线程与线程组
线程组ThreadGroup/* * 线程组ThreadGroup * * 结论: * 如果在设置线程组优先级之前设置线程优先级,则线程优先级不受线程组优先级限制 * 如果在设置线程组优先级之后设置线程优先级,则线程优先级不能超过线程组优先级 * * 线程的优先级,默认与启动它的父线程相同,但受到所有线程组的限制 */public class Test02 { publ
2015-03-30 00:24:01 2291
原创 JAVA学习笔记(四十)- 守护线程与中断线程
守护线程/* * Daemon线程,即守护线程 * 一般都在后台运行,为其他线程提供服务,不能单独存在 */public class Test08 { public static void main(String[] args) { MyThread8 t1 = new MyThread8("守护线程"); System.out.println("是守
2015-03-29 09:59:10 1463
原创 JAVA学习笔记(三十九)- 线程优先级
线程优先级/* * 线程优先级,范围[1,10] * 不同优先级的线程获取执行的机会不同,优先级越高,执行机会越大 * * 对比不同优先级的线程被执行的机率 */public class Test05 { public static void main(String[] args) { System.out.println("最大优先级:" + Thread.M
2015-03-28 16:57:16 1206
原创 JAVA学习笔记(三十八)- 创建实现Runnable接口的线程
创建实现Runnable接口的线程/* * 创建线程方式二:实现Runnable接口 * 步骤: * 1.创建一个Runnable接口的实现类 * 2.实现run方法 * 3.创建一个实现类的实例 * 4.创建Thread实例,将实现类的实例作为参数传入 * 5.调用start方法,启动线程并运行run方法 */class MyDemo implements Runnable{
2015-03-28 16:53:16 1337
原创 JAVA学习笔记(三十七)- 创建继承Thread的线程
创建继承Thread的线程/* * 创建线程方式一:继承自Thread * 步骤: * 1.自定义类,继承自Thread类 * 2.重写run()方法 * 3.创建类的实例,即创建一个线程 * 4.调用线程的start()方法,作用:启动线程、调用run()方法 * * * Thread的run方法,用于存储线程要执行的代码,必须重写此方法 * 启动线程时会自动调用此方法
2015-03-28 16:50:53 1345
原创 JAVA学习笔记(三十六)- 文件的拆分和合并
文件的拆分和合并import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.SequenceInputStream;import java.util.Enumeration;import
2015-03-28 11:01:58 1855
原创 JAVA学习笔记(三十五)- 随机读写文件 RandomAccessFile
RandomAccessFile类/* * RandomAccessFile类,随机读写文件 * * 数据分段要有规律,每段大小相等,可以将每段数据设置为较大的值,足以存在每一个段的数据 * */public class Test04 { public static void main(String[] args) throws IOException { /
2015-03-28 10:59:07 1804
原创 JAVA学习笔记(三十四)- 字节打印流 PrintStream
PrintStream字节打印流import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintStream;import java
2015-03-28 08:24:17 1550
原创 JAVA学习笔记(三十三)- 字节流转换为字符流
将字节流转换为字符流import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import
2015-03-28 08:19:25 2041 2
原创 JAVA学习笔记(三十二)- 字符流 FileReader & FileWriter
标题import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import
2015-03-28 08:16:01 1421 1
原创 JAVA学习笔记(三十一)- 对象序列化Serializable
序列化Serializableimport java.io.Serializable;/* * Student类,实体类 * 实现Serializable接口,表示可以被序列化 */public class Student implements Serializable { private static final long serialVersionUID = 37730745793
2015-03-27 13:51:04 1280
原创 JAVA学习笔记(三十) - 数据流 DataInputStream & DataOutputStream
DataInputStream和DataOutputStream/* * DataInputStream和DataOutputStream * 数据输入输出流,用来对Java基本数据类型进行读写操作 * * 注: * 1.使用DataInputStream写入的文件无法直接打开 * 2.读取的顺序必须和写入的顺序相同 */public class Test01 { pub
2015-03-27 13:45:06 1563
原创 JAVA学习笔记(二十九) - 缓冲流 BufferedInputStream &BufferedOutputStream
BufferedInputStream和BufferedOutputStreamimport java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.Fil
2015-03-27 13:40:07 1691
原创 JAVA学习笔记(二十八) - 字节流 InputStream & OutputStream
Scanner类和nextLine()方法import java.util.Scanner;/* * Scanner类,用于从控制台输入数据,字节输入流 * next()方法 * 1.对输入有效字符之前的输入的空格、tab、回车等,会自动忽略 * 2.只有在输入有效字符后,才会将空格、tab、回车作为结束符 * 3.无法获取带有空格的字符串 * * nextLine()方法 * 1
2015-03-27 13:36:52 1463
原创 JAVA学习笔记(二十七) - 文件过虑器
文件过虑器FilenameFilterimport java.io.File;import java.io.FilenameFilter;/* * 文件过虑器FilenameFilter */public class Test06{ public static void main(String[] args) { File file = new File("
2015-03-27 09:33:58 1350
原创 JAVA学习笔记(二十六) - 文件操作
File类import java.io.File;import java.io.IOException;/* * File类 * 文件和文件夹(目录),统称为文件 */public class Test03{ public static void main(String[] args) throws Exception { /* * 创建
2015-03-27 09:31:54 1324
原创 JAVA学习笔记(二十五) - 泛型Generic
泛型Genericimport java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;/* * 泛型Generic * 泛型集合:即声明集合时指定集合中元素的类型 *
2015-03-27 09:21:42 1338
原创 JAVA学习笔记(二十四) - Properties类和Collections工具类
Properties类import java.io.FileNotFoundException;import java.io.FileReader;import java.util.Enumeration;import java.util.Properties;/* * Properties类,键值对集合,是Hashtable的子类 * 但只能存储字符串键值对 */public cla
2015-03-26 14:55:56 1432
原创 JAVA学习笔记(二十三)-Comparable接口和Comparator接口
Comparable接口排序/* * 学生类,实现Comparable接口,使其具有比较性 */public class Student implements Comparable{ private String name;// 姓名 private int age;// 年龄 private int score;// 成绩 public Student()
2015-03-26 14:52:22 1499
翻译  Don't Put Your Resume Ahead of the Requirements
 Don’t Put Your Resume Ahead of the RequirementsAs engineers we sometimes recommend technologies, methodolo- gies, and approaches for solving problems because deep down we want to have these on our re
2015-03-26 10:19:12 1757
原创 JAVA学习笔记(二十二)- 集合HashMap与Hashtable
HashMap类import java.util.HashMap;import java.util.Map;/* * HashMap类,实现Map接口,以键值对的形式存储数据key-value */public class Test04{ public static void main(String[] args) { // 创建一个HashMap集合
2015-03-26 08:46:05 1588
原创 JAVA学习笔记(二十一)- 集合 Set
HashSet集合import java.util.HashSet;/* * HashSet,实现Set接口,无序、不允许重复 * * 判断重复的依据: * 当添加的元素的hashCode()方法返回值相同,并且equals()方法返回值为true时,就认为是同一个元素 */public class Test07{ public static void main(String
2015-03-26 08:41:04 1339
原创 JAVA学习笔记(二十)- 集合 List
ArrayList 集合/* * ArrayList,实现List接口 * 声明数组时必须指定数组中元素的类型,可以是基本数据类型,也可以是引用数据类型 * 声明集合时可以不指定其元素的类型,元素类型默认为Object类型 */public class Test01{ public static void main(String[] args) { //
2015-03-26 08:38:13 1585
原创 JAVA学习笔记(十九)- 异常
常见异常/* * 常见异常 */public class Test02{ public static void main(String[] args) { // 算术异常 int a = 10; int b = 0; System.out.println(a / b);*/ //数组下标越界异常
2015-03-25 15:07:41 2341 4
原创 JAVA学习笔记(十八)- API常用类
常用类import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Random;/* * 常用类 * Date类 * SimpleDateFormat类 * Calendar类 *
2015-03-25 15:00:39 1512
原创 JAVA学习笔记(十七)- Object类和包装类
Object类/* * Object类是所有类的根,默认自定义类都继承自此类 */public class Test08{ public static void main(String[] args) { /* * 字符串比较 * String类重写了Object父类的equals()方法 */
2015-03-25 10:56:53 1899
原创 JAVA学习笔记(十六)-接口
接口的概念/* * 接口Interface * 接口中没有构造方法,不能被实例化(抽象类有构造方法,但不是用来创建实例的,而是用来初始化成员的) * * 类中方法如果不指定修饰符,则默认为default * 接口中方法如果不指定修饰符,则默认为public */public interface Test02{ // 接口中的属性默认为public static final,
2015-03-25 10:50:39 1307
原创 JAVA学习笔记(十五)-Eclipse自定义编码格式
Eclipse自定义编码格式与快捷键1.在Eclipse的主界面称之为透明视图,每一个独立的窗口称为视图,视图可通过右上角菜单的open Perspective来打开新的工作视图,也可以通过主菜单栏的window->show view 来打开我们想要的视图,利用视图,我们可以很方便的查看到我们代码,以及调试的结果。当我们不小心删除了某一个视图,想要进行恢复的时候,在window->reset per
2015-03-24 11:16:13 1668
原创 JAVA学习笔记(十四)-经典多态实例
多态的实现import java.util.Scanner;/* * 面向对象:封装、继承、多态 多态,即一个A类型的变量既可以指向A类型的对象,又可以指向他子类的对象。其实 在现实生活中就能找到很多运用多态关系的原型,例如一个父亲F,他有两个孩子A和 B,那么F在某些时候可以代表A和B做一些事情,因为父亲对孩子有监护权和抚养权。这里F既可以代表A又可以代表B,因此F具有一定的多态性。
2015-03-24 10:10:33 1450
原创 JAVA学习笔记(十三)-模板方法模式Template
模板方法模式Template/* * 功能:实现数组的排序和打印 * * 定义:在抽象类中定义一个算法(功能)的框架,将具体的步骤延迟到子类中实现。 * 组成:一个抽象类、一个或多个实现类 * 抽象类中包含: * 1.抽象方法,只定义规范,由子类来实现 * 2.模板方法,由父类实现,调用抽象方法来完成逻辑功能,一般定义为final方法,不允许子类重写 * * 优点: * 1.
2015-03-24 09:58:23 1257
原创 JAVA学习笔记(十二)-final关键字与abstract关键字
final关键字/* * final关键字 * 可以修饰:变量、类、方法 * * 1.被final修饰的变量,称为常量 * 常量在使用前必须赋值,但只能被赋值一次,初始化后不能再修改 * a.可以在声明时直接赋值 * b.也可以在声明后再赋值,但必须在构造方法或代码中赋值 * c.静态常量(static final修饰)也可以在声明后赋值,但必须在静态代码块中赋值 *
2015-03-23 16:57:24 1594
原创 JAVA学习笔记(十一)- 重载和重写
重写/* * * 方法重写: * 1.方法名必须相同 * 2.参数列表必须相同 * 3.返回类型相同或是其子类 * 4.不能缩小访问权限 * * 方法重载和方法重写的区别 * overload方法重载,同一个类中,方法名相同,参数列表不同 * override方法重写,父子类中,方法名、参数、返回值相同 *//* * 动物类 */public class Animal
2015-03-23 16:53:42 1310
原创 JAVA学习笔记(十)- 封装与继承
封装/* * 封装 * * 一个Java源代码中可以定义多个类,但public修饰的类只能有一个,必须与文件名相同 */public class Test04{ public static void main(String[] args) { // 创建雇员对象 Employee emp = new Employee();
2015-03-23 10:37:57 1429
原创 JAVA学习笔记(九)- 初始化块与静态代码块
初始化块/* * 初始化块 * 初始化变量方式:声明时、构造函数、代码块 * 使用static关键字修饰的代码块,称为静态代码块 * * 执行顺序:静态代码块>代码块>构造方法 * * 静态代码块在类加载时执行,且只会执行一次,主要用于初始化静态变量 * 代码块和构造方法在创建对象时执行 */public class Test01{ public static vo
2015-03-23 10:22:06 4497 3
原创 JAVA学习笔记(八)- 字符串类和方法
字符串的创建/* * String的创建 */public class Test{ public static void main(String[] args) { //String是引用类型,所以其创建形式可以使用new //引用类型,只要new创建对象,都会在堆内存中开辟一块新的内存空间,存放属性值 String str1
2015-03-22 14:46:57 1475
原创 JAVA学习笔记(七)- 值传递与引用传递
值传递与引用传递概念值传递:在方法进行调用时,形式参数是由实际参数来传递的,方法执行中形式参数值的改变不影响实际参数的值。引用传递:就是地址传递。在方法进行调用时,实际参数的引用的是地址,而不是真正参数的值,方法执行中形式参数值的改变将会影响实际参数的值。代码实例public class Student{ public int age;}public class Tool{ p
2015-03-22 14:36:10 1492
原创 JAVA学习笔记(六) - 类概念
类的创建import java.util.*;/* * 创建类-Person * 从具体每个人中,抽取共性的描述信息-属性(静态) * name,age,gender,height,weight,ID,birthday * 从具体每个人中,抽取共性的动作信息-方法(动态) * eat,sing,dance,sleep,talk,smile,count * 类中主
2015-03-22 14:24:50 2308
原创 JAVA学习笔记(五)- 数组
数组创建数组/* * 数组 */public class Test{ public static void main(String[] args) { int age;//声明 age = 20;//赋值// int[] arrs;//声明了一个数组。array// int arrs2[];// float[]
2015-03-21 09:00:52 1740 1
架构师应该知道的97件事
2015-05-05
装了mac 的fiddler,电脑配置就被修改了
2015-06-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人