Java—Future模式(设计思想)
Futrue模式简介 Future模式有点类似于网上购物,在你购买商品,订单生效之后,你可以去做自己的事情,等待商家通过快递给你送货上门。Future模式就是,当某一程序提交请求,期望得到一个答复。但…
Java—快速开发二维码生成服务(ZXing)
不知道从什么时候开始,我们的生活突然之间就充满了二维码,连街边大妈的鸡蛋饼早餐摊也贴上了二维码。而且这次疫情的管控也用上了二维码,避免手工填写造成交叉感染。那么 Java 如何开发二维码功能呢? 1.…
Java—JJWT使用
其中JAVA语言到(2018-06)有6个实现库,如下图: 按顺序依次是 Auth0实现 的 java-jwt Brian Campbell实现的 jose4j connect2id实现的 nimbu…
Java—使用Jwt(Token令牌)
什么是JWT 提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的…
Java—自定义注解
插入式注解处理API可以让你在编译期访问注解元数据,处理和自定义你的编译输出,像反射一样访问类、字段、方法和注解等元素,创建新的源文件等等。可用于减少编写配置文件的劳动量,提高代码可读性等等。 htt…
Java —最常用的工具类
在 Java 中,工具类通常用来定义一组执行通用操作的方法。本篇将会向大家展示 它们最常用的方法。 1、IOUtils org.apache.commons.io.IOUtils,操作 IO 流的工具…
Java —final 和 effectively final区别
在早期的版本中,本地类,匿名类访问本地变量都需要是final的。 但是1.8版本中,本地类和匿名类,还有lambda表达式访问本地变量已经不用声明为final了,仅仅是不用明确写为final,其实还是…
Java—LinkedHashMap
但俗话说了,“金无足赤人无完人”,HashMap 也不例外。有一种需求它就满足不了,假如我们需要一个按照插入顺序来排列的键值对集合,那 HashMap 就无能为力了。因为为了提高查找效率,HashMa…
Java—HashMap
单线程环境下最重要的就是 ArrayList 和 LinkedList,多线程环境下最重要的就是 CopyOnWriteArrayList。 HashMap 是一个 Map,用来存储 key-valu…
Java—CopysOnWriteArrayList(线程安全)
CopyOnWriteArrayList:CopyOnWriteArrayList这是一个ArrayList的线程安全的变体,其原理大概可以通俗的理解为:初始化的时候只有一个容器,很常一段时间,这个容…
Java—利用触发器监听sqlserver数据库
触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 触发器对表进行插入、更新、删除的时候会自动执行…
Java—LinkedList
最开始学习 Java 的时候,我还挺纳闷的,有了 ArrayList,干嘛还要 LinkedList 啊,都是 List,不是很多余吗?当时真的很傻很天真,不知道有没有同款小伙伴。搞不懂两者之间的区别…
Java—ArrayList源码走一波
ArrayList 实现了 List 接口,是基于数组实现的。小伙伴们都知道,数组的大小是固定的,创建的时候指定了大小,就不能再调整了,如果数组满了,就不能再添加任何元素了。ArrayList 是数组…
Java—数组的操作(java.util.Arrays)
java.util.Arrays 类就是为数组而生的专用工具类,基本上常见的对数组的操作,Arrays 类都考虑到了,这让我由衷地觉得,是时候给该类的作者 Josh Bloch、Neal Gafter…
Java—字符串操作(String)
String 可以说是 Java 中最常见的数据类型,用来表示一串文本,它的使用频率非常高。 一、多行字符串 每个操作系统对换行符的定义都不尽相同,所以在拼接多行字符串之前,需要先获取到操作系统的换行…
Java—装饰器模式和代理模式的区别
代理模式和装饰器模式很像,这里用【到咖啡馆喝咖啡】作例子来讲解。 基础实现 定义一个咖啡的接口。 public interface Coffee { /** * 打印当前咖啡里有什么 */ void …
JAVA 注解的基本原理
以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高。 于是就有人提出来一种标记式高耦合的配置方式,『注解…
@DateTimeFormat 和 @JsonFormat注解
1. 准备 定义一个pojo,它有一个 java.util.Date 类型的属性 date。 import java.util.Date; public class DateVo { private …
lombok编写优雅的Bean对象
使用java编写代码,十之八九都是在写java类,从而构建java对象。lombok之前也说了不少,但使用了这么多年,感觉还是有很多技巧可以使用的。 毫无疑问,使用lombok,编写的java代码很优…
Java—Optional 详细用法 (java8)
一、简介 Optional 是一个对象容器,具有以下两个特点: 提示用户要注意该对象有可能为null 简化if else代码 二、使用介绍 1.创建: Opt…
java—stream()方法的使用(java8)
Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQ…
EasyExcel使用详解
关于POI的笔记: http://www.enmalvi.com/2020/05/09/java-poi-excel/ 关于Excel表格的都可以用得到poi和EasyExcel EasyExcel …
lombok基本注解
lombok是一款在java开发中简洁化代码十分有用的插件工具。 使用lombok注解,目的和作用就在于不用再去写经常反复去写的(如Getter,Setter,Constructor等)一些代码了。 …
java中的双冒号操作符
双冒号运算操作符是类方法的句柄,lambda表达式的一种简写,这种简写的学名叫eta-conversion或者叫η-conversion。 通常的情况下: 把 x -> System.out.prin…
Java 关于时间的操作
Date和Calendar的区别 Date类表示的是特定的,瞬间的,它能精确毫秒。 Calendar它是一种抽象类,相比Date它在操作日历的时候提供了一些方法来操作日历字段 在JDK1.0中,Dat…
Java—POI操作Excel
一、POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 结构: HSSF - 提供读写…
Java—DecimalFormat(数字格式化)
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。DecimalFormat 包含一个模式 和一组符号。 符号含义: 上一个经典的表格,我们来说一说响应的…
Java—类加载内存
关于类加载内存里面的反射: http://www.enmalvi.com/2020/04/27/java-fanshe/ 1.类加载的流程 这里面的关键在于流程的三个点——加载,连接,初始化! 举个例…
Java—反射机制
反射是什么 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为j…
Java—Serializable接口(序列化)
工作中我们经常在进行持久化操作和返回数据时都会使用到javabean来统一封装参数,方便操作,一般我们也都会实现Serializable接口,那么问题来了,首先:为什么要进行序列化;其次:每个实体be…