JavaGuide
JavaGuide copied to clipboard
「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
HTTP3.0不再使用TCP协议,改用基于UDP的QUIC
 HTTP是基于TCP还是UDP的? HTTP3.0之前是基于TCP协议的,而HTTP3.0将弃用TCP,改用基于UDP的QUIC协议。 来源:https://zh.wikipedia.org/zh-tw/HTTP/3 https://datatracker.ietf.org/doc/rfc9114/
网络部分的勘误
1. 《计算机网络常见面试题总结》Telent 协议 -> Telnet协议 2. 《OSI 和 TCP/IP 网络分层模型详解(基础)》 复杂的网络间题 -> 复杂的网络问题 3. 《HTTP vs HTTPS(应用层)》通常把 HTTPS 中的核心加密协议混成为 SSL/TLS -> 混称为 (不确定我理解的是否正确) 4. 《TCP 三次握手和四次挥手(传输层)》三次握手:客户端发送带有带有ACK(ACK=y+1) 标志的数据包 -> 带有重复 5....
稳定快速的科学上网教程:[科学上网](https://github.com/ClashPac/FreePAC) 快速注册登录ChatGPT的完整教程 :[注册ChatGPT教程](https://github.com/ClashPac/FreePAC/wiki/ChatGPT-%E5%BF%AB%E9%80%9F%E6%B3%A8%E5%86%8C%E5%AE%8C%E6%95%B4%E6%8C%87%E5%8D%97%E6%95%99%E7%A8%8B)
### 讨论点:  ### 我的看法: 其实Spring WebFlux底层实现的IO模型并不是真正意义上的异步IO模型,还是属于同步IO模型中的同步非阻塞模型。我们看起来的异步只是“编程模型”上的异步,最后数据从内核空间拷贝到用户空间的过程还是会阻塞,并不是真正意义上的异步IO。 不知道我的看法是否合理或者正常,欢迎讨论和指点。
修正错别字
#### 问题截图:  #### 关于元空间: 使用Java 8以后,关于元空间的JVM参数有两个:`-XX:MetaspaceSize=N`和 `-XX:MaxMetaspaceSize=N`,对于64位JVM来说,元空间的默认初始大小是20.75MB,默认的元空间的最大值是无限。MaxMetaspaceSize用于设置metaspace区域的最大值,这个值可以通过mxbean中的MemoryPoolBean获取到,如果这个参数没有设置,那么就是通过mxbean拿到的最大值是-1,表示无穷大。 由于调整元空间的大小需要Full GC,这是非常昂贵的操作,如果应用在启动的时候发生大量Full GC,通常都是由于永久代或元空间发生了大小调整,基于这种情况,一般建议在JVM参数中将MetaspaceSize和MaxMetaspaceSize设置成一样的值,并设置得比初始值要大。 #### 源码分析 MetaspaceSize表示metaspace首次使用不够而触发Full GC的阈值,只对触发起作用,原因是:垃圾搜集器内部是根据变量 `_capacity_until_GC`来判断metaspace区域是否达到阈值的,初始化代码如下所示: ```javascript void MetaspaceGC::initialize() { // Set the high-water mark to MaxMetapaceSize during VM initializaton...
JVM 参数章节 [jvm-parameters-intro.md: L98](https://github.com/Snailclimb/JavaGuide/blob/main/docs/java/jvm/jvm-parameters-intro.md?plain=1#L98) 中提到: ```bash -XX:MetaspaceSize=N #设置 Metaspace 的初始(和最小大小) ``` 此处解释错误,即 Metaspace 的初始大小非由 `-XX:MetaspaceSize` 设置。 --- 参见 Oracle 官方文档 [Other Considerations](https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/considerations.html) 中提到: > When the space committed for class...
修改了一处拼写错误, 将 'fals' 改正为 'false'.