Java
文章平均质量分 89
Java基础
johnny233
模式识别与智能系统研究生毕业,8年工作经验。
Java后端技术扎实,有前端运维产品经验。
记录工作中遇到的问题,知识总结,读书笔记等。
提供免费或付费问题答疑解决,咨询服务
展开
-
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 · 1187 阅读 · 0 评论 -
G1简介、各种GC总结
G1:概述、优缺点、特点、模式与环节(Young GC、Mixed GC和Full GC)、老年代并发标记过程、参数;技术:String去重、三色标记、SATB、Remembered Set、Pause Prediction Model;总结:汇总、示意图、选择原创 2024-08-01 00:01:01 · 1130 阅读 · 0 评论 -
基准测试工具JMH
JMH:概述、需求、Maven、流程、注解、概念、Operation和Invocation、运行、输出结果、导出、图形界面、IDEA插件、Jenkins插件;进阶:方法内联、循环优化、Blackhole、生成类源码分析、执行结果解读原创 2024-07-30 00:14:17 · 908 阅读 · 0 评论 -
一文总结代理:代理模式、代理服务器
概述、角色、UML类图、调用顺序示意图、分类(虚拟代理、远程代理、保护代理、同步代理、智能引用代理)、静态代理、动态代理、JDK动态代理(实例、源码分析)、cglib动态代理(实例、源码分析)、JDK和cglib动态代理区别、Spring AOP;代理服务器、正向代理、反向代理。原创 2024-07-25 21:19:23 · 1042 阅读 · 2 评论 -
JDK 9新特性之VarHandle
VarHandle概述、体系、创建VarHandle、MethodHandles.Lookup、访问类别AccessType、访问模式AccessMode、内存屏障;实战、基本使用、高效反射、CAS原创 2024-07-24 19:53:18 · 1009 阅读 · 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 · 949 阅读 · 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 · 909 阅读 · 1 评论 -
AbstractQueuedSynchronizer、Unsafe概述
AQS概述、Node、ExclusiveNode、SharedNode、ConditionNode、ConditionObject、双向链表、子类、Unsafe、AbstractOwnableSynchronizer、AbstractQueuedLongSynchronizer原创 2024-07-14 14:38:37 · 1046 阅读 · 1 评论 -
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 · 945 阅读 · 0 评论 -
面试必备之线程池
概述:实现线程的四种手段、线程池的优点、参数、阻塞队列、拒绝策略、运行状态、状态转换、提交任务、关闭、监控、Executors、停止线程、参数设置、使用建议;拓展:伪共享、第三方实现的拒绝策略原创 2024-07-02 01:08:34 · 604 阅读 · 1 评论 -
跨域、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 · 722 阅读 · 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 · 1289 阅读 · 1 评论 -
面试必问系列之重定向和转发及区别
面试必问题其一;概述、源码、对比、原创 2021-08-22 20:32:48 · 511 阅读 · 1 评论 -
JsonPath实战
概述、入门、JsonPath表达式、函数支持、过滤器运算符、实战、Exception、谓词(内联谓词、过滤器谓词、自定义谓词)、Configuration、Option、SPI(cache、json、mapper)原创 2024-04-22 23:16:46 · 871 阅读 · 0 评论 -
Shenandoah GC算法
概述、支持特性、策略、算法:正常回收算法、降级回收算法、全回收算法、遍历回收算法、正常回收的两种模式;正常回收、降级回收和FGC交互图;遍历回收;对比G1、ZGC;原创 2024-04-08 20:56:44 · 1043 阅读 · 0 评论 -
Jakarta项目介绍
升级到Spring 6或Spring Boot 3遇到的问题;IDEA强大功能;;升级javax到jakarta,及两者区别;Jakarta EE;jakarta依赖;jakarta项目;单独项目;原创 2024-03-25 22:39:46 · 2235 阅读 · 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 · 1776 阅读 · 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 · 974 阅读 · 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 · 1603 阅读 · 1 评论 -
Apple登录流程与实战
现在在职的公司有一款iOS App,其登录方式有3种,如下截图所示:一般App都只有一种手机号登录方式。登录方式增加微信登录,即在登录时跳转到微信。iOS App上如果有接第三方登陆(如微信,微博,Facebook等),则必须要接入AppleId登录,否则iOS上线提交审核无法通过。原创 2023-08-22 22:03:49 · 2611 阅读 · 11 评论 -
Java学习之Varargs机制
Varargs,可变长度参数,具体来说是形参。原创 2023-06-29 23:12:24 · 373 阅读 · 0 评论 -
EasyExcel实战与笔记
概述,入门,导入导出;问题:NoClassDefFoundError,DefaultTempFileCreationStrategy;ExcelGenerateException: Calling the 'fill' method must use a template;NullPointerException原创 2023-06-17 12:52:07 · 3744 阅读 · 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 · 2285 阅读 · 0 评论 -
一次诡异405 METHOD_NOT_ALLOWED “Request method ‘POST‘ not supported“问题排查记录
问题排查思路原创 2023-06-03 15:47:50 · 7088 阅读 · 3 评论 -
FastJSON autoType is not support问题解决
autoType is not support问题出现,排查,本地复现,解决过程记录。原创 2023-06-03 13:48:04 · 4186 阅读 · 3 评论 -
Java执行Python脚本
概述、两种方式:Runtime:无入参和有入参两种情形;Jython:简介,执行语句和执行脚本两种情形;原创 2021-06-17 21:17:37 · 746 阅读 · 0 评论 -
JVM系列之ClassLoader和classLoad
类加载器分类,双亲委派模型,classLoad的过程:加载、验证、准备、解析、初始化、使用和卸载;Class.forName和ClassLoader.loadClass区别;instanceof和Class.isInstance区别;原创 2020-05-06 18:46:36 · 852 阅读 · 1 评论 -
代码混淆技术yguard、ProGuard、Allatori
混淆定义、混淆技术、yguard、proguard、allatori、原创 2020-02-29 17:34:10 · 8128 阅读 · 1 评论 -
表达式引擎Aviator实战
表达式引擎概述;Aviator概述,功能与限制,应用场景;入门,实例,运算符,内置函数,自定义函数,编译表达式;基于Aviator的规则引擎;原创 2022-12-19 21:50:53 · 6856 阅读 · 0 评论 -
单元测试理论储备及JUnit5实战
TDD理论知识;Junit5(兼容Junit4)的功能特性:假设、标签和禁止测试;Assert断言;扩展模型;Rule;内嵌测试;JUnit Theories;重复性测试;参数化测试;测试数据外部化;隔离测试。原创 2022-12-10 23:10:20 · 490 阅读 · 1 评论 -
Quartz深度实战
SimpleScheduleBuilder;CronTrigger;Job,Trigger,Scheduler,JobDetail,Listener,Calendar,ThreadPool,有无状态;@DisallowConcurrentExecution;@PersistJobDataAfterExecution;JobStoreTX & JobStoreCMT;集群模式,源码分析,数据库悲观锁。原创 2022-11-29 21:17:20 · 2357 阅读 · 0 评论 -
数据校验validation
数据校验;JSR303;JSR349;JSR380;javax.validation.constraints;hibernate.validator;自定义校验注解;原创 2021-06-30 22:57:24 · 4047 阅读 · 0 评论 -
面试必备之synchronized
几种用法功能原理原创 2022-11-08 21:56:21 · 1705 阅读 · 0 评论 -
一文总结Java开发各种锁
Java锁、乐观锁和悲观锁、读锁和写锁、公平锁和非公平锁、可重入锁、分段锁、独占锁和共享锁、可中断锁、偏向锁、互斥锁、自旋锁、轻量级、重量级锁、锁消除、锁粗化、锁升级、无锁、死锁原创 2020-02-26 21:01:08 · 508 阅读 · 0 评论 -
进程、线程和协程的区别与联系
进程、进程调度、进程间的通信方式、状态及转换、进程同步与互斥;线程、线程与进程区别、线程模型、线程状态、死锁、线程阻塞;协程、语言支持;原创 2020-02-25 16:07:08 · 1335 阅读 · 0 评论 -
JVM系列之GC
GC如何发起,主动发起和被动发起:引用计数法,可达性分析,三色标记;GC Roots,保守式GC和准确式GC;GC算法:标记-清除,复制,标记-整理,分代收集;GC回收器:Serial,ParNew,Parallel Scavenge,Serial Old,Parallel Old,CMS,G1;CMS工作原理,G1相对于CMS的优势;Minor GC和Full GC,如何避免;原创 2022-09-08 20:54:31 · 654 阅读 · 1 评论 -
面试必问之JVM常用参数
参数分类:标准参数、非标准参数、非stable参数;常用参数:打印输出参数,参数解析,参数分类(便于理解),原创 2022-09-07 18:53:07 · 459 阅读 · 0 评论 -
设计模式之责任链模式及其应用
设计模式应用ServletTomcatSpringDubboNettyMybatis原创 2020-05-19 10:33:36 · 355 阅读 · 0 评论 -
Swagger相关技术栈
SwaggerSwagger-UISwagger-codegenSwagger-editorSwagger-coreSpringfoxSwagger2Markup原创 2020-02-23 16:12:43 · 1564 阅读 · 0 评论 -
MySQL+Java实现父子级联查询
MySQL级联查询原创 2022-08-13 16:27:11 · 4671 阅读 · 5 评论