Java 源码阅读 - LinkedList
做技术,不能只知其然而不知其所以然。在知道了工具的原理之后,才能更高效的使用这个工具。在程序的世界里,源码里面没有秘密,看懂了源码,也就看懂了原理。
这次就来阅读一下 LinkedList
的源码。
做技术,不能只知其然而不知其所以然。在知道了工具的原理之后,才能更高效的使用这个工具。在程序的世界里,源码里面没有秘密,看懂了源码,也就看懂了原理。
这次就来阅读一下 LinkedList
的源码。
在前后端分离的架构下,后端通常是一个 RESTFul 的接口,而因为 HTTP 的响应码数量有限,无法灵活的反映出接口执行的各种结果,在这种情况下,就需要通过自定义的结构来表达接口最终的状态和返回的信息。而我正好最近在一个项目中实现了一个基于 ControllerAdvice
的统一请求响应的功能,在这里记录一下实现的方式。
在 application.yml
中添加如下配置,即可在 Spring Boot 项目中开启 HTTPS。
1 | server: |
1 | /** |
PK
: 主键 (Primary Key)NN
: 非空 (Not Null)UQ
: 唯一索引 (Unique Index)BIN
: 二进制 (Binary) 将数据储存为二进制字符串UN
: 无符号的 (Unsigned)ZF
: 零填充的 (Zero Fill) 如:INT (5) 的列中,12
会被填充为 00012
AI
: 自增长的 (Auto Increment)G
: 生成出来的 (Generated) 如:根据公式从其它列中生成的数据在我们开发过程中,最常见到的三种校对规则 (collation) 就是 utf8mb4_general_ci
、utf8mb4_unicode_ci
,和 utf8mb4_bin
。那么这三种排序规则之间有什么区别,在开发过程中又该怎么选择?这里就简单说一下我所了解到的知识,和我的理解。
前些天在开发过程中,发现 IDEA 在一个 @Autowired
注解上打了一个警告,内容是 Field injection is not recommended
。多年面向 Spring 开发的经验告诉我,使用 @Autowired
注解进行依赖注入,肯定是没有问题的。但是我的代码洁癖不允许我这么不明不白的留一个警告在这里。所以,带着我的洁癖,和我的好奇心,我开始研究起了这个警告。
在处理业务数据时,偶尔会需要从一系列逗号分隔的数据中取出各个元素并去重。本文将介绍如何通过 Java 8 中的 FlatMap
简化这个操作。
在经年累月的开发中,你是不是已经对动辄数行的.setXXX()
方法厌烦了呢?在这篇博文中,我将介绍一个小技巧,可以稍稍让你的代码变得美观一些。
有的小伙伴,在公司需要使用公司的 Git 来干活,同时自己也有些托管在 GitHub 等其他仓库的代码,在这种情况下会有一个烦恼,就是怎么样在多个仓库之间使用不同的配置。比如在公司仓库和个人仓库之间使用不同的身份信息,或者在公司仓库和个人仓库之间,使用不同的 GPG 签名。
在 2.13
版本之前,大概你就只能单独为每一个仓库单独设定这些信息了,但是,在 2.13
这个版本中,Git 引入了一个名为 “按条件引入”(Conditional includes) 的功能。这个功能允许用户通过指定一定的条件,来使 Git 从不同的配置文件中取得配置项。