`
文章列表
在环境配置正确的前提下,新手们可能会碰到Run as 不出现Android Application的问题,其实这不算问题。 这种情况往往是因为右键点击的位置不对,往往是直接右键点击文件选择Run as才会导致没有Android Application,正确的方法应该是右键点击“项目名称”的Run as才会出现Android Application选项。 http://blog.csdn.net/aminfo/article/details/7760434
perspective 选择java
/* 养成习惯:数据共享用静态 */ class Demo implements Runnable{ public void run(){ for(int x = 0;x < 70;x++){ System.out.println(Thread.currentThread().toString() +"...."+x); } } } class JoinDemo{ public static void main(String[] args)throws Exception{ Demo d = new Demo(); ...
/* join: 当A线程执行到了B线程的join方法时,A就会等待。 等B线程都执行完,A才会执行。 join可以用来临时加入线程执行 */ class Demo implements Runnable{ public void run(){ for(int x = 0;x < 70;x++){ System.out.println(Thread.currentThread().getName() +"...."+x); } } } class JoinDemo{ public static void mai ...
/* 对多异常的处理 1.生命异常时,建议声明更为具体的异常,这样处理可以更具体 2.对方声明几个异常,就应有几个catch块。 如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面。 不要定义多余的catch块。 3.建议在进行catch处理时,catch中一定要定义具体的处理方式,不要 简单定义一句e.printStackTrace(),也不要简单的输出一条语句。 一般在catch块中写存储日志代码。将异常日志写到硬盘中。 */ class Demo{ int div(int a,int b)throws AritchmeticExceptio ...
/* 异常:就是程序在运行时出现不正常情况 异常由来:问题也是现实生活中一个具体的事物,也可以通过 java类的形式进行描述,并封装成对象。 其实就是java对不正常情况进行描述后的对象体现。 对于问题的划分有两种:一种是严重的问题,一种是非严重的问题。 对于严重的问题:java通过Error类进行描述 对于Error一般不编写针对性的代码进行处理 对于非严重的问题:java通过Exception类进行描述 对于Exception可以使用针对性的处理方式进行处理 无论Error或Exception都具有一些共性内容。 比如:不正常情况的信息,引发原因等。 ...
/* 异常:就是程序在运行时出现不正常情况 异常由来:问题也是现实生活中一个具体的事物,也可以通过 java类的形式进行描述,并封装成对象。 其实就是java对不正常情况进行描述后的对象体现。 对于问题的划分有两种:一种是严重的问题,一种是非严重的问题。 对于严重的问题:java通过Error类进行描述 对于Error一般不编写针对性的代码进行处理 对于非严重的问题:java通过Exception类进行描述 对于Exception可以使用针对性的处理方式进行处理 无论Error或Exception都具有一些共性内容。 比如:不正常情况的信息,引发原因等。 ...
/* stop方法已经过时。 如何停止线程? 只有一种,run方法结束。 开启多线程运行,运行代码通常是循环结构。 只要控制循环,就可以让run方法结束,也就是线程结束。 */ class StopThreadDemo implements Runnable{ private boolean flag = true; public void run(){ while(flag){ System.out.println(Thread.currentThread().getName()+"...run"); } } p ...
/*JDK1.5及以上提供了多线程升级解决方案。 将同步Synchronized替换成Lock操作。 将Object中的wait,notify,notifyAll,用Condition对象替换。 该对象可以用lock进行获取。 该实例中实现了本方只唤醒对方的操作。 及生产者只唤醒消费者。 消费者只唤醒生产者。 */ import java.util.concurrent.locks.*; class ProducerConsumer{ public static void main(String[] args){ Resource r = new Re ...
一个生产者一个消费者 class ProducerConsumer{ public static void main(String[] args){ Resource r = new Resource(); Producer pro = new Producer(r); Consumer con = new Consumer(r); Thread t1 = new Thread(pro); Thread t2 = new Thread(con); t1.start(); t2.start(); ...
class Res{ private String name; private String sex; private boolean flag = false; public synchronized void set(String name,String sex){ if(flag){ try{this.wait();}catch(Exception e){} } this.name = name; this.sex = sex; flag = true; this.notify(); } public ...
class Res{ String name; String sex; boolean flag = false; } class Input implements Runnable{ private Res r; Input(Res r){ this.r = r; } public void run(){ int x = 0; while(true){ synchronized(r){ if(r.flag) try{r.wait();}catch(Exception e){} if(x==0){ ...
/* 线程间通讯: 其实就是多线程在操作同一个资源。 但是操作的动作不同 */ class Res{ String name; String sex; } class Input implements Runnable{ private Res r; Input(Res r){ this.r = r; } public void run(){ int x = 0; while(true){ if(x==0){ r.name = "mike"; r.sex = "man&quo ...
/* 死锁: 同步中嵌套同步 */ class Ticket implements Runnable{ private int tick = 1000; Object obj = new Object(); boolean flag = true; public void run(){ if(flag){ while(true){ synchronized(obj){ show(); } } } else while(true) show(); } public ...
/* 单例设计模式 饿汉式 class Single{ private static final Single s = new Single(); private Single(){} public static Single getInstance(){ return s; } } 懒汉式 class Single{ private static Single s = null; private Single(){} public static Single getInstance(){ if(s==null){ synchr ...
Global site tag (gtag.js) - Google Analytics