
Java
文章平均质量分 90
Java基础
johnny233
模式识别与智能系统研究生毕业,8年工作经验。
Java后端技术扎实,有前端运维产品经验。
记录工作中遇到的问题,知识总结,读书笔记等。
提供免费或付费问题答疑解决,咨询服务
展开
-
Locale+Jackson导致Controller接口StackOverflowError异常解决
问题:排查、定位、方案(使用@JsonCreator和@JsonValue、自定义Jackson反序列化器、手动转换String)、反思;题外话:zh_CN和zh-CN;原创 2025-02-23 21:29:26 · 761 阅读 · 0 评论 -
记一次k8s下容器启动失败,容器无日志问题排查
背景、排查、workaround、Git Commit、Docker Desktop、logback、JDK版本、logback.xml还是logback-spring.xml、反思原创 2025-01-05 13:40:34 · 1647 阅读 · 0 评论 -
原子类、AtomicLong、AtomicReference、AtomicIntegerFieldUpdater、LongAdder
原子类、引入原因;AtomicLong:示例、原理、问题;AtomicReference:适用场景、实例、原理、总结;AtomicIntegerFieldUpdater:适用场景、实例、原理、对比;LongAdder:示例、原理、Benchmark、对比;LongAccumulator:原创 2024-11-27 23:48:37 · 1255 阅读 · 0 评论 -
池化技术、Commons Pool介绍
池化技术:线程池、连接池、缓冲池、对象池;Apache Commons Pool:核心API、关系图、实战、原理、源码、参数、原创 2024-11-25 23:59:53 · 1181 阅读 · 0 评论 -
EventListener与EventBus
EventListener:JDK、Spring @EventListener、Spring ApplicationListener、@EventListener与ApplicationListener对比、JDK和Spring对比;EventBus:Guava EventBus、框架、原理、示例、源码、AsyncEventBus、AllowConcurrentEvents;拓展:EventListener和EventBus、EventBus对比MQ、Netflix EventBus;原创 2024-11-21 22:16:25 · 776 阅读 · 0 评论 -
Java基础之队列
队列、循环队列、双端队列、ArrayDeque、优先级队列;阻塞队列:BlockingQueue、ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue、DelayQueue、SynchronousQueue、LinkedTransferQueue、LinkedBlockingDeque;拓展:线程池、生产者—消费者模式、消息队列;原创 2024-10-31 23:59:37 · 1148 阅读 · 0 评论 -
Java基础之注解
概述、分类、元注解、@Inherited、RetentionPolicy、ElementType、反射、AnnotatedElement、异常、实战;应用、JDK、@FunctionalInterface、JAXB、JUnit、Spring、JPA/ORM、JSR 303 – Bean Validation;原创 2024-10-15 23:59:27 · 1022 阅读 · 0 评论 -
Java基础之线程、多线程
线程和进程、线程安全、死锁、强制启动、线程局部变量、堆和栈、获取线程堆栈、虚拟线程、start和run、Runnable和Callable、FutureTask、ForkJoinTask、interrupted和isInterrupted、wait与sleep、wait-notify、生产者-消费者、notify和notifyAll、yield、检测线程是否拥有锁、竞态条件、ReadWriteLock、Semaphore、CyclicBarrier和CountDownLatch、同步、volatile原创 2024-10-12 22:21:55 · 934 阅读 · 0 评论 -
Java Fork-Join框架学习
概述、实例、原理、并行度、工作窃取、核心类、ForkJoinPool、ForkJoinTask、RecursiveTask、RecursiveAction、ForkJoinPool.WorkQueue、ForkJoinWorkerThread;任务状态、源码分析、异常处理、适用场景原创 2024-10-10 21:52:08 · 845 阅读 · 0 评论 -
PriorityQueue分析
PriorityQueue:概述、应用场景、源码、堆排序;拓展:JDK里PriorityBlockingQueue和DelayQueue、ScheduledExecutorService、RocketMQ消息优先级;原创 2024-10-06 00:00:38 · 812 阅读 · 0 评论 -
Java日志体系框架总结:JUL、JCL、SLF4J、Log4j、Logback、Log4j2
Java日志概述、日志级别Level、Java Util Logging、JULI、tomcat-juli、tomcat-embed-logging-juli、Jakarta Commons Logging、Apache Commons Logging、SLF4J、静态绑定、桥接、SLF4J vs Commons Logging;Log4j、GAV变更;Logback、性能对比;Log4j2、性能对比、原理;实战:Log4j、Logback、Lombok。问题:程序包org.slf4j不存在、ClassN原创 2024-08-10 22:54:48 · 1307 阅读 · 0 评论 -
G1简介、各种GC总结
G1:概述、优缺点、特点、模式与环节(Young GC、Mixed GC和Full GC)、老年代并发标记过程、参数;技术:String去重、三色标记、SATB、Remembered Set、Pause Prediction Model;总结:汇总、示意图、选择原创 2024-08-01 00:01:01 · 1707 阅读 · 0 评论 -
基准测试工具JMH
JMH:概述、需求、Maven、流程、注解、概念、Operation和Invocation、运行、输出结果、导出、图形界面、IDEA插件、Jenkins插件;进阶:方法内联、循环优化、Blackhole、生成类源码分析、执行结果解读原创 2024-07-30 00:14:17 · 1122 阅读 · 0 评论 -
一文总结代理:代理模式、代理服务器
概述、角色、UML类图、调用顺序示意图、分类(虚拟代理、远程代理、保护代理、同步代理、智能引用代理)、静态代理、动态代理、JDK动态代理(实例、源码分析)、cglib动态代理(实例、源码分析)、JDK和cglib动态代理区别、Spring AOP;代理服务器、正向代理、反向代理。原创 2024-07-25 21:19:23 · 1246 阅读 · 2 评论 -
JDK 9新特性之VarHandle
VarHandle概述、体系、创建VarHandle、MethodHandles.Lookup、访问类别AccessType、访问模式AccessMode、内存屏障;实战、基本使用、高效反射、CAS原创 2024-07-24 19:53:18 · 1153 阅读 · 0 评论 -
Unsafe入门讲解
Unsafe、jdk.internal.misc.Unsafe和sun.misc.Unsafe、native方法、实例化;功能:线程调度、CAS操作、数据操作、内存操作、内存屏障、Class操作、其他;8种基础数据类型:int、byte、short、char、boolean、long、float、double;拓展:Compare-And-Swap和Compare-And-Set、注解、虚拟线程;原创 2024-07-20 00:39:58 · 1214 阅读 · 0 评论 -
Java学习之SPI、JDBC、SpringFactoriesLoader、Dubbo
SPI:概述、实现方式、作用、缺点;实现:JDBC、java.sql.Driver文件;Spring、spring.factories文件和SpringFactoriesLoader;Dubbo、@SPI、ExtensionScope、ExtensionLoader、原创 2024-07-15 23:58:35 · 957 阅读 · 0 评论 -
AbstractQueuedSynchronizer、Unsafe概述
AQS概述、Node、ExclusiveNode、SharedNode、ConditionNode、ConditionObject、双向链表、子类、Unsafe、AbstractOwnableSynchronizer、AbstractQueuedLongSynchronizer原创 2024-07-14 14:38:37 · 1085 阅读 · 0 评论 -
Java对象拷贝
各种对象类:POJO、VO、QO、DO、BO、PO、DAO、DTO,反思、Lombok、MapStruct;拷贝、浅拷贝与深拷贝、对比、值传递与引用传递、序列化、延迟拷贝;工具:Apache BeanUtils、PropertyUtils、Spring BeanUtils、CGLib BeanCopier、Dozer、Orika、对比与选型原创 2024-07-11 00:58:22 · 1013 阅读 · 0 评论 -
面试必备之线程池
概述:实现线程的四种手段、线程池的优点、参数、阻塞队列、拒绝策略、运行状态、状态转换、提交任务、关闭、监控、Executors、停止线程、参数设置、使用建议;拓展:伪共享、第三方实现的拒绝策略原创 2024-07-02 01:08:34 · 679 阅读 · 0 评论 -
跨域、JSONP、CORS、Spring、Spring Security解决方案
跨域:概述、表现形式、请求及响应头;解决方案:JSONP、中间转发层、Nginx反向代理、CORS;CORS:Tomcat Filter、Spring Filter、自定义Filter、Java Config、@CrossOrigin、Spring Security;原创 2024-06-05 23:58:32 · 761 阅读 · 1 评论 -
ZooKeeper系列之ZAB协议
基础概念:集群角色、运行时状态、ZAB状态、状态切换、Epoch、Proposal、Zxid;模式:崩溃恢复、消息广播;数据一致性;选举:4个阶段、Leader Election领导选举、Discovery发现、Synchronization同步、Broadcast广播、ZAB选举过程、Java实现、Fast Leader Election、Recovery Phase;拓展:ZAB对比二阶段提交、对比Paxos原创 2024-05-16 22:54:28 · 1403 阅读 · 1 评论 -
面试必问系列之重定向和转发及区别
面试必问题其一;概述、源码、对比、原创 2021-08-22 20:32:48 · 576 阅读 · 1 评论 -
JsonPath实战
概述、入门、JsonPath表达式、函数支持、过滤器运算符、实战、Exception、谓词(内联谓词、过滤器谓词、自定义谓词)、Configuration、Option、SPI(cache、json、mapper)原创 2024-04-22 23:16:46 · 1528 阅读 · 0 评论 -
Shenandoah GC算法
概述、支持特性、策略、算法:正常回收算法、降级回收算法、全回收算法、遍历回收算法、正常回收的两种模式;正常回收、降级回收和FGC交互图;遍历回收;对比G1、ZGC;原创 2024-04-08 20:56:44 · 1150 阅读 · 0 评论 -
Jakarta项目介绍
升级到Spring 6或Spring Boot 3遇到的问题;IDEA强大功能;;升级javax到jakarta,及两者区别;Jakarta EE;jakarta依赖;jakarta项目;单独项目;原创 2024-03-25 22:39:46 · 3525 阅读 · 0 评论 -
JWT实战之升级Java JWT
为何要升级、GAV变更、编译问题、废弃API、启动失败DefaultJwtBuilder、WeakKeyException HS512 algorithm、WeakKeyException HMAC-SHA algorithm、json Serializer、Compact JWT strings may not contain whitespace、JWT在线解密、postman Bearer Token和JWT Bearer、JWT signature does not match locally co原创 2024-03-11 23:57:30 · 2314 阅读 · 0 评论 -
IDEA warning Call to ‘toArray()‘ with pre-sized array argument ‘new String[results.size()]‘
Call to ‘toArray()’ with pre-sized array argument ‘new String[results.size()]’原创 2024-03-11 22:09:18 · 1037 阅读 · 0 评论 -
Jackson+Feign反序列化问题排查
feign.codec.DecodeException:HttpMessageNotReadableException:JSON parse error: Expected array or string;no Creators, like default construct, exist: cannot deserialize from Object value no delegate- or property-based Creator;原创 2023-10-13 18:11:47 · 1906 阅读 · 0 评论 -
Apple登录流程与实战
现在在职的公司有一款iOS App,其登录方式有3种,如下截图所示:一般App都只有一种手机号登录方式。登录方式增加微信登录,即在登录时跳转到微信。iOS App上如果有接第三方登陆(如微信,微博,Facebook等),则必须要接入AppleId登录,否则iOS上线提交审核无法通过。原创 2023-08-22 22:03:49 · 4391 阅读 · 11 评论 -
Java学习之Varargs机制
Varargs,可变长度参数,具体来说是形参。原创 2023-06-29 23:12:24 · 473 阅读 · 0 评论 -
EasyExcel实战与笔记
概述,入门,导入导出;问题:NoClassDefFoundError,DefaultTempFileCreationStrategy;ExcelGenerateException: Calling the 'fill' method must use a template;NullPointerException原创 2023-06-17 12:52:07 · 4551 阅读 · 0 评论 -
Java对象拷贝MapStruct
介绍,入门实战;Internal error in the mapping processor:NullPointerException;No target bean properties found: can't map Collection element, Consider to declare/implement a mapping method原创 2023-06-10 13:43:14 · 2930 阅读 · 0 评论 -
一次诡异405 METHOD_NOT_ALLOWED “Request method ‘POST‘ not supported“问题排查记录
问题排查思路原创 2023-06-03 15:47:50 · 7475 阅读 · 3 评论 -
FastJSON autoType is not support问题解决
autoType is not support问题出现,排查,本地复现,解决过程记录。原创 2023-06-03 13:48:04 · 4819 阅读 · 3 评论 -
Java执行Python脚本
概述、两种方式:Runtime:无入参和有入参两种情形;Jython:简介,执行语句和执行脚本两种情形;原创 2021-06-17 21:17:37 · 792 阅读 · 0 评论 -
JVM系列之ClassLoader和classLoad
类加载器分类,双亲委派模型,classLoad的过程:加载、验证、准备、解析、初始化、使用和卸载;Class.forName和ClassLoader.loadClass区别;instanceof和Class.isInstance区别;原创 2020-05-06 18:46:36 · 1040 阅读 · 0 评论 -
代码混淆技术yguard、ProGuard、Allatori
混淆定义、混淆技术、yguard、proguard、allatori、原创 2020-02-29 17:34:10 · 8940 阅读 · 1 评论 -
表达式引擎Aviator实战
表达式引擎概述;Aviator概述,功能与限制,应用场景;入门,实例,运算符,内置函数,自定义函数,编译表达式;基于Aviator的规则引擎;原创 2022-12-19 21:50:53 · 7989 阅读 · 0 评论 -
单元测试理论储备及JUnit5实战
TDD理论知识;Junit5(兼容Junit4)的功能特性:假设、标签和禁止测试;Assert断言;扩展模型;Rule;内嵌测试;JUnit Theories;重复性测试;参数化测试;测试数据外部化;隔离测试。原创 2022-12-10 23:10:20 · 529 阅读 · 0 评论