- 博客(19)
- 收藏
- 关注
原创 方法调用的解析与分派
方法重载:在编译时期根据方法的参数列表的参数个数、静态类型和顺序确定调用的目标方法实现。本质静态多分派—在编译时期根据方法的接受者的声明类型和参数列表共同决定方法在常量池中的符号引用。方法重写:根据运行时aload到操作数栈的方法接收者的实际类型,从其类的继承链上确定调用的实际方法实现。本质动态单分派—在运行时仅通过方法接受者的实际类型确定调用的目标方法。方法的基本匹配规则从接收者的元数据模板中,查找描述符和简单名称相同的符号引用,找到则验证访问权限,通过则返回这个方法的直接引用;权限验证不通过则抛出。
2025-05-19 14:24:49
549
原创 安全点与安全区域
设置一个轮询页(Polling Page),正常情况下,该页可读可写;当需要触发 GC时,将该页设为不可访问(触发 SIGSEGV 信号)。,则此区域内任何位置开始GC都是安全的,此区域即为安全区域。安全区域设计用于处理非活动线程的GC安全问题。作为安全点,例如:方法调用、循环跳转、异常跳转等。程序运行时停顿下来开始安全GC的位置。:线程到达轮询点时访问该页。
2025-04-13 19:24:48
288
原创 类卸载与元空间的优势—面试过关
动态代理(CGLib)、反射、JSP热部署、OSGi等频繁生成/卸载类的场景。GC更高效,OOM容易避免,调优更简单。
2025-03-29 17:42:27
401
原创 在Idea24.3.2上调试运行Tomcat9.x源码
tomcat9引入了很多Java新特性,亲测必须使用JDK23及以上的高版本JDK,所以构建调试运行环境前应先下载好JDK23。本次演示使用IntelliJ IDEA24.3.2版本。本文不省略各种配置的详细操作步骤细节(如按钮点击),但没有图示,请谅解,所有IDE的操作细节均为黑斜体,希望能帮助你在不跳转博文的情况下完成配置。
2025-03-28 20:58:11
1891
原创 Dockerfile指令详解
从上到下依次执行Dockerfile指令,每条指令生成一个镜像层。Dockerfile是一个构建镜像的指令集脚本。路径的一个或多个文件添加到镜像的。
2025-03-27 22:55:05
632
原创 JVM堆内存分配与垃圾回收—王者级总结大道至简
HotSpot实现的GC按回收区域分为两大类型:部分收集(Partial GC)和整堆收集(Full GC)。开发或调优中尽量避免Full GC,以简短用户线程的暂停时间。
2025-03-25 20:00:29
498
原创 IPv6-DHCPv6协议
DUID(DHCP Unique Identifier)用于唯一标识DHCPv6客户端或服务器,确保在网络中能够正确识别和区分不同的设备。DHCPv6(Dynamic Host Configuration Protocol for IPv6)是一种用于在IPv6网络中。:适用于不需要集中管理IP地址,但仍需获取DNS等额外配置的场景,如家庭网络或小型办公网络。:适用于需要集中管理IP地址和网络配置的场景,如企业网络。自动分配IP地址和其他网络配置参数的协议。
2025-03-20 09:49:18
454
原创 IPv6-NDP协议详解
IPv6中的**DAD(Duplicate Address Detection,重复地址检测)**是一种用于确保IPv6地址唯一性的机制。NDP为了维护邻居缓存表,会定期跟踪邻居的状态,NUD进程就是用类检测邻居状态的进程。(组播本地节点地址)发送RA,为本地链路的所有PC提供路由前缀、前缀长度等配置信息。(组播路由器地址)发送RS(133 ICMPv6),请求路由器地址。NDP要点:地址自动配置,地址解析,路由发现,邻居状态跟踪。同时,PC把RA中的。和MAC地址添加到自己的邻居表中,并根据优先级指定。
2025-03-19 18:29:38
1748
原创 JDK、JRE、JVM辨析,一眼明白
本文不详细介绍面试中常问的JDK、JRE、JVM三个范畴,仅以一张明确到爆炸的图给大家讲清楚三者的关系和关键内容。
2025-03-15 00:26:54
226
原创 在RHEL(Rocky Linux、CentOS等)上下载安装 MySQL、Redis、Docker 和 Nginx步骤大全
【代码】在RHEL(Rocky Linux、CentOS等)上下载安装 MySQL、Redis、Docker 和 Nginx步骤大全。
2025-03-15 00:18:44
252
原创 RockyLinux9配置静态IP地址
RockyLinux作为CentosLinux的继承者,与RHEL完全兼容,稳定性极高。随着RHEL的网络管理向NetworkManager转型,从RockyLinux8.10开始,网卡接口的配置文件位置由原来的/etc/systconfig/network-scripts/ifcfg-网卡接口名变为/etc/NetworkManager/system-connections/网卡接口名.nmconnection,因此,更改网卡接口配置,更改这些配置文件即可。
2025-03-14 13:04:58
1687
C++职工工作量统计系统课程设计(源码,重要函数流程图)(纯C++,面向对象)
2024-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人