Java Notes
126 篇文章
javanotes
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…
Lambda最通俗易懂的一篇文章(Java 8)
什么是Lambda? “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstr…
slf4j—Java日志框架
简单回顾门面模式 slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式, 门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一…
log4j—日志框架使用
什么是日志框架 我们在系统中对于记录日志的需求并不单纯。首先,我们希望日志要能持久化到磁盘,最基本的就是要能够保存到文件中;其次,我们希望在开发和生产环境中记录的日志并不相同,明显开发环境的日志记录会…
Java—IO读写文件的方式
Java语言的输入输出功能是十分强大而灵活的。 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。 Inpu…
HttpServletResponse常用方法
HttpServletResponse request是请求对象,而response是响应对象。 在Servlet中,当服务器响应客户端的一个请求时,就要用到HttpServletResponse接口…