JavaGuide
JavaGuide copied to clipboard
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
在看完了[这篇](https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/JAD%E5%8F%8D%E7%BC%96%E8%AF%91tricks.md)之后,我也去试了一下相同的代码,反编译后的结果如下:  请问是否有相关资料来说明这么编译的原因吗?
JDK1.6及之前,静态变量存放在方法区中的instanceKlass的末尾, JDK7以上版本,静态变量存放在Class实例中,Class实例如同堆中其他对象一样,存在于堆中 注:一个对象实例的对象头中的类型指针指向方法区中的instanceKlass,instanceKlass中有个字段java_mirror指向Class实例 可以看一下R大的解释[https://www.zhihu.com/question/50258991] 大佬有空可以看看,这里可能存在一些问题
如题,在JDK1.7和JDK14中分别对Arrays.sort()进行了实现上的改变,在JDK1.7引入了双枢纽元快速排序,在JDK14中通过Fork&Join框架引入了多线程归并排序、多线程双枢纽元快速排序、小数组的直接插入排序和混合插入排序、相对有序数组的堆排序,实现变得越来越复杂
刚学习到这,有几处问题实在理解不了,希望博主不吝赐教一下: 1、redlock 中的多个节点跟平时理解的redis的集群模式 是不是一回事呢? 2、各个节点之间是如何同步数据的呢?
最近我在复习ClassLoader这一块,我用的jdk11,其实也不知道该不该说,毕竟这只是版本的不同. jdk9引入了模块化系统,取消了ExtensionClassLoader,新增了PaltformClassLoader.并且双亲委派机制也受到一定影响. 参考:https://yq.aliyun.com/articles/518315
[spring-aop中的适配器模式](https://javaguide.cn/system-design/framework/spring/spring-design-patterns-summary.html#spring-aop%E4%B8%AD%E7%9A%84%E9%80%82%E9%85%8D%E5%99%A8%E6%A8%A1%E5%BC%8F)中如下图 通过查阅 org.springframework.aop.framework.adapter包下的 AdvisorAdapter 相关源码发现, xxx通知对应的xxxAdapter适配器 通过调用 getInterceptor 将通知适配成对应的Interceptor, 所以 aop适配器模式这里描述有误,应该是通过xxxAdapter将xxx通知适配成对应的MethodInterceptor 所以正确描述应该是这样: 我们知道 Spring AOP 的实现是基于代理模式,但是 Spring AOP 的增强或通知(Advice)使用到了适配器模式,与之相关的接口是`AdvisorAdapter ` 。Advice 常用的类型有:`BeforeAdvice`(目标方法调用前,前置通知)、`AfterAdvice`(目标方法调用后,后置通知)、`AfterReturningAdvice`(目标方法执行结束后,return之前)等等。每个类型Advice(通知)都有对应的拦截器:`MethodBeforeAdviceInterceptor`、`AfterReturningAdviceInterceptor`、`ThrowsAdviceInterceptor`等。Spring 预定义的通知要通过对应的适配器,适配成 `MethodInterceptor` 接口(方法拦截器)类型的对象(如:`MethodBeforeAdviceAdapter` 通过调用 `getInterceptor` 方法,将 `MethodBeforeAdvice` 适配成...
…岛/基础/java-basic-questions-01.md 我觉得那个自增和自减那部分不够严谨应该是(都是先自增或者自减)i++先自增,然后返回自增之前的值,++i先自增,然后返回自增之后的值,都是先自增。而且从效率上来说++i比i++来的更有效率,因为i++多声明了一个过渡的变量。
https://javaguide.cn/java/new-features/java9.html#%E6%A8%A1%E5%9D%97%E5%8C%96%E7%B3%BB%E7%BB%9F 这个地址上,下面这段代码中 com.·my.package.name to com.specific.package 应该是多了一个 · module my.module { //exports 公开指定包的所有公共成员 exports com.my.package.name; } module my.module { //exports…to 限制访问的成员范围 export com.·my.package.name to com.specific.package; } ------ 著作权归所有 原文链接:https://javaguide.cn/java/new-features/java9.html