1.线程池的意义:线程池可以有效的管理线程和减少开启线程和关闭线程的时间消耗。2.典型的线程池:线程池管理器,工作线程,请求接口,请求队列,结果队列3.Java自带的线程池服务:4.Java通过Executors类可以创建四种线程池,他们分别是newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadE
转载 2023-06-21 22:28:08
67阅读
HashSet特点:无序,不可重复HashSet set = new HashSet();常用API添加数据:add(…)size() :获取集合的大小删除数据:remove(…)contains():判断是否包含某数据isEmpty() :判断集合是否为空clear():将集合里的所有数据清空toArray():将集合转化成对应数据类型的数组遍历集合增强for迭代器HashMap特点:键值对,一
转载 10月前
18阅读
Java深入学习06:HashCode和equal方法 一、HashCode是什么  hashcode就是通过hash函数得来的,通俗的说,就是通过某一种算法得到的,hashcode就是在hash表中有对应的位置。  hash函数中的实现就是一种算法,就是通过一系列的算法来得到一个hash值。这个时候,我们就需要知道另一个东西,hash表,通过hash算法得到的hash值就在这张hash
转载 2023-07-19 11:24:05
244阅读
# 使用 MySQL 自带Hash 函数,实现数据的哈希处理 在数据处理的过程中,哈希函数常用于数据的加密和完整性验证。MySQL 提供了一些内置的哈希函数,比如 `MD5`、`SHA1` 和 `SHA2`,可以方便地对数据进行哈希处理。本文将带住你一步步实现 MySQL 自带的哈希函数。 ## 实现流程 | 步骤 | 描述 | 代码
原创 7月前
175阅读
外存:此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等,一般的软件都是安装在外存中内存:计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传
转载 2023-08-24 15:42:14
76阅读
关于时间的类1.Date 日期类2.SimpleDateFormat 格式化日期类3.Calender 日历类Date date = new Date(); System.out.println(date); //Thu Aug 05 11:23:00 CST 2021 //星期 月份 日期 时:分:秒 时区 年份 // SimpleDateFormat sdf = new Simpl
转载 2023-07-19 09:02:13
54阅读
Java内置工具类及常用类一、java.util.Objects方法compare(T a, T b, Comparator<? super T> c) equals(Object a, Object b) isNull(Object obj) nonNull(Object obj)二、java.lang.Math方法abs(double a) floor(double a) ceil
转载 2023-09-12 21:44:47
45阅读
Java Number类一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double等。实例int i = 5000; float gpa = 13.65; byte mask = 0xaf;然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类。所有的包装类(Int
什么是hash算法很多javaer在使用HashMap时,知道这个数据结构非常好用,存取速度很快,而且任何类型的键值对都能往里面塞,非常方便。但是幕后的实现机制,可能并不理解。HashMap的底层数据结构是数组,数组中存放着链表。要保证键值对能快速插入,并保证通过键能快速获取,就必须要将键转换成数组索引,也就是说需要有将任意键转换成Integer类型数据的能力。而这个转换算法就是hash算法。
Java工程师知识树 / Java基础什么是 HashHash(哈希),又称“散列”。 散列(hash)英文原意是“混杂”、“拼凑”、“重新表述”的意思。 在某种程度上,散列是与排序相反的一种操作,排序是将集合中的元素按照某种方式比如字典顺序排列在一起,而散列通过计算哈希值,打破元素之间原有的关系,使集合中的元素按照散列函数的分类进行排列。 在介绍一些集合时,我们总强调需要重写某个类的 equla
转载 2023-09-04 15:16:00
58阅读
1、Hash值有什么用?     HashMap、HashTable、HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode。HashCode是Key,这种计算为提高计算的性能。想想看,一般来说,数组算是比较快的集合类了吧,直接用index定位元素,简直就是O(1)的级别。但是添加元素就不这么乐观了。但是使用hash类的集合,添加元素,移
转载 2023-08-29 16:03:17
84阅读
首先介绍下哈希:基本原理就是:把任意长度的输入,通过hash算法转变成固定长度的输出,原始数据映射后的二进制串就是哈希值。hash的特点:1、从hash值不可以反向推导出原始的数据2、输入数据的微小变化得到完全不同的hash值,相同的数据会得到相同的值3、哈希算法的执行效率要高效,长的文本也能快速地计算出哈希值。4、hash算法的冲突概率要小根据抽屉原理:一定会存在不同的输入被映射成相同的情况Ha
转载 2024-04-15 13:02:01
15阅读
Hash算法严格上来说并不属于加密算法,而是与加密算法属于并列关系的一种算法。概括来说,哈希(Hash)是将目标文本转换成具有相同长度的、不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有不同长度的、可逆的密文。 因为Hash算法在信息的转化过程中,具体来说,两者的主要区别有以下两个: 1)Hash算法转换过程不可逆,而加密转换过程可逆 2)Hash算法无论
转载 2023-09-07 14:18:34
11阅读
文章目录HashMap 的hash计算为什么要做计算为什么要右移16位为什么使用异或异或运算为什么使用 (length-1)&hash 众所周知,java 中hashmap 基本的数据结构是 数组和 链表or 红黑树组成,在put或者get 操作的时候,计算数据下标是一个频繁的动作,本文分析一下java hashMap 的巧妙的算法设计。首先数组下标必定是一个数字,java中HashMa
转载 2023-08-29 16:17:50
64阅读
Hash碰撞冲突(哈希碰撞):我们知道,对象Hash的前提是实现equals()和hashCode()两个方法,那么HashCode()的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰撞冲突。当我们对某个元素进行哈希运算,得到一个存储地址,然后要进行插入的时候,发现已经被其他元素占用了,其实这就是所谓的哈希冲突,也叫哈希碰撞。 哈希冲突如何解决呢?哈希冲突的解
转载 2023-06-20 18:08:42
291阅读
 JDK自带的工具在JDK的bin目录下有很多命令行工具:                我们可以看到各个工具的大小基本上都稳定在27kb左右,这个不是JDK开发团队刻意为之的,而是因为这些工具大多数是jdk\lib\tools.jar类库的一层薄包装而已,他们的主要功
转载 2023-07-19 11:08:16
104阅读
 从 Java 5 开始,Java 提供了自己的线程池。线程池就是一个线程的容器,每次只执行额定数量的线程。 java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。它很灵活,但使用起来也比较复杂,本文就对其做一个介绍。首先是构造函数。以最简单的构造函数为例: public ThreadPoolExecutor(
目录一、函数式接口简介二、作为方法的参数三、作为方法的返回值四、常用函数式接口4.1、Supplier 接口4.2、Consumer 接口4.3、Predicate 接口4.4、Function 接口一、函数式接口简介有且仅有一个抽象方法的接口,通过在 类上标注@functionalInterface 注解进行检测。 该注解为可选,只要保证满足函数式接口定义的条件也照样是函数式接口,但建议都加上该
转载 2023-08-25 11:59:12
62阅读
 目录前言使用 JDK 自带工具查看 JVM 情况jpsjinfojvisualvmjstatjstackjcmd前言大家好,我是月夜枫,程序员比较头疼的问题就是定位JVM中的异常问题,而且有很多的工具都是要收费的,那么今天就分享一下java8中自带的分析定位工具。使用 JDK 自带工具查看 JVM 情况JDK 自带了很多命令行甚至是图形界面工具,帮助我们查看 JVM 的一些信息。比如,
转载 2023-09-20 11:54:41
39阅读
 Java的开发人员肯定都知道JDK的bin目录中有“java.exe”和“javac.exe”这两个命令行工具, 但并非所有的Java程序员都了解过JDK的bin目录之中其它命令行程序的作用。 JDK1.6自带的工具就有42个之多。  &nb
转载 2023-07-28 21:51:22
62阅读
  • 1
  • 2
  • 3
  • 4
  • 5