java
水泽_木兰
让代码插上翅膀去翱翔。
展开
-
Java四种线程池的停止
1.ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(6);创建一个定长线程池,支持定时及周期性任务执行。这种线程池支持延时任务和周期性任务,那就涉及到某个点不需要了,要取消任务。public class ThreadPool { private static Tim...原创 2018-11-21 19:35:22 · 7880 阅读 · 0 评论 -
Java的组合模式
1.组合模式就是一个对象中包含了其它的对象,组合多个对象形成了树形结构;其实就像我们电脑中的文件管理系统;文件夹中可以放入文件和子文件夹;子文件夹也可以再放文件和子文件夹;其实这样的设计模式在Android中的view和viewgroup也使用。2.结构图:3.我们就来据文件和文件夹的例子吧3.1定义一个文件接口,可以是抽象类或接口public interface File ...原创 2019-04-15 11:28:58 · 162 阅读 · 0 评论 -
Java的外观模式
1.外观模式(Facade),隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。2.结构3.下面来通过做饭这个例子;3.1这里简单定义做饭就是蒸大米和做鱼汤;首先定义两个类去实现这两个功能public class Rice { public...原创 2019-04-15 10:37:43 · 541 阅读 · 0 评论 -
Java的责任链模式
1.责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。2.结构图:执行流程图:参考:https://blog.csdn.net/u01281002...原创 2019-04-17 14:17:24 · 303 阅读 · 0 评论 -
Java的单例模式
1.Java的单例模式有7中写法,我们来一一介绍一下。2.懒汉式public class Singleton1 { private Singleton1() { } private static Singleton1 instance;//懒汉式 public static Singleton1 getInstance(){//存在线程安全问题,假如两个线...原创 2019-04-09 18:07:18 · 110 阅读 · 0 评论 -
Java的模板方法模式
1.模板方法模式(Template Method)定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。2.结构图3.一个简单的例子3.1定义一个抽象模板类life;里面定义了起床,去上班,工作,下班。public abstract class Life { private void getUp(){...原创 2019-04-16 10:34:06 · 3898 阅读 · 1 评论 -
Java的建造者模式
1.将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。2.建造者模式的组成部分 2.1 builder:为创建一个产品对象的各个部件指定抽象接口。 2.2ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个检索产品的接口。 2.3Direc...原创 2019-04-09 15:06:50 · 1534 阅读 · 0 评论 -
Java的适配器模式
1.将一个类的接口转成客户期望的另外一个接口。适配器模式使得原本由于接口不匹配而不能一起工作的那些类可以一起工作。适配器分为:类适配器、对象适配器、接口适配器2.类适配器:2.1定义一个otg充电接口public interface IOTG { void powerOTG();}2.2定义一个具体类实现这个功能public class OTG impleme...原创 2019-04-09 12:02:21 · 131 阅读 · 0 评论 -
Java的装饰模式
1.装饰器模式又名包装(Wrapper)模式。装饰器模式以对客户端透明的方式拓展对象的功能,是继承关系的一种替代方案。2.结构图3.再来看一个简单的例子3.1定义一个component接口public interface People { void method();}3.2定义一个具体的实现接口类public class XiaoMing implem...原创 2019-04-12 11:07:14 · 363 阅读 · 0 评论 -
Java的策略模式
1.策略模式的定义:定义一组算法,将每个算法都封装起来,使得它们之间可以相互替换。策略模式让算法独立于调用它的客户端而独立变化。2.结构图:3.Strategy是功能或算法的一个公共接口;并且context会持有引用。ConcreteStrategy是具体的策略实现类;实现了公共接口中的方法。Contex供客户端调用,持有公共接口的类;4.来看一个demo:4.1定...原创 2019-04-08 20:48:28 · 234 阅读 · 0 评论 -
Java的观察者模式
1.在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。2.先看一个例子2.1定义一个抽象的被观察者接口/*** * 抽象被观察者接口 * 声明了添加、删除、通知观察者方法 */public interface Observable { public void registerObserver(Observer o); ...原创 2019-04-08 17:34:56 · 163 阅读 · 0 评论 -
使用Hook技术屏蔽控件的点击事件
1.其实里面用的就是反射技术;先来看一个简单例子:public class HookActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstance...原创 2019-03-30 16:38:55 · 807 阅读 · 0 评论 -
Java线程池ThreadPoolExecutor的参数含义
1.先看构造方法public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,...原创 2019-03-26 12:09:03 · 984 阅读 · 0 评论 -
Java静态变量static
static变量隶属于类,供类的多个不同对象来使用(既可以获取它的值,也可以修改它的值)。假如程序中有多个地方生成了多个不同的类对象,并且对该值进行修改的话,数据很容易出现错乱。package com.ysl.rxjava.SyncThread;public class SyncThread implements Runnable { private static int cou...原创 2018-11-27 16:35:00 · 747 阅读 · 1 评论 -
Synchronized
参考:https://blog.csdn.net/luoweifu/article/details/466130151.synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: (1) 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; (2)修饰一个方法,被修饰的方法称为同步方法,其作用的范围...原创 2018-11-27 16:05:31 · 3899 阅读 · 0 评论 -
java中的sleep()、wait()、notify()的区别
1.调用wait()方法,线程会放弃对象锁,进入等待此对象的等待锁定池2.sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程, 但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。 在调用sleep()方法的过程中,线程不会释放对象锁。3.只有针对锁对象调用notify()方法后wait线程才进入对象锁定池准备获取对象锁进入运行状态。public cl...原创 2018-11-21 21:10:45 · 270 阅读 · 0 评论 -
Java之Queue
1.简介Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。2.常用类的关系图3.普通队列(1)内置的不阻塞队列:PriorityQueue和ConcurrentLinkedQueue PriorityQueue 和 Concu...原创 2019-05-17 16:14:59 · 6532 阅读 · 1 评论