Java基础
文章平均质量分 84
Java基础
李景琰
y-aicloud.com。专注Java/Go/Python/大数据/前端/文档/运维等,网站/后台/小程序/H5/电脑DIY等。
沉淀、成长、突破,超越自己,才是真的高贵!
展开
-
Java之BigDecimal详解
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。原创 2023-12-14 12:25:57 · 937 阅读 · 0 评论 -
HashMap底层实现原理
通过对cap进行位移或操作计算,获取扩容阈值2的幂次方。此时这里的阈值threshold不是初始容量*负载因子,不必在意,这只是临时的,真正设置threshold在后面put方法中。HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现,它是一个key-value结构的容器。JDK1.8 版本的HashMap,底层数据使用数组 + 链表/红黑树实现。Node的数据结构是一个链表结构,红黑树也是基于Node的数据结构构建得到。计算key.hashCode()并将哈希的高位数扩展到低位数。原创 2023-05-04 12:09:14 · 11141 阅读 · 0 评论 -
Spring Bean
6. 如果这个 Bean 关联了 BeanPostProcessor 接口,将会调用 postProcessBeforeInitialization(Object obj, String s)方法,BeanPostProcessor 经常被用 作是 Bean 内容的更改,并且由于这个是在 Bean 初始化结束时调用那个的方法,也可以被应 用于内存或缓存技术。10. 最后,如果这个 Bean 的 Spring 配置中配置了 destroy-method 属性,会自动调用其配置的 销毁方法。原创 2023-07-13 12:17:59 · 556 阅读 · 0 评论 -
Java之枚举
枚举的本质枚举的常见用途枚举创建单例枚举抽象方法Java中的枚举,大家在项目中经常使用吧,主要用来定义一些固定值,在一个有限的集合内,比如在表示一周的某一天,一年中的四季等。那你了解枚举的本质吗,或者说底层是什么样的?了解枚举的一些神仙用法吗?枚举主要用来定义一个有限集合内的固定值。枚举编译后实际上继承了java.lang.Enum这个类,后面详细讲解,我们看下这个类的关键方法:返回指定名字、给定类的枚举常量返回枚举常量名返回枚举常量在enum中的位置,从0开始。原创 2023-06-27 14:15:19 · 226 阅读 · 0 评论 -
Windows安装JDK并实现多版本切换
变量值增加:%JAVA_HOME%\bin;,放到x:\xx\Common Files\Oracle\Java\javapath前面。通过 JAVA_HOME的值%JAVA8_HOME%、切换使用不同版本的jdk。变量名:CLASSPATH。原创 2023-05-26 10:46:09 · 189 阅读 · 0 评论 -
Java 17 新特性尝鲜
JDK 17更新了包括14个特性,具体如下表所示:恢复始终严格模式(Always-Strict)的浮点语义增强型伪随机数生成器新增macOS渲染管道支持将JDK移植到macOS或AArch64弃用待移除的Applet API强封装JDK内部APIswitch模式匹配进入预览(Preview)阶段移除RMI(远程方法调用)激活机制密封类移除实验性AOT和JIT编译器弃用待移除的安全管理器(Security Manager)外部函数和内存API(孵化器)孵化阶段Vector API(第二孵化器)第二孵化阶段。原创 2023-04-28 09:41:31 · 1622 阅读 · 1 评论 -
JVM锁优化和逃逸分析详解
这里的答案是不会,x + y + z 操作的优化「经过逃逸分析」过后,他的动态作用域被限制在了 concatStr方法内,就是说当前实际执行的 StringBuilder 的操作在 concatStr 方法内部,「其他的外部线程无法访问」到,所以这里「虽然有锁,但是可以被安全的消除掉。原则上,我们在写代码的时候,总是推荐将同步块的作用范围限制得尽可能的小--只在共享数据的实际操作作用域中才进行同步,这样也是为了使得需要同步的操作尽可能的变少,即使存在锁的竞争,等待的锁的线程也能很快的获取到锁。原创 2023-04-05 11:54:36 · 430 阅读 · 0 评论 -
SpringBoot 内置工具类
SpringBoot 内置工具类原创 2023-03-22 11:01:45 · 654 阅读 · 1 评论