随笔分类 - 01 - Java
这里收录 Java 的一些核心知识点, 包括不常关注的小知识, 或者闲时瞎折腾的一些小细节😝
摘要:此面试合集,仅汇总 Java 核心知识点,不会涉及很基础的内容,旨在做减法,把书读薄,通过查漏补缺,巩固 Java 基础,以帮助大家提升面试表现。 1 - Java 语法基础 1.1 Java 的基本数据类型 数据类型 默认值 大小 boolean false 不确定 char '\u0000' 2
阅读全文
摘要:Java 项目如何获取 Git 的提交时间、提交记录、分支等信息呢?本文介绍 Maven 项目通过 git-commit-id-plugin 插件来获取 Git 的提交信息。
阅读全文
摘要:SpringBoot 使用了 maven-surefire-plugin 插件,但是单元测试不执行,要如何解决呢?
阅读全文
摘要:Java 如何生成随机数?Random 生成的随机数安全吗?来看看这篇文章的分类吧。
阅读全文
摘要:SpringBoot 项目集成增强版 Swagger-Knife4j,碰到了挺多问题的,但增强后的 Swagger 文档使用体验太好,所以记录下我遇到的问题和解决方案。
阅读全文
摘要:你的 Java 代码有没有捕获空指针错误?equals 方法和 == 的使用有没有区分开?IDEA 里面有没有很多下划线或颜色不一样的警告⚠️ 快来看看,你的代码里有没有这些坏味道 :-)
阅读全文
摘要:开发中经常遇到数组和列表(List)互相转换的场景。除了循环依次转换,还有更高效的方法。ava 中,基本数据类型的数组 -> List,与包装类型的数组 -> List 的方式不同,借助 JDK 8 提供的 Stream,这里对转换方法作个记录。
阅读全文
摘要:近年来,网络安全越来越受到开发者的重视。关注安全编码能很大程度上避免安全漏洞的产生,也能有效保护用户的利益不被轻易侵犯。本文从6个方面简述了Java安全编码的问题,欢迎交流指正。
阅读全文
摘要:Map 是 Java 中使用非常广泛的一类集合, 对于它的遍历访问, 有多种方法, 本篇转载记录常见的5种方法, 并给出各自的适用场景作为参考.
阅读全文
摘要:Java中提供了4个级别的引用: 强引用、软引用、弱引用和虚引用, 这四个引用定义在包`java.lang.ref`下. 本篇博文通过代码详细演示不同引用类型的作用, 如有不当之处, 欢迎评论区交流.
阅读全文
摘要:现在有类似于 “{Name:Heal,Age:20,Tag:[Coding,Reading]}” 这种不带引号的字符串, 需要将其解析生成JSON对象, 发现FastJson、Gson等工具并没 有此功能, 因此博主手动实现了一个简单的解析工具, 用以将这种不带引号的字符串解析成List或Map对象.
阅读全文
摘要:Java 项目中少不了要和log4j等日志框架打交道, 开发环境和生产环境下日志文件的输出路径总是不一致, 本文借鉴 Tomcat 的配置方式 “${catalina.home}/logs/catalina.out”, 通过相对路径的方式设置日志的输出路径, 有其他解决方案的小伙伴, 请直接评论区交流呀😄
阅读全文
摘要:开发中, 为了便于开发、调试, 难免会碰到要对JSON类型的字符串进行格式化显示的需求. 本文对常见的2种格式化方式进行了实测, 包括阿里的FastJson和谷歌的Gson, 并对过程作了完整的记录.
阅读全文
摘要:如何通过Maven向Nexus私服中发布项目? 需要配置哪些文件? 发布步骤有哪些? 这篇文章涉及到的步骤都亲测可用, 希望能解决你的问题:-)
阅读全文
摘要:本篇通过代码讲解6种不同的单例模式的实现方式, 分别是: 饥饿模式、懒惰模式、双重检查锁模式、静态内部类模式、枚举类模式和ThreadLocal模式, 并分析了它们之间的优缺点, 最后还介绍了JDK中常见的单例模式的应用, 以及破坏单例模式的多种方法.
阅读全文
摘要:本篇文章有如下方面: ① equals()与‘==’的区别; ② equals()方法的重写规则(5条); ③ 为什么重写equals()的同时还需要重写hashCode(); ④ JDK 7中对hashCode()方法的改进; ⑤ Java API文档中关于hashCode()方法的规定; ⑥ 重写equals()方法时推荐使用getClass(), 而不是instanceof; ⑦编写一个完美的equals()方法的建议.
阅读全文
摘要:本文对Java中的枚举类型(enum)作了比较详细的介绍, 并作了代码示例, 包括JVM在编译时添加的特性、向枚举类中添加方法、接口内部创建枚举、枚举类中使用枚举等方面.
阅读全文
摘要:Maven生成jar包时, 怎样把项目中依赖的jar包也包括进去? 这里介绍2种方式: 使用 shade插件, 和使用 assembly插件. 另外扩展Maven安装本地jar包到本地仓库的方法、手动生成jar包的方法、Linux下运行jar包的几种方式.
阅读全文
摘要:Tomcat容器是运行在JVM上的, 可以通过调整JVM启动参数, 使得Tomcat拥有更好的性能. 对于JVM的优化主要有两个方面: 内存调优和垃圾收集策略调优.
阅读全文
摘要:SUN/Oracle JDK中使用的JVM是HotSpot VM, 本篇介绍HotSpot VM的一些概念和容易被混淆的细节: 先对HotSpot VM的历史、特性进行介绍, 然后引出Java是一种解释型语言, HotSpot通过对常用的部分代码编译为本地(native)代码, 显著提高性能. 能力有限, 难免有疏漏, 来留言区交流吧😁
阅读全文