随笔分类 - Java基础
发表于 2025-01-06 20:29阅读:486评论:0推荐:2
摘要:1. 简介 map是我们日常开发中常会的集合类之一, 但是我们除了常用的get和put之外,其他的方法好像很少会用到,接下来我们就介绍一下几个经常被忽略但又很好用的方法. 2. Quick Start 2.1 数据准备 创建一个map对象, 并声明几个用于测试的user对象 Map<Integer,
阅读全文 »
发表于 2023-10-19 18:11阅读:1288评论:1推荐:3
摘要:前言 最近在使用mybatis-plus框架, 常常会使用lambda的方法引用获取实体属性, 避免出现大量的魔法值. public List<User> listBySex() { LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<
阅读全文 »
发表于 2022-07-31 16:25阅读:94评论:0推荐:1
摘要:1. 简介 ThreadLocal是Thread的局部变量,用于编写多线程程序,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。 能干什么: 存储数据 & 线程间数据隔离 在进行对象间跨层传递的时候,使用ThreadLocal可以避免多次传递。比如将用户信息set到ThreadLocal
阅读全文 »
发表于 2021-11-08 21:48阅读:356评论:0推荐:3
摘要:1. 简介 Java8 HashMap结构(数组 + 列表 + 红黑树)如图: 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序
阅读全文 »
发表于 2021-10-29 00:18阅读:427评论:2推荐:2
摘要:1. 简介 LinkedList 同时实现了List和Deque接口,也就是说它既可以看作是一个顺序容器,又可以看作是双向队列。 既然是双向列表,那么它的每个数据节点都一定有两个指针,分别指向它的前驱和后继。所以,从LinkedList 链表中的任意一个节点开始,都可以很方便的访问它的前驱和后继节点
阅读全文 »
发表于 2021-10-27 00:30阅读:419评论:0推荐:2
摘要:1. 简介 ArrayList 实现了 List 接口,其底层基于数组实现容量大小动态可变。既然是数组,那么元素存放一定是有序的,并允许包括 null 在内的所有元素。 每个 ArrayList 实例都有一个容量(capacity)。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。
阅读全文 »
发表于 2021-09-26 23:17阅读:987评论:0推荐:3
摘要:1. 简介 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 比如:我们在调用底层框架方法时候,需要在调用方法的前后打印日志,或者做一些逻辑判断。此时我们无法去修改底层框架方法,
阅读全文 »
发表于 2021-09-25 17:54阅读:328评论:0推荐:1
摘要:1. 简介 JAVA反射机制是在运行状态中。 对于任意一个类,都能够知道这个类的所有属性和方法。 对于任意一个对象,都能够调用它的任意一个方法和属性。 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 2. Class Class类其实也是一个Java类,存在于JDK的ja
阅读全文 »