关于作者
- 前腾讯、前阿里员工,从事Java后台工作;
- 微信公众号、头条号、CSDN账号都是程序员欣宸
- 对Docker和Kubernetes充满热爱;
- 所有文章均为作者原创;
关于代码仓库
- 代码仓库里是博客中涉及的源码和文件,地址:https://github.com/zq2599/blog_demos
- 如果对您有帮助,请给个Star,谢谢您!
关于本文
- 本文保存了作者所有Java相关文章的地址,并做了轻量级分类,希望您能从中找到有参考价值的内容,那将是我的荣幸;
- 本文不含Spring、SpringBoot、SpringCloud相关的内容,这些会在另一篇文章中汇总;
基础知识
- 《CentOS7安装JDK8》
- 《Ubuntu下安装OpenJDK10》
- 《Ubuntu环境下载OpenJDK11源码》
- 《体验RxJava和lambda》
- 《实战限流(guava的RateLimiter)》
- 《java.util.Optional学习笔记》
- 《org.springframework.util.StopWatch:简洁的耗时统计小工具》
进阶实战
- 《Java实战操作MongoDB集群(副本集)》
- 《Docker下Java文件上传服务三部曲之一:准备环境》
- 《Docker下Java文件上传服务三部曲之二:服务端开发》
- 《Docker下Java文件上传服务三部曲之三:wireshark抓包分析》
- 《实战Redis序列化性能测试(Kryo和字符串)》
- JavaCPP快速入门(官方demo增强版)
畅游JVM世界
- 《极简,利用Docker仅两行命令就能下载和编译OpenJDK11》
- 《利用Docker极速下载OpenJDK11源码》
- 《制作Docker镜像,用来下载OpenJDK11源码》
- 《制作Docker镜像,用来编译OpenJDK11源码》
- 《Ubuntu环境编辑OpenJDK11源码》
- 《openjdk镜像的tag说明》
- 《ARM64架构下,OpenJDK的官方Docker镜像为何没有8版本?》
- 《ARM架构下的Docker环境,OpenJDK官方没有8版本镜像,如何完美解决?》
- 《极速体验编译openjdk8(docker环境)》
- 《在docker上编译openjdk8》
- 《修改,编译,GDB调试openjdk8源码(docker环境下)》
- 《环境变量_JAVA_LAUNCHER_DEBUG,它能给你更多的jvm信息》
- 《Java虚拟机学习:方法调用的字节码指令》
- 《Java的wait()、notify()学习三部曲之一:JVM源码分析》
- 《Java的wait()、notify()学习三部曲之二:修改JVM源码看参数》
- 《Java的wait()、notify()学习三部曲之三:修改JVM源码控制抢锁顺序》
玩转Maven
- 《Ubuntu部署和体验Nexus3》
- 《没有JDK和Maven,用Docker也能构建Maven工程》
- 《maven构建docker镜像三部曲之一:准备环境》
- 《maven构建docker镜像三部曲之二:编码和构建镜像》
- 《maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)》
- 《实战maven私有仓库三部曲之一:搭建和使用》
- 《实战maven私有仓库三部曲之二:上传到私有仓库》
- 《实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库》
- 《修改gradle脚本,加速spring4.1源码编译构建速度》
- 《Docker与Jib(maven插件版)实战》
- 《Jib使用小结(Maven插件版)》
- 《Jib构建镜像问题从定位到深入分析》
- 《kubernetes下的jenkins如何设置maven》
- 《kubernetes下jenkins实战maven项目编译构建》
- 《我把自己的java库发布到了maven中央仓库,从此可以像Jackson、Spring的jar一样使用它了》
玩转Gradle
Jackson学习特辑
- 《jackson学习之一:基本信息》
- 《jackson学习之二:jackson-core》
- 《jackson学习之三:常用API操作》
- 《jackson学习之四:WRAP_ROOT_VALUE(root对象)》
- 《jackson学习之五:JsonInclude注解》
- 《jackson学习之六:常用类注解》
- 《jackson学习之七:常用Field注解》
- 《jackson学习之八:常用方法注解》
- 《jackson学习之九:springboot整合(配置文件)》
- 《jackson学习之十(终篇):springboot整合(配置类)》
JUnit5学习特辑
《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下:
- 《JUnit5学习之一:基本操作》
- 《JUnit5学习之二:Assumptions类》
- 《JUnit5学习之三:Assertions类》
- 《JUnit5学习之四:按条件执行》
- 《JUnit5学习之五:标签(Tag)和自定义注解》
- 《JUnit5学习之六:参数化测试(Parameterized Tests)基础》
- 《JUnit5学习之七:参数化测试(Parameterized Tests)进阶》
- 《JUnit5学习之八:综合进阶(终篇)》
MyBatis学习(初级版)
- 《MyBatis初级实战之一:Spring Boot集成》
- 《MyBatis初级实战之二:增删改查》
- 《MyBatis初级实战之三:springboot集成druid》
- 《MyBatis初级实战之四:druid多数据源》
- 《MyBatis初级实战之五:一对一关联查询》
- 《MyBatis初级实战之六:一对多关联查询》
java版gRPC实战专辑
jetcd特辑
disruptor学习特辑
深度学习工程化
- 《纯净Ubuntu16安装CUDA(9.1)和cuDNN》
- 《三分钟体验:SpringBoot用深度学习模型识别数字》
- 《SpringBoot用深度学习模型识别数字:开发详解》
- 《三分钟极速体验:Java版人脸检测》
- 《Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)》
- 《Java版人脸检测详解下篇:编码》
- 《三分钟:极速体验JAVA版目标检测(YOLO4)》
- 《制作JavaCV应用依赖的基础Docker镜像(CentOS7+JDK8+OpenCV4)》
- 《超详细的编码实战,让你的springboot应用识别图片中的行人、汽车、狗子、喵星人(JavaCV+YOLO4)》
视觉处理特辑
玩转分布式调用链追踪
- 《分布式调用链跟踪工具Jaeger?两分钟极速体验》
- 《Jaeger开发入门(java版)》
- 《Java应用日志如何与Jaeger的trace关联》
- 《Jaeger的客户端采样配置(Java版)》
- 《极简!一个注解就能创建Jaeger的Span》
.6 《Jaeger知识点补充》
Java扩展Nginx特辑
- 《Java扩展Nginx之一:你好,nginx-clojure》
- 《Java扩展Nginx之二:编译nginx-clojure源码》
- 《Java扩展Nginx之三:基础配置项》
- 《Java扩展Nginx之四:远程调试》
- 《Java扩展Nginx之五:五大handler(系列最核心)》
- 《Java扩展Nginx之六:两大filter》
- 《Java扩展Nginx之七:共享内存》
- 《精选版:用Java扩展Nginx(nginx-clojure 入门)》
quarkus长篇连载
综合实战
- 《quarkus实战之一:准备工作》
- 《quarkus实战之二:应用的创建、构建、部署》
- 《quarkus实战之三:开发模式(Development mode)》
- 《quarkus实战之四:远程热部署》
- 《quarkus实战之五:细说maven插件》
- 《quarkus实战之六:配置》
- 《quarkus实战之七:使用配置》
- 《quarkus实战之八:profile》
虚拟线程
- 支持JDK19虚拟线程的web框架,之一:体验
- 支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用
- 支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程
- 支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程
- 支持JDK19虚拟线程的web框架,之五(终篇):兴风作浪的ThreadLocal
依赖注入
- 《quarkus依赖注入之一:创建bean》
- 《quarkus依赖注入之二:bean的作用域》
- 《quarkus依赖注入之三:用注解选择注入bean》
- 《quarkus依赖注入之四:选择注入bean的高级手段》
- 《quarkus依赖注入之五:拦截器(Interceptor)》
- 《quarkus依赖注入之六:发布和消费事件》
- 《quarkus依赖注入之七:生命周期回调》
- 《quarkus依赖注入之八:装饰器(Decorator)》
- 《quarkus依赖注入之九:bean读写锁》
- 《quarkus依赖注入之十:学习和改变bean懒加载规则》
- 《quarkus依赖注入之十一:拦截器高级特性上篇(属性设置和重复使用)》
- 《quarkus依赖注入之十二:禁用类级别拦截器》
- 《quarkus依赖注入之十三:其他重要知识点大串讲(终篇)》
数据库
- 《quarkus数据库篇之一:比官方demo更简单的基础操作》
- 《quarkus数据库篇之二:无需数据库也能运行增删改查(dev模式)》
- 《quarkus数据库篇之三:单应用同时操作多个数据库》
- 《quarkus数据库篇之四:本地缓存》
es8 client
- 《java与es8实战之一:以builder pattern开篇》
- 《java与es8实战之二:实战前的准备工作》
- 《java与es8实战之三:Java API Client有关的知识点串讲》
- 《java与es8实战之四:SpringBoot应用中操作es8(无安全检查)》
- 《java与es8实战之五:SpringBoot应用中操作es8(带安全检查:https、账号密码、API Key)》
- 《java与es8实战之六:用JSON创建请求对象(比builder pattern更加直观简洁)》