- 博客(12)
- 收藏
- 关注
原创 Arrays.asList() 方法的冷知识
最近入职新公司,组长让我改改bug,其中看到同事写的一段代码: /** * 全部复制同事生产环境代码,只改动了str的值 * @param args */ public static void main(String[] args) { String str = "1001, 1002, 1006"; List<String> strList = Arrays.asList(str.split(","));
2021-07-07 15:07:03
284
原创 Docker 安装Redis 项目实战(单机版)
一、docker pull 拉取镜像从Docker Hub中拉取Redis镜像,如果不指定版本,则拉取的版本为latest,最新版。docker pull redis指定Redis版本docker pull redis:5.0.3建议指定版本,这样可以选择指定版本的配置文件redis.conf。使用:docker images查看docker中存在的镜像,可以看到Redis镜...
2019-12-04 22:55:02
170
原创 LinkedList源码解析(一)
前几篇文章分析过 List 接口的一个重要实现 ArrayList,本篇博客开始介绍另一个重要实现 LinkedList。一、与 ArrayList 的区别ArrayList 使用数组存储数据,且数组的长度大于实际存储的数据以便增加和插入元素,允许直接按序号查找元素,但是插入元素要涉及数组元素移动等内存操作,所以查询快,插入慢。而LinkedList使用双向链表实现存储,按序号查找数据需要进行...
2019-11-13 15:43:42
204
原创 ArrayList源码解析之subList
ArrayList的 subList ( int fromIndex, int toIndex ) 方法执行结果是获取ArrayList的一部分,返回的是ArrayList的部分视图。《阿里巴巴Java开发手册》中对subList方法的使用有规定:首先通过一个例子,初步了解subList的用法和易出错的地方:import java.util.ArrayList;import java.ut...
2019-09-10 22:20:38
896
原创 ArrayList源码解析之remove,removeIf
ArrayList中移除元素的方法有ArrayList的remove()方法和Iterator中的remove()方法,本篇主要解析ArrayList的remove(),removeAll(),以及JDK1.8中新增的removeIf()方法。一、remove()remove()方法有两个: remove(int index)、remove(Object o)。 // 根据下标移除元素...
2019-08-29 21:03:03
1417
原创 ArrayList源码解析之iterator,listIterator
ArrayList的遍历方式有多种,本文主要对Iterator、ListIterator两种迭代器的源码进行分析。一、Iterator源码分析 public Iterator<E> iterator() { return new Itr(); }ArrayList的迭代器返回的是一个内部类Itr,接下来看看Itr的内容: private c...
2019-08-21 17:28:05
229
原创 ArrayList源码解析之add方法
ArrayList是基于数组实现的,是一个动态数组,容量能自动增长。其扩容机制是在调用add()或者addAll()方法时发生的。一、add(E e) 方法 public boolean add(E e) { // 判断是否需要扩容 ensureCapacityInternal(size + 1); // 将新元素追加到相应的数组中 elementData[size++] = ...
2019-08-19 16:45:12
835
原创 JDK1.8中遍历List集合的几种方式
本文大纲:一、List集合循坏方式:for循坏、forEach循坏、迭代器Iterator以及Lambda表达式。二、Iterator迭代器和ListIterator迭代器的比较本文以ArrayList为例。一、for循坏public class ForList { public static void main(String[] args) { List<Integer...
2019-05-24 10:34:40
24298
2
原创 Spring Boot中使用Lettuce连接Redis
一、Redis的使用关于Redis的使用和介绍,可以查看Redis中文网。1、使用Docker安装在Docker Hub中搜索Redis,获得镜像的安装方式docker pull redisdocker默认安装最新版本(latest),如果需要选择版本,为:镜像名称:<版本号>,例如:docker pull redis:5.0.52、启动使用命令docker ima...
2019-05-20 17:10:37
2456
原创 Spring Boot中自定义AOP的使用
Spring中AOP,即面向切面编程,在使用AOP之前,先来了解一些AOP的术语。一、术语通知(Advice)通知定义了切面是什么以及何时使用,以及何时执行这个切面。Spring AOP中有五种类型的通知:1、前置通知(Before):在目标方法调用之前执行切面的相关方法;2、后置通知(After):在目标方法完成之后调用切面,此时不关心目标方法的输出;3、返回通知(AfterRetu...
2019-05-13 13:21:08
638
原创 Spring Boot全局异常处理
SpringBoot使用@ControllerAdvice、@ExceptionHandler、@ResponseBody进行全局异常处理,另外也有@RestControllerAdvice注解。本文使用@RestControllerAdvice。一、全局异常处理@RestControllerAdvice返回为Json格式,为@RequestMapping、@PostMapping、@GetM...
2019-04-23 14:56:06
324
原创 Spring Boot读取配置的几种方式
Spring Boot可以通过@Value、@PropertySource、@ConfigurationProperties、Environment类来读取配置文件一、创建配置文件application.properties或者application.yml本文选择properties文件project.name=springbootproject.user=admin二、使用注解进行...
2019-04-08 08:41:00
711
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人