JavaGuide icon indicating copy to clipboard operation
JavaGuide copied to clipboard

「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!

Results 133 JavaGuide issues
Sort by recently updated
recently updated
newest added

面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。 ----》》 这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java性能差的主要原因并不是因为它是面向对象语言,而是Java是半编译语言,最终的执行代码并不是可以直接被CPU执行的二进制机械码。 而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比Java好。

enhancement
discuss
perfect

问题描述: 1. 在MySQL知识总结文章中,对不可重复读和幻读区别的解释与文章最后所提供的参考“技术分享 | 隔离级别:正确理解幻读:https://opensource.actionsky.com/20210818-mysql/ ”存在矛盾的问题。 在参考文章中,对不可重复读和幻读的理解如下图所示。 ![Snipaste_2022-07-02_12-09-48](https://user-images.githubusercontent.com/66345528/176985980-4965137b-b5da-45c6-8bcf-6dd895426c8b.png) 而总结正文是这样描述的。 ![Snipaste_2022-07-02_12-12-49](https://user-images.githubusercontent.com/66345528/176986039-2ba19b63-1bea-4ca0-b811-b7bdf90e43dc.png) 2. 在MySQL重要知识点->事务隔离级别(图文详解)文章中,演示了幻读出现的情况,如图所示。 ![Snipaste_2022-07-02_12-16-48](https://user-images.githubusercontent.com/66345528/176986194-d2c570ba-ff65-46aa-b8d1-e317e7935bbe.png) 图中先使用快照读,然后使用当前读,两次结果不一致,就说是幻读。但是根据上面的参考文章, 快照读和当前读混用造成的异常,不能算是幻读。 希望答疑解惑!

question

这里应该是先链表尾插,然后treeifyBin(tab, hash);跳出循环,执行最后面的++modCount;和判断是否需要扩容了吧?

bug
enhancement

``` // 桶中已经存在元素 else { Node e; K k; // 比较桶中第一个元素(数组中的结点)的hash值相等,key相等 if (p.hash == hash && ((k = p.key) == key || (key != null && key.equals(k)))) // 将第一个元素赋值给e,用e来记录 e...

在文章最后的实际情况演示中:没有演示出幻读出现的场景,幻读在可重复读的隔离级别下只有使用当前读才会出现幻读的情况,幻读在可重复读的隔离级别下直接使用 update 关键字是没有办法解决的,因为 update 在走索引的情况下是行锁,不走索引的情况下才是表锁,我看文末最后一个图说的意思是直接使用这个解决。应该是使用next-key lock 解决的,next-key lock 是行锁加间隙锁,我感觉我可以帮忙完善一下这个点。

https://javaguide.cn/database/mysql/mysql-high-performance-optimization-specification-recommendations/#_4-%E5%B8%B8%E8%A7%81%E7%B4%A2%E5%BC%95%E5%88%97%E5%BB%BA%E8%AE%AE ![1639489442(1)](https://user-images.githubusercontent.com/54167433/146009775-4143db3b-5f5e-4cdc-aa94-e8b142dad768.png) guide哥,联合索引的非叶子节点应该包含所有的索引项?那么把字段长度小的索引放左边应该没办法增加一页的数据量吧?

待处理

3.2.1中 关于intercept方法的描述有歧义 public Object intercept(Object obj, java.lang.reflect.Method method, Object[] args, MethodProxy proxy) throws Throwable; obj :被代理的对象(需要增强的对象) -> 应该改为 代理子类的实现对象 method :被拦截的方法(需要增强的方法) args :方法入参 proxy :用于调用原始方法

[Redis-事务](https://github.com/Snailclimb/JavaGuide/blob/main/docs/database/redis/redis-questions-01.md#redis-%E4%BA%8B%E5%8A%A1)中提到 “[WATCH](https://redis.io/commands/watch) 命令用于监听指定的键,当调用 `EXEC` 命令执行事务时,如果一个被 `WATCH` 命令监视的键被修改的话,整个事务都不会执行,直接返回失败”。这个说法似乎不太准确,这里以下面 3 个demo进行说明。 1. 同一个session中,watch监视的key在multi之前被修改 ![image](https://user-images.githubusercontent.com/50993019/166102031-d8b36a3d-84bd-46da-a305-bc4b797f9bd2.png) 根据测试结果可以得知,如果在 **MULTI** 之前被修改,那么这个事务不会被执行 2. 同一个session中,watch监视的key在事务内部被修改 ![image](https://user-images.githubusercontent.com/50993019/166102100-3077e662-84f5-4026-aaa7-a27121947500.png) 根据测试结果可以得知,如果在 **MULTI** 之后被修改或者说在事务内部被修改,那么这个事务还是会执行成功 3. 同一个session中,watch监视的key在事务内部被修改,但是在事务提交之前被其他 session 修改 ![image](https://user-images.githubusercontent.com/50993019/166102552-8cba5c0a-af1b-43d1-b526-c2e520d2db72.png) 可以看出,场景一和场景三其实可以当成同一种情况;另外,**WATCH** 操作只是 session 级别的,不会影响其他...

enhancement

[Java集合使用注意事项总结](https://javaguide.cn/java/collection/java-collection-precautions-for-use.html#%E9%9B%86%E5%90%88%E9%81%8D%E5%8E%86)这一节的集合遍历部分可以结合源码解释为什么在foreach循环里进行add/remove操作会抛出CMException 参考博客地址[什么是fail-fast](https://www.cnblogs.com/54chensongxia/p/12470446.html) ps:这是我第一次使用issues,如果出现问题和错误请多包涵

> 常用的通配符为: T,E,K,V,? ? 表示不确定的 Java 类型 T (type) 表示具体的一个 Java 类型 K V (key value) 分别代表 Java 键值中的 Key Value E (element) 代表 Element 上面说的 T、E、K、V 其实都只是类型参数。而 ? 才是通配符,而且准确来说,是无限定通配符。...

perfect content