JDK
文章平均质量分 90
开发中常用的JDK以及框架中常用的JDK,涉及源码
七海健人
打工战士,闲暇之余把自己的学习和总结记录下,也希望写的东西能帮助到你
展开
-
编码踩坑——运行时报错java.lang.NoSuchMethodError / 同名类加载问题 / 双亲委派【建议收藏】
本篇介绍一个实际遇到的排查异常的case,涉及的知识点包括:类加载机制、jar包中的类加载顺序、JVM双亲委派模型、破坏双亲委派模型及自定义类加载器的代码示例;原创 2023-02-16 15:11:57 · 8870 阅读 · 0 评论 -
编码技巧——JDK版本切换/JDK7和JDK6下的文件输入输入
最近有使用低版本JDK实现文件输入输出的需求,主要是妹子计算机专业考研复试上级算法题,输入输入依赖文件而非纯算法代码,并且IDE一般使用JDK8以下的SDK,导致一些JDK8的API不适用;较早版本的JDK API代码是操作一大堆的缓冲区Buffer和输入输出流InputStream/OutputStream,代码较为复杂,不利于上机演示,因此帮整理下JDK7/JDK6下较为简洁的文件输入输出代码;原创 2023-01-31 20:22:58 · 472 阅读 · 0 评论 -
编码踩坑——多线程可能带来意想不到的OOM
多线程技术数据Java基础中比较重要的知识点;实际使用时,我们往往会用线程池来管理我们的异步线程,本篇介绍一个由于使用ExecutorCompletionService多线程可能导致的OOM问题,开发时要千万小心,即使用一套JDK API时一定要熟悉其原理和可能踩的坑,不要只看到其好处拿来就用,搞不好就要出线上事故;.........原创 2022-08-14 17:28:06 · 1475 阅读 · 0 评论 -
Spring——AOP用到的代理模式&SpringAOP实现原理
AOP,面向切面编程,是Spring框架中的核心思想之一;在Spring中是通过动态代理来实现的,在目标类的基础上增加切面逻辑,对原对象进行增强;SpringAOP的源码中用到了两种动态代理来实现拦截切入功能:JDK动态代理和CGlib动态代理,两种方法的适用条件和效率各有不同,各有优劣;本来准备写一篇关于SpringAOP相关的文章的,这篇文章介绍,作为Spring AOP的基础知识,介绍代理设计模式以及Java中的几种不同的代理模式的实现:静态代理、JDK动态代理和CGlib代理;.........原创 2022-07-04 12:22:53 · 2217 阅读 · 1 评论 -
编码技巧——Java Void 和 void 的区别
在开发过程中,使用JDK的一些自带API时,遇到一个问题:需要传入一个方法A和一个降级方法B,降级方法B的方法签名是有返回参数的,而且返回参数类型需要跟方法A保持一致,编译器会作检查;例如:使用CompletableFuture的exceptionally(),异步方法返参为void类型,这里的传参怎么传?当方法A被定义成void类型的无返回参数的方法,方法B应该如何定义呢?——编译器提示我们定义一个返回值为Void类型的方法;本篇介绍下Void和void的区别;原创 2022-04-25 09:15:36 · 1112 阅读 · 0 评论