java
文章平均质量分 78
Java相关的各项笔记
一个路过的小孩
小白很菜
展开
-
java常见面试题1
java 简单面试题的解析过程原创 2024-02-26 16:36:33 · 279 阅读 · 1 评论 -
CompletableFuture 异步回调
目录CompletableFuture 异步回调1 CompletableFuture 简介2 Future 与 CompletableFuture3 CompletableFuture 入门3.1 使用 CompletableFuture3.2 没有返回值的异步任务3.3 有返回值的异步任务3.4 线程依赖3.5 消费处理结果3.6 异常处理3.7 结果合并CompletableFuture 异步回调1 CompletableFuture 简介CompletableFuture 在 Java 里面原创 2021-11-22 19:23:53 · 1244 阅读 · 2 评论 -
JUC- Fork/Join 框架简介
目录Fork/Join 框架简介2 Fork 方法Fork 方法的实现原理3 join 方法4 Fork/Join 框架的异常处理5 入门案例Fork/Join 框架简介Fork/Join 它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork/Join 框架要完成两件事情:Fork: 把一个复杂任务进行分拆,大事化小Join: 把分拆任务的结果进行合并任务分割:首先Fork/Join框架需要把大的任务分割成足够小的子任务,如果 子原创 2021-11-22 19:01:07 · 380 阅读 · 0 评论 -
JUC- 线程池
目录ThreadPool 线程池1 线程池简介线程池的优势它的主要特点为:2 线程池参数说明2.1 常用参数(重点)2.2 拒绝策略(重点)3 线程池的种类与创建3.1 newCachedThreadPool(常用)3.2 newFixedThreadPool(常用)3.3 newSingleThreadExecutor(常用)3.4 newScheduleThreadPool(了解)3.5 newWorkStealingPool4 线程池入门案例5 线程池底层工作原理(重要)6 注意事项(重要)Thre原创 2021-11-22 17:48:32 · 396 阅读 · 0 评论 -
JUC- 阻塞队列
目录BlockingQueue阻塞队列1 BlockingQueue 简介2 BlockingQueue 核心方法2.1 放入数据2.2 获取数据3 入门案例4 常见的 BlockingQueue4.1 ArrayBlockingQueue(常用)4.2 LinkedBlockingQueue(常用)4.3 DelayQueue4.4 PriorityBlockingQueue4.5 SynchronousQueue4.6 LinkedTransferQueue4.7 LinkedBlockingDeque原创 2021-11-22 15:22:24 · 427 阅读 · 0 评论 -
JUC- 读写锁
目录读写锁1 读写锁介绍场景:线程进入读锁的前提条件线程进入写锁的前提条件2 ReentrantReadWriteLock3 入门案例3.1 实现案例4 小结(重要)5 锁降级demo读写锁ReadWriteLockDemo、ReadWriteDemo1 读写锁介绍场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是,如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操原创 2021-11-22 14:36:46 · 616 阅读 · 0 评论 -
JUC- 常用的辅助类
常用的辅助类JUC 中提供了三种常用的辅助类,通过这些辅助类可以很好的解决线程数量过多时 Lock 锁的频繁操作。这三种辅助类为:CountDownLatch: 减少计数(减 1 操作)CyclicBarrier: 循环栅栏(加 1 操作)Semaphore: 信号灯(许可证)CountDownLatch减少计数:CountDownLatch 类可以设置一个计数器,然后通过 countDown 方法来进行 减 1 的操作,使用 await 方法等待计数器不大于 0,然后继续执行 aw原创 2021-10-28 17:37:26 · 239 阅读 · 0 评论 -
JUC- 集合的线程安全
集合线程不安全及解决方案原创 2021-10-28 17:00:53 · 2605 阅读 · 0 评论 -
JUC- 线程间定制化通信
A 线程打印 5 次 A,B 线程打印 10 次 B,C 线程打印 15 次 C,按照 此顺序循环 10 轮原创 2021-10-28 16:32:30 · 182 阅读 · 0 评论 -
JUC- 线程间通信
两个线程,一个线程对当前数值加 1,另一个线程对当前数值减 1原创 2021-10-20 15:31:14 · 214 阅读 · 0 评论 -
JUC 重点总结
目录WWH???JUC概述1.进程与线程2.并发与并行3.线程的6种状态4.管程5.用户线程和守护线程Lock 接线程间通信线程间定制化通信集合的线程安全多线程锁Callable 接口JUC 三大辅助类ReentrantReadWriteLock读写锁BlockingQueue阻塞队列ThreadPool 线程池Fork/Join 分支合并框架CompletableFuture 异步回调WWH???JUC是什么?为什么要用?学了会怎么样?JUC概述在Java中,线程部分是一个重点。JUC就是原创 2021-10-20 15:16:24 · 290 阅读 · 0 评论 -
JUC-Lock接口
什么是 LockLock 和 synchronized 的 不同原创 2021-10-20 15:07:56 · 245 阅读 · 0 评论 -
JUC-JUC简介
java.util.concurrent进程与线程并发与并行管程用户线程和守护线程原创 2021-10-20 12:05:17 · 523 阅读 · 0 评论 -
普罗米修斯-Grafana 面板
面板操作:1.增加一个面板2.配置QPS3.设置坐标单位4.copy一个看板等原创 2021-08-23 19:46:37 · 3846 阅读 · 0 评论 -
设计模式-七大原则-合成复用原则
合成复用原则Composite Reuse Principle目录合成复用原则基本介绍继承依赖聚合组合基本介绍原则是尽量使用合成/聚合的方式,而不是使用继承 继承依赖聚合组合原创 2020-12-25 11:40:05 · 318 阅读 · 0 评论 -
设计模式-七大原则-迪米特法则
迪米特法则DemeterPrinciple目录迪米特法则基本介绍案例1运行结果应用实例改进运行结果注意事项和细节基本介绍1. 一个对象应该对其他对象保持最少的了解2. 类与类关系越密切,耦合度越大3. 迪米特法则DemeterPrinciple又叫最少知道原则,即一个类对自己依赖的类知道的越少越好.也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部.对外除了提供的public方法,不对外泄露任何信息4. 迪米特法则还有个更简单的定义:只与直接的朋友通信直接的朋友:每个对象都会原创 2020-12-25 11:31:30 · 359 阅读 · 0 评论 -
设计模式-七大原则-开闭原则
开闭原则OpenClosedPrinciple目录开闭原则基本介绍案例1运行结果分析:demo输出结果基本介绍1. 开闭原则OpenClosedPrinciple是编程中最基础、最重要的设计原则 (ocp原则)2. 一个软件的实体(eg:类),模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)用抽象构建框架,用实现扩展细节。3. 当软件需求发生变化的时候,尽量通过扩展软件实体的行为实现变化,而不是通过修改已有的代码来实现变化4. 编程中遵循其他原则,以及使用设计模式的目的就是遵循开原创 2020-12-22 18:27:12 · 754 阅读 · 1 评论 -
设计模式-七大原则-里氏替换原则
里氏替换原则Liskov Substitution Principle目录里氏替换原则基本介绍oo中的继承性的思考和说明案例说明输出结果解决方法案例2-解决方案--组合输出结果基本介绍1)里氏替换原则Liskov Substitution Principle在1988年,由麻省理工学院的以为姓里的女士提出的;2)如果对每个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序p在所有的对象o1都代换成o2时,程序p的行为没有发生变化,那么类型T2是类型T1的子类型。换句话说,所原创 2020-12-22 16:53:18 · 118 阅读 · 0 评论 -
设计模式-七大原则-依赖倒置原则
依赖倒置原则Dependence Inversion Principle目录依赖倒置原则基本介绍依赖倒转原则应用实例方式1分析方案1 DEMO方案2 DEMO输出结果依赖关系传递的三种方式和应用案例依赖倒转原则的注意事项和细节基本介绍1)高层模块不应该依赖低层模块,二者都应该依赖其抽象;2)抽象不应该依赖细节,细节应该依赖抽象;3)依赖倒转(倒置)的中心思想是面向接囗编程;4)依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的原创 2020-12-15 18:48:07 · 270 阅读 · 1 评论 -
设计模式-七大原则-接口隔离原则
基本介绍Interface Segregation Principle:1. 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接囗上UML图 : 3. 类A通过接囗Interface1依赖类B,类c通过接囗Interface1依赖类D,如果接囗Interface1对于类A和类C来说不是最小接囗,那么类B和类D必须去实现他们不要的方法。4. 按接口隔离原则应当这样处理:将接囗Interface1拆分为独立的几个接囗,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔原创 2020-12-04 16:02:28 · 162 阅读 · 0 评论 -
设计模式-七大原则
设计模式原则目录设计模式原则设计模式的七大原则有:设计原则核心思想:设计模式的七大原则有:1. 单一职责原则2. 接口隔离原则3. 依赖倒置原则4. 里氏替换原则5. 开闭原则6. 迪米特法则7. 合成复用原则设计原则核心思想:1)找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起2)针对接囗编程,而不是针对实现编程。3)为了交互对象之间的松耦合设计而努力...原创 2020-09-16 18:24:44 · 104 阅读 · 0 评论 -
Java8 - 方法引用
方法引用目录方法引用lambda表达式一种简写的方式方法引用基本使用方式:方法引用注意事项:DEMO运行结果lambda表达式一种简写的方式* lambda表达式:由接口申明和方法定义组成,* 方法引用 方法的定义有符合接口定义的方法,不用重新定义方法。方法引用基本使用方式:Class::new:获取该实例对象;Class::static_method:调用该class的静态方法;Class::method:调用该class的任意方法;instance::method:调用原创 2020-08-12 18:04:40 · 177 阅读 · 0 评论 -
Java8 - lambda表达式
lambda表达式目录lambda表达式从基础写法到简化写法lambda表达式的基本写法DEMO从基础写法到简化写法如果方法体只有一条语句,并且是 return 语句,则可以省略方法体大括号简化参数类型,可以不写参数类型,但是必须所有参数都不写简化参数小括号,如果只有一个参数则可以省略参数小括号方法引用 方法归属者::方法名 静态方法的归属者为类名,普通方法归属者为对象lambda表达式的基本写法()-> { };方法参数 goes to( -> ) 方法实现DE原创 2020-08-12 17:26:14 · 170 阅读 · 1 评论