
java
HawardScut
工作啦,有时比较忙没及时回复,望见谅。
展开
-
线程池的简单实现
线程池介绍(1)在没有采取线程池技术的时候,往往是一个任务一个线程的方式,这样将会创建数以万计的线程,使得操作系统频繁的进行线程上下文切换,增加系统的负载(线程的创建和消亡都是需要消耗系统资源的)(2)线程池技术为了解决这个问题而产生,预先创造了若干数量的线程(Worker 线程),并且将线程的创建控制交给ThreadPool类,而不是客户端(客户端将任务job放入工作队列jobs后便返回)...原创 2019-10-14 13:32:21 · 244 阅读 · 0 评论 -
并发编程基础
1、线程简介(1)线程是操作系统调度的最小单元;(2)在一个进程里可以创建多个线程,这些线程都有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量;(3)一个程序作为一个进程来运行,程序运行过程中可以创建多个线程;(4)一个线程在一个时刻只能运行在一个处理器上,多线程程序可以充分利用多处理器执行任务;(5)线程优先级:线程优先级决定线程需要多或者少分配处理器资源的线程属性;(...原创 2019-10-14 00:10:26 · 552 阅读 · 0 评论 -
IDEA多线程调试
1、尽量把线程个数设置1,方便调试2、设置断点,debug调试(此时只有main线程)3、调式进入多线程,可以看到多出thread14、接着右键5、接着双击需要断点的地方,并且进入后再次打上断点 新打上断点如图: ...原创 2018-07-13 23:49:07 · 4603 阅读 · 3 评论 -
java连续读取控制台的输入
import java.util.Scanner;public class Main{ public static void main(String[]args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { String s = s...原创 2019-03-08 19:22:30 · 7030 阅读 · 0 评论 -
java8的stream用于排序
import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.function.Function;import java.util.stream.Collectors;public class Person {private int id;private in...原创 2019-08-03 17:51:39 · 843 阅读 · 0 评论 -
(一)设计模式——单例模式
简单介绍单例模式为避免资源开销等而设计,具体做法是对构造器公开访问改为类内部访问,即private的访问属性,同时提供一个静态方法让外部请求得到该类的实例对象。经典的单例模式实现(需要的时候在创建该实例)public class Singleton { private static Singleton instance; private Singleton() {} ...原创 2019-09-07 00:17:09 · 147 阅读 · 0 评论 -
(二)设计模式——简单工厂、工厂方法
一、简单工厂模式注意: 简单工厂实际上不算设计模式中的一种角色: 抽象产品角色、具体产品角色AB等、唯一的一个工厂(通过传递一个参数给工厂,返回具体的产品)缺点: 只有一个工厂,其职责过重实例: 电视================================1、抽象产品=================================// 抽象产品(可以是抽象类或者接口)pu...原创 2019-09-07 16:34:22 · 188 阅读 · 0 评论 -
(三)设计模式——观察者模式
角色: 抽象目标、具体目标、抽象观察者、具体观察者AB思想: 观察者向被观察对象即目标注册实例,然后其更新的行为随被观察者的转态改变而改变========================抽象的被观察对象==================================// 抽象的被观察对象import java.util.ArrayList;public abstract class ...原创 2019-09-11 22:15:54 · 151 阅读 · 0 评论