Java学习笔记
文章平均质量分 68
Java基础学习笔记
Kom19
多多重复 百练成钢
展开
-
在Java中利用GeoHash实现高效的‘附近xxx‘功能
GeoHash是一种高效的地理编码系统,它通过将地球表面划分为网格并用字母数字组合的字符串来表示每个区域。这种编码方法将二维的经纬度坐标转换为一维的字符串,使得地理位置的存储和检索变得更加简单。GeoHash的核心原理是将经纬度坐标转换为二进制,然后交替取位组合,最后转换为base32编码。这种方法的一个重要特性是,相邻区域通常会有相同的GeoHash前缀,这使得它非常适合用于快速查找附近位置。原创 2024-07-30 15:24:07 · 771 阅读 · 0 评论 -
在Java中使用Float或者Double而导致的精度丢失问题是如何产生的?
其中float表示的32个比特位,第1位为符号位表示正数还是负数,第2位到第8位表示指针数,剩下的表示有效数字,而对于double来说,第1位为符号位表示正数还是负数,第2位到第13位表示指针数,剩下的表示有效数字。假如说是0.2那么在有效数字位里面存储的就应该是0011-0011-0011-0011...这样无限循环下去,但是由于存储有效数字位有限也就导致了不能完整的存储无限循环的0011-0011-0011-0011...换句话说float能表示32个比特位而double能表示64个比特位。原创 2024-03-17 17:15:41 · 527 阅读 · 0 评论 -
使用CompletableFuture在主线程捕获子线程异常
其作用是返回一个新的CompletableFuture,如果原CompletableFuture以异常的方式完成,则使用提供的方法来计算新CompletableFuture的值。场景:我们使用线程池的时候,假如说某个线程出现了异常此时我们需要将异常捕获打印出相应的异常日志。这个时候就可以用到CompletableFuture的。exceptionally方法,下面给出代码演示一下。原创 2024-02-19 00:53:19 · 1206 阅读 · 0 评论 -
Java中的Map和Set
在Java中Map和Set分别是两个不同的接口对于Set来说,Set上面还有Collection这个接口,而对于Map来说,上面就没有接口了在这两个接口下面分别实现了一个有序的接口,sortmap和sortset,而在这个接口下面又分别有两个实现类一个是treemap,一个是treeset。同样的在set和map这两个接口下面也有两个实现实现类,一天个是hashset,一个是hashmap。配合这张图可以有更加清晰的认识。原创 2024-01-28 17:29:45 · 435 阅读 · 1 评论 -
为什么重写equals以后要重写hashcode方法?(通俗易懂)
来说,首先验证两个对象的地址是否相同,如果相同直接返回true,如果不同那么就将这个对象转换成相同的对象进行比较,然后再对值进行对比来确认是返回true还是false。我们点开源码可以发现实际上还是比较两个对象的地址,所以当我们自定义一个类的时候需要重写这个类的。又是为了应对集合类的使用而创建的,用于找到对应的集合中对应的位置后进行添加查找等一系列操作。实际上还是比较的是内存地址,所以当我们自定义一个类以后需要重写这个类的。但是如果我们自定义一个类的话,不重写这个类的的话,是怎么样的呢?原创 2024-01-12 22:06:37 · 490 阅读 · 0 评论 -
【Spring】关于Spring的创建和使用以及bean的存储与获取
spring是一个IoC容器,我们创建spring容器只需要在idea中创建一个maven项目,然后再pom.xml中添加相应的依赖,一个spring容器就创建好了在pom.xml中添加这段依赖就可以完成对spring的创建了。原创 2023-05-10 19:18:36 · 336 阅读 · 0 评论 -
简单易懂且详细!用Java带你搞懂面向对象的三大特征:封装、继承、多态!
简单来说就是屏蔽细节,对外提供接口拿电脑来举例:电脑内部有许多元器件,比如内存条,CPU,显卡等等但是用户并不需要关注他们是怎么运行的用户只需要用键盘和鼠标来完成他们想要做的事情这就是封装将内部的细节封装起来,然后对用户提供可以操作的接口。原创 2022-08-25 14:34:11 · 604 阅读 · 2 评论 -
Java中关键字“static”以及代码块的详解
java中被static修饰的变量被称为当我们的变量被static修饰以后我们的变量就不在存储到里面,而是存放在里面这也就意味着静态成员是不属于某一个对象的,而是大家所共享的静态成员的生命周期是随着在类里面创建所诞生的,随着类的销毁所销毁的。...原创 2022-08-18 16:09:45 · 1005 阅读 · 0 评论 -
Java中关键字“this”和构造方法的详解
对初学者讲解this和构造方法的使用以及其中的一定联系原创 2022-08-17 21:29:20 · 1579 阅读 · 0 评论 -
浅谈Java中的“数组”与“引用”
内存是一块连续开辟的存储空间,用于存储运行时所需要的数据。在Java虚拟机中对内存划分成五个功能程序计数器,虚拟机栈,本地方法栈,堆,方法区。其中虚拟机栈是创建局部变量,操作数栈,返回地址等数据,我们的基本数据类型就是存储在虚拟机栈上的。而堆存储的是new创建的对象,堆是随着程序开始运行时创建,随着程序退出而销毁,只要创建的对象数据还在使用,就不会销毁。我们的引用数据类型就存储在堆上,而Java里面的数组就是引用数据类型。简单来说这两者之间的区别就是,基本数据类型在内存中直接存储其对应的值。...原创 2022-08-02 01:10:00 · 1033 阅读 · 0 评论