JAVA线程总结(完结篇)

线程池概述
程序启动一个新线程成本是比校高的,因カ它渉及到要与操作系統迸行交互而使用线程池可以很好的提高性能,尤其是当程序中要创建大量生存期很短的线程吋,更应该考虑线程池.线程池里的毎一个线程代码结束后,井不会死亡,而是再次回到线程池中成为空闲状态,等待下一个対象来使用。在JDK5之前,我仞必須手劫实现自己的线程池,从JDK5幵始, Java内置支持线程池。
package com.tao.thread2;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
 * 多线程(线程池的概述和使用)
 * @author 天外飞星
 *
 */
public class Demo5_Executors {
	public static void main(String[] args) {
		ExecutorService  eService=Executors.newFixedThreadPool(2);  //创建线程池
		eService.submit(new MyRunable()); 		//讲线程放进池子并执行
		eService.submit(new MyRunable());
		eService.shutdown();               //关闭线程池
	}
}

简单工厂模式概述

又叫静态工厂方法模式,它定义-个具体的工厂类负责创建一些类的实例
B:优点
“客户端不需要在负责对象的创建,从而明确了各个类的职责
C:缺点
这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后斯的维护

需要五个类,Animal.java抽象动物类,Dog.java狗类,Cat.java猫类,AniamlFactory.java用于创建动物,Test.java测试类

代码走起

Animal.java
package com.tao.simplefactory;

public abstract class Animal {
	public abstract void eat();
}

Dog.java
package com.tao.simplefactory;

public class Dog extends Animal{

	@Override
	public void eat() {
		System.out.println("狗吃肉");
		
	}
	
}

Cat.java
package com.tao.simplefactory;

public class Cat extends Animal {

	@Override
	public void eat() {
		System.out.println("猫吃鱼");

	}

}

AniamlFactory.java
package com.tao.simplefactory;

public class AniamlFactory {
	/*public static Dog createDog(){
		return new Dog();
	}
	public static Cat createCat(){
		return new Cat();
	}*/
	public static Animal createAnimal(String name){
		if("dog".equals(name)){
			return new Dog();
		}else if ("cat".equals(name)) {
			return new Cat();
		}else {
			return null;
		}
	}
}

Test.java
package com.tao.simplefactory;

public class Test {
	public static void main(String[] args) {
			/*Dog d = AniamlFactory.createDog();
			d.eat();
			Cat c = AniamlFactory.createCat();
			c.eat();*/
			Dog d=(Dog) AniamlFactory.createAnimal("dog");
			d.eat();
			Cat c=(Cat) AniamlFactory.createAnimal("cat");
			c.eat();
			
		
			
	}
}

设计模式(工厂方法模式的概述和使用)(了解)
  • A:工厂方法模式概述
    • 工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。
  • B:优点
    • 客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
  • C:缺点
    • 需要额外的编写代码,增加了工作量
  • D:案例演示
Animal.java
package com.tao.FactoryMethod;

public abstract class Animal {
	public abstract void eat();
}

Cat.java
package com.tao.FactoryMethod;

public class Cat extends Animal {

	@Override
	public void eat() {
		System.out.println("猫吃鱼");

	}

}


Dog.java
package com.tao.FactoryMethod;

public class Dog extends Animal{

	@Override
	public void eat() {
		System.out.println("狗吃肉");
		
	}
	
}


CatFactory.java
package com.tao.FactoryMethod;

public class CatFactory implements Factory {

	@Override
	public Animal createAnimal() {
		
		return new Cat();
	}

}

DogFactory.java
package com.tao.FactoryMethod;


public class DogFactory implements Factory {

	@Override
	public Animal createAnimal() {
		
		return new Dog();
	}

	

}

Test.java

package com.tao.FactoryMethod;

import com.tao.simplefactory.AniamlFactory;

public class Test {
public static void main(String[] args) {
DogFactory df=new DogFactory();
Dog d = (Dog) df.createAnimal();
d.eat();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旋律~学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值