- 浏览: 77379 次
- 性别:
- 来自: 深圳
最新评论
文章列表
在环境配置正确的前提下,新手们可能会碰到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都具有一些共性内容。
比如:不正常情况的信息,引发原因等。 ...
148_多线程(停止线程)
- 博客分类:
- java学习笔记
/*
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 ...