JavaGuide
JavaGuide copied to clipboard
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
在前面举例说使用Arrays.asList得到的集合不支持增删方法的语境下,我认为下面所提供的数组转集合六种方法应该得到的是可变的集合。 但List.of()返回的是一个不可变的集合,这个方法是不是应该标注一下,它返回的是不可变集合(java.util.ImmutableCollections),避免混淆
Linux 基础知识总结-目录操作-原文: > mkdir [选项] 目录名:创建新目录(增)。例如:mkdir -m 755 my_directory,创建一个名为 my_directory 的新目录,并将其权限设置为 755,即所有用户对该目录有读、写和执行的权限。 755 权限的实际含义是: 所有者(Owner): rwx(读、写、执行) 所属组(Group): r-x(读、执行,无写权限) 其他用户(Others): r-x(读、执行,无写权限) 该命令创建的目录并非所有用户都有写权限,只有所有者拥有完整权限,其他用户仅能读取和进入目录,但无法修改目录内容(如创建/删除文件)。若需要所有用户都有写权限,应设置为 777(rwxrwxrwx)。
 
文章链接:[Redis持久化机制详解 | JavaGuide](https://javaguide.cn/database/redis/redis-persistence.html#aof-校验机制了解吗) 文中提到了 aof 校验和机制,但实际上,我在 redis 4.0 和 redis 6.0 的源码中,在服务启动阶段的代码里,都只找到了对 rdb 数据的 crc64 校验和检查,以及 redis.conf 中只有配置项 rdbchecksum。 还是说,这里的 aof 校验和机制是在以该 aof 文件是混合持久化模式下重写得到的?对 rdb 数据那部分的验证?
AQS详解中,介绍AQS的成员变量state由 volatile 修饰,其中volatile的作用是使用volatile修饰保证线程可见性. 实际上使用 volatile 修饰状态变量不是为了利用 volatile 的内存可见性,因为这个状态变量只会被持有该状态变量的线程写入,只会被队列中该线程的后驱节点对应的线程读,而且后者会轮询读取。 但要实现一个可以在多线程程序中正确执行的锁,还需要解决重排序问题。主要是通过 volatile 的 Happens-Before(先行发生)规则来解决重排序问题。JMM 的 Happens-Before(先行发生)规则有一条针对 volatile 关键字的规则:“volatile 变量的写操作发生在该变量的后续读之前”。