logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Java 的“128陷阱”:深入理解 Integer 缓存机制

Java的“128陷阱”源于Integer的缓存机制:JDK 1.8默认缓存-128到127的Integer对象,通过valueOf()自动装箱时会返回缓存对象。此范围内用==比较可能为true,但超出范围(如128)会创建新对象导致==失效。解决方案是始终用.equals()比较包装类对象,或拆箱为基本类型比较。该机制旨在优化小整数性能,但需开发者注意对象比较的陷阱。类似缓存也存在于Byte、S

文章图片
#java#缓存#开发语言
Java HashMap的get/put源码深度解析(JDK 1.8)

本文基于JDK 1.8源码深度解析HashMap的get/put核心流程。HashMap采用数组+链表+红黑树混合结构,通过扰动函数(h=hashCode())^(h>>>16)优化哈希分布。put流程包含哈希计算、桶定位、树化判断(链表≥8且容量≥64时转红黑树)、尾插法插入及扩容迁移(高低位拆分避免rehash);get流程通过(n-1)&hash定位桶后,按链表遍历或红黑树搜索(O(log

文章图片
#java#哈希算法#开发语言
Java爬虫之selenium(超详细)

Selenium 是一个开源的自动化测试框架,专门用于Web应用程序的测试。它支持多种编程语言,如Java、C#、Python、Ruby等,并提供了不同的工具和库来模拟用户在浏览器中的交互行为selenium的原理涉及到3个部分,分别是:浏览器、driver(一般我们都会下载driver)、client(也就是我们写的代码)client其实并不知道浏览器是怎么工作的,但是driver知道,在sel

文章图片
#java#爬虫#selenium
到底了