随笔分类 - JAVA面向对象
摘要:package DataTimeTest;/* java.util.data | java.sql.Data类 1.两个构造器的使用 >构造器一:Date():创建一个对应当前时间的Date对象 >构造器二:创建指定毫秒数的Date对象 2.两个方法的使用 >toString():显示当前的年月日时
阅读全文
摘要:package StringTest;import org.junit.Test;/**关于String Buffer和Builder的使用* String不可变的字符序列:底层结构使用char[]型数组* String Buffer可变的字符序列:线程安全的,效率偏低,底层结构使用char[]型数
阅读全文
摘要:package StringTest;public class StringTest { /* String:字符串,使用一对“”引起来表示 String被声明为final,不可被继承 String实现了Serializable接口:表示字符串是支持序列化的 实现了Comparable接口:表示可以
阅读全文
摘要:package daybyday;/* 好处: 1.提高相应速度(减少创建新线程的时间) 2.降低资源消耗 3.便于线程管理 corePoolSize 核心池的大小 maximumPool最大线程数 keepAlivetime线程没有任务时最多保持多久时间后会终止 */import java.uti
阅读全文
摘要:package daybyday; /* 好处:call()可以有返回值 call()可以抛出异常,被外面的操作捕获,获取异常的数值 Callable是支持泛型的 */ import java.util.concurrent.Callable;import java.util.concurrent.
阅读全文
摘要:wait( ) 一旦执行此方法,线程进入阻塞状态,并释放同步监视器 notify( ) 一旦执行此方法,唤醒被wait的线程,如果有多个,则唤醒优先级最高的 notifyAll( ) 一旦执行此方法,就会唤醒所有被wait( )的线程 补充:必须调用在同步代码块或者同步方法中 三个方法的调用者必须是
阅读全文
摘要:Lock锁 实例化Reentrantlock private Reentrantlock lock = new Reentrantlock( ) ; public void run( ) { whilie(true){ try{ lock.lock( );//加锁 try{ 需要运行的代码 }fin
阅读全文
摘要:1.不同的线程分别占用对方需要的同步资源不放弃 都在等待对方放弃自己需要的同步资源,就形成了 程序死锁 2.不会抛异常,也不会提示,所有线程阻塞 使用同步时避免出现死锁
阅读全文
摘要:package deep;//同步方法解决Ruanable接口class Window3 implements Runnable { private int ticket = 100; public void run() { while (true) { show(); } } private sy
阅读全文
摘要:package deep;//问题:出现重票和错票(即线程安全问题)//原因:某个线程操作车票的过程中,未完成时其它线程就参与进来,也操作//如何解决:a操作完才允许其它线程加入//在java中通过同步机制/*一、同步代码块时现Runnable接口 synchornized(同步监视器){ 需要被同
阅读全文
摘要:使用Runnable接口,三个共用一个对象 package deep;class Window1 implements Runnable { private int ticket = 100; public void run() { while (true) { if (ticket > 0) {
阅读全文
摘要:MAX_PRIOITY 10 MIN_PRIOITY 1 NORM_PRIOITY 5 getPriority( ) ;返回线程的优先级 setPriority( int newPriority ) 改变线程的优先级
阅读全文
摘要:new Thread( ) { public void run( ) { 重写run方法 } }.start( );
阅读全文
摘要:public class ThreadTest { public class void main(String[ ] args){ 3.//创建Thread类的子类的对象 MyThread m1 = new MyThread1( ) ; MyThread m2 = new MyThread2( )
阅读全文
摘要:1.继承Thread 2.重写Thread的run( )方法 -->将此线程执行的操作声明在run( )中 3.创建Thread类的子类的对象 4.调用此对象调用start 例如: class MyThread extends Thread { public void run( ){ int i=0
阅读全文
摘要:程序program:完成特定任务、用某种语言编写的一组指令的集合。即一段静态的代码,静态对象 进程process:程序的一次执行过程,或是正在运行的一段程序。是一个动态的过程,有产生和消亡的过程 进程是动态的 进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 线程thread:一个
阅读全文
摘要:1.继承现有异常结构,RuntimeException或者Exception 2.提供全局常量 : erialVersionUID 3.提供重载构造器 4.在项目中即可调用 throw MyException("不能。。。") ; public class MyException extends R
阅读全文
摘要:throw(注意不是throws) 例如: throw new RuntimeException("您输入的数据非法"); //运行时异常,可以不用处理 throw new Exception("您输入的数据非法"); //全局异常,需要处理 下面举个例子 public class StudentT
阅读全文
摘要:1.throws + 异常类型 写在方法的声明处。指明此方法执行时,可能会出现的异常类型 一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足后面的异常类型时 就会被抛出 2.体会:try-catch-finally:真正的异常处理掉了 throws的方式只是抛给了方法的调
阅读全文
摘要:1.finally可有可无(一般finally中用来清理不自动释放的内存) 2.try将可能异常的代码包装起来,在执行过程中,一旦异常,就会生成一个应对异常的对象,根据此对象的类型 去catch中进行匹配 3.一旦catch中的异常对象匹配到某一个catch时,就进入catch中进行异常的处理,一旦
阅读全文