![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 80
莫浔
小白菜学编程
展开
-
java 缓存架构剖析–本地缓存(LoadingCache)
java 缓存架构剖析–本地缓存(LoadingCache)目录1 适用场景1.2 实例理解2 LoadingCache的使用3 基本特性3.1 **值操作:**3.2 **缓存回收:**3.3 **显式清除:**3.4 **移除监听器**3.5 移除机制3.6 **刷新:**4 其他特性4.1 统计4.2 **asMap视图**4.3 可能遇到的问题4.5 清理什么时候发生?缓存的使用可以大大提高程序的执行效率,但是如果缓存无法及时更新会导致脏读的情况。1 适用场景缓存在很多场景下都是相当有用的原创 2021-04-19 10:43:54 · 1625 阅读 · 2 评论 -
ThreadPoolExecutor配合CompletableFuture执行多线程并发处理
ThreadPoolExecutor配合CompletableFuture提高并发处理关于CompletableFuture的介绍参考博文:java线程池ThreadPoolExecutor与四种常见线程池对线程池ThreadPoolExecutor有多种选择,如:ThreadPoolExecutor、newFixedThreadPool()、newSingleThreadExecutor()、newCachedThreadPool()、newScheduledThreadPool。对线程池的详细了解参原创 2021-03-12 11:37:18 · 2909 阅读 · 1 评论 -
Java中CompletableFuture使用总结与示例
Java中的异步计算参考文档:CompletableFuture 使用详解 - 简书Java中CompletableFuture异步编程CompletableFuture API用法介绍———————————————————————————异步计算很难推理。通常我们希望将任何计算视为一系列步骤。但是在异步计算的情况下,表示为回调的动作往往分散在代码中或者深深地嵌套在彼此内部。当我们需要处理其中一个步骤中可能发生的错误时,情况变得更糟。Future接口是Java 5中添加作为异步计算的原创 2021-03-07 19:29:09 · 3563 阅读 · 0 评论 -
java线程池ThreadPoolExecutor与四种常见线程池
java线程池总结ThreadPoolExecutor线程池线程池的4个构造方法。`ThreadPoolExecutor`的策略参数实例解释**阻塞队列` BlockingQueue workQueue`**`SynchronousQueue``ArrayBlockingQueue``LinkedBlockingQueue``PriorityBlockingQueue`拒绝策略`handler``ThreadFactory`自定义线程创建`ThreadPoolExecutor`扩展线程池线程数量线程池的处理原创 2021-03-06 19:32:00 · 1379 阅读 · 0 评论 -
UUID类randomUUID()方法
randomUUID() method is available in java.util package.java.util软件包中提供了randomUUID()方法 。randomUUID() method is used to return type 4 UUID and it constructed by pseudo-random number generator.randomUUID()方法用于返回类型4 UUID,它由伪随机数生成器构造。randomUUID() method.原创 2021-01-08 20:36:55 · 12579 阅读 · 0 评论 -
对Map(HashMap)、List以get方法获得的值进行操作是否改变原值测试
import jdk.nashorn.internal.ir.IfNode;import java.util.*;public class ComputeTest {//List<String> list =new ArrayList<>(Arrays.asList("a", "b", "b", "c", "c", "c", "d", "d", "d", "f", "f", "g")); public static Map<String, List<In原创 2020-11-05 14:13:27 · 4499 阅读 · 0 评论 -
java: 未报告的异常错误java.lang.IllegalAccessException; 必须对其进行捕获或声明以便抛出
java: 未报告的异常错误java.lang.IllegalAccessException; 必须对其进行捕获或声明以便抛出c错误新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入c错误你好! 这是你第一次使用 Mark原创 2020-10-29 15:19:52 · 10011 阅读 · 0 评论 -
Java范型中 ? extends T 和 ? super T 的区别
前言:向上转型是安全的,向下转型是不安全的,除非你知道List中的真实类型,否则向下转型就会报错。 extends List<? extends Number> foo3意味着下面的赋值语句都是合法的: List<? extends Number> fo...转载 2020-10-19 16:17:54 · 135 阅读 · 0 评论 -
Java枚举类型的用法
Java枚举类型的用法 JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。1.用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl....(这种方式在现在项目中也很常见) 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。而且枚举类型可以帮助我们检测许多的编译失误。例如:package e...转载 2020-10-16 10:52:33 · 413 阅读 · 0 评论 -
IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)
IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键) 修改方法如下:点击 文件菜单(File) –> 点击 设置(Settings… Ctrl+Alt+S), –> 打开设置对话框。在左侧的导航框中点击 KeyMap。 接着在右边的树型框中选择 Main menu –> Code –> Completion. 接着需要做两件事: 1. 移除原来的Cycle Expand W...转载 2020-10-16 09:44:29 · 854 阅读 · 0 评论 -
HashSet、HashMap,散列表数据结构(哈希表)
很多开发者,初学者都知道HashSet无序,不可重复,线程非同步。底层是哈希表结构。 但它是怎么做到的?什么是散列表数据结构(哈希表)?有什么特性?都清楚吗?不清楚继续往下看。 它是这样做到的: 先来看HashSet的源码,首先看默认构造器: [java] public HashSet() { map = new HashMap<E,...转载 2020-10-10 11:27:32 · 213 阅读 · 0 评论 -
Java泛型声明<? extends E>和<? super E>的作用和区别
这篇文章谈一谈Java泛型声明<? extends E>和<? super E>的作用和区别<? extends E> <? extends E> 是 Upper Bound(上限) 的通配符,用来限制元素的类型的上限,比如List<? extends Fruit> fruits;表示集合中的元素类型上限为Fruit类型,即只能是Fruit或者Fruit的子类,因此对于下面的赋值是合理的 fruits ...转载 2020-10-09 17:48:53 · 877 阅读 · 0 评论 -
Java重写equals方法,建立hashCode
代码分为三个classclass1:Employee.javapackage equals;import java.time.LocalDate;import java.util.Objects;public class Employee{ private String name; private double salary; private LocalDate hireDay;// 构造函数 public Employee (String nam原创 2020-09-29 14:35:42 · 125 阅读 · 0 评论 -
Java中关于equals与==在判断null时的差异
先看代码import java.awt.*;import java.util.Objects;/**This program demonstrates abstract classes */public class PerTest{ public static void main(String[] args) { Point pnull=new Point(); Point pnull2=new Point(); Point ne原创 2020-09-29 11:10:37 · 396 阅读 · 0 评论 -
Java 抽象类——父类及子类特点与使用
Java抽象类 详解 一、抽象类的基本概念 普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。 那么什么叫抽象方法呢?在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被转载 2020-09-28 17:39:23 · 9006 阅读 · 0 评论