java
欣辰守护者
当你原地休息的时候,别忘了还有人在奔跑!
展开
-
缓存的优点和缺点
概念:缓存一般是为了应对高并发场景、缓解数据库读写压力,而将数据存储在读写更快的某种存储介质中(如内存),以加快读取数据的速度。先查询缓存中有没有要的数据,如果有,就直接返回缓存中的数据。优点1.提升了用户体验:用户在使用产品过程中建立起来的一种纯主观感受。缓存的使用可以提升系统的响应能力,大大提升了用户体验。2.减轻了服务器压力。客户端缓存、网络端缓存减轻应用服务器压力。服务端缓存减轻数据库服务器的压力。缺点:1.额外的硬件支出。缓存是一种软件系统中以空间换时间的技术需要额外原创 2022-05-30 00:00:51 · 2969 阅读 · 0 评论 -
堆排序(java完整代码)
这里的堆并不是JVM中堆栈的堆,而是一种特殊的二叉树,通常也叫作二叉堆。它具有以下特点:1)它是完全二叉树2)每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆。每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。代码中只体现大顶堆。堆排序的基本思想是:.1)将待排序序列构造成一个大顶堆2)此时,整个序列的最大值就是堆顶的根节点。3)将其与末尾元素进行交换,此时末尾就为最大值。4)然后将剩余n-1 个元素重新构造成-一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序原创 2022-05-18 02:56:38 · 1951 阅读 · 0 评论 -
哈希表介绍,冲突解决办法,java版HashTableDemo
定义哈希表(Hash table,也叫散列表),是根据关键值key而直接进行访问记录(数据)的数据结构。散列表本质就是一个数组,数据存入到数组中,数据的索引是通过散列函数以key为入参计算出来的返回值(散列函数内部已经对数组长度取模防止数组越界),有的是拿到返回值再取模。关键字:key,散列函数(func),散列表=数组伪代码助理解index = func(key) 或index=func(key)%table.lengthdata = table[index]上面一个简单的原创 2022-05-16 21:28:53 · 178 阅读 · 0 评论 -
递归解决迷宫问题(java完整代码)
整体思路:1.创建一个10*10的二维数组迷宫。当前迷宫中二维数组的值为0代表从未走过,1,代表障碍物2,代表已经走过,该点只能走一次,不能返回重走,3代表死路(上下左右试探的时候,遇到障碍物或者其他死路点或者已经走过的点,判断该点为死路)。2.设置障碍物3.开始递归尝试路线。按照一个设定的下,右,上,左方向递归测试路线,直到找到最终路线。下面是代码。public static void main(String[] args) { //创建一个10*10的迷宫 int[][原创 2022-05-14 01:43:22 · 1027 阅读 · 0 评论 -
头插法反转整个单链表(java完整代码)
头插法:节点插入到链表的头部,也就是addFirst()方法。单链表:一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置)。参照代码中的Node内部类。代码中方法介绍:add():插入到链表尾部。addFirst():头插法插入到链表头部。reverseAll():头插法反转整个链表。public class SingleLinkedList { //头结点原创 2022-05-12 14:17:11 · 1010 阅读 · 0 评论 -
java中Queue接口方法介绍
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除(remove或poll)操作,而在表的后端(rear)进行插入(add或offer)操作。可以类比生活中的排队。入队列的时候要排到队伍的最后面(队尾),最前面的人(队头)先出列。先入先出,队伍中前面的人先排队的,而且最先出队。 /** *继承集合接口,所以Queue包含Collection的方法 */public interface Queue<E> extends Collect原创 2022-05-07 22:20:20 · 487 阅读 · 0 评论 -
1个小例子解释wait()和notify()方法
1个小例子解释wait()和notify()方法原创 2022-04-12 15:56:53 · 648 阅读 · 0 评论