自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 倒排索引知识

首先是索引的存储问题。每个倒排列表中通常会包含若干个文档节点,每个文档节点中存储了文档的ID或地址,以及该单词或关键词在文档中出现的位置和频率等信息。在倒排索引中,每个单词被视为一个Term,每个Term都有一个对应的Term ID,而每个文档则有一个对应的文档ID。在分析时,我们可以利用倒排索引统计单词出现的频率、单词出现的文档数量、文档的长度等信息,以便进行更精细的分析。因此,倒排索引和正排索引的区别主要在于索引方式:正排索引按照文档ID有序存储每个文档,而倒排索引按照单词将文档分类存储。

2024-07-29 18:01:23 662

原创 springboot的自动配置

1.通过Condition注解----固定文件的自动配置实现过程:首先定义一个类其次:定义一个类,实现Condition接口,在重写其中的matches方法,判断相关的文件是否存在最后:通过创建配置类,通过Condition注解 @Conditional(value= 实现类类名.class)//@Conditional中的 实现类类名.class的matches方法,返回true则将该类通过@bean注解注入到spring容器中,返回false则不注入到spring容器中,

2024-07-24 22:23:04 743

原创 Spring循环依赖:

早期类对象池是一个Map,用来存放部分初始化完成的单例类,且当前类已经被其他类引用,当Spring检测到循环依赖时,会将部分初始化完成的类对象存放到该池中,以便其他类对象能够引用。单例池是一个Map,用来存储完整的单例类对象的容器,当Spring容器在创建类时,首先会去单例池中去查找是否存在这个类,如果存在则返回,如果不存在则创建这个类。单例类的工厂池是用来缓存半成品的类,且未被引用.是一个Map,用来存放类工厂,类工厂是一个用来创建类事例的对象,当需要创建类实例时,通过类工厂进行创建。

2024-07-21 18:52:47 256

原创 JVM的概述

由类加载器完成字节码文件的加载验证和解析,存储在运行时数据区,并由执行引擎中的解释器,完成字节码到机器码的解释执行,同时进行热点代码的统计分析,调用JIT即时编译器将字节码直接编译成机器码,提高执行效率,JVM运行期间的方法,数据对象统一存放在运行时数据区。JIT编译器:在程序运行过程中,随着时间的推移,JIT开始慢慢的发挥作用,把热点代码编译成本地代码后,以后执行相同的代码,即可直接交给CPU执行,带来更高的效率。JVM也就是虚拟机,本质上是一个运行在计算机上的程序,未来的工作场景中,或出现以下场景。

2024-06-20 17:33:29 368

原创 类的创建与组成部分

可以不让外部直接访问成员变量,将成员变量私有化----修饰符(private) 数据类型 变量名。成员变量 类的里面,方法的外面 类内可以使用 有默认值,与数组一样。局部变量在栈的内部,随着方法的建立而产生,方法出栈,局部变量消亡,生命周期较短。成员变量在堆的内部,随着对象的建立而产生,随着对象被垃圾回收机制回收而消亡。成员变量前面加this关键字------强调当前的变量是成员变量。数据类型----任意的数据类型。修饰符----public。变量名----见名知意。

2024-06-19 18:56:11 237

原创 Collections工具类

Override});@Override});@Override});

2024-06-18 19:23:54 520

原创 Map集合

System.out.printf("键-%s,值-%s"entry.getKey(),entry.getValue());System.out.printf("键-%s,值-%s", string, hashMap.get(string));2.红黑树是一颗自平衡的二叉查找树,树中的所有节点均自动排序,并且自平衡,可以使用二分查找,提高查找的效率。3.当要存放元素的数组的长度达到数组的扩容阈值,则会扩容到原来的2倍,加载因子为0.75。2.链表上的元素>8或者数组的长度<64,则会扩容到原来的2倍。

2024-06-18 18:49:22 398

原创 Set集合

2.如果不是Comparable类型的接口,必须创建一个new Comparator<Book>()类型的对象。1.TreeSet的泛型必须要实现Comparable的接口----有比较规则。HashSet的底层是HashMap 数组+链表+红黑树。无序 不允许重复(值唯一) 没有下标概念。可排序 不允许重复(值唯一) 没有下标概念。序 不允许重复(值唯一) 没有下标概念。HashMap 数组+链表+红黑树。

2024-06-18 16:12:22 124

原创 List集合

实现类ArraysListLinkedListVectorStack:有序 可重复 线程不安全:基于Object[]elementDate的数组来实现的3.适应范围:查找,遍历效率高 插入,删除效率低add(元素)添加元素到集合的末尾arrayList.add("123"将元素添加到指定的下标位置arrayList.add(0,"345"使用Arrays.asList(元素)方法可以快速的生成一个list集合,返回值为list集合list。

2024-06-18 14:20:17 852

原创 Linux 进程

进程是一个具有一定独立功能的程序在一个数据集的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。26380 pts/0 00:00:00 bash----对ps进行解析。ps -e 显示所有进程,包括没有控制终端的进程。ps -x 显示没有控制终端的进程。ps -u 显示用户名和显示时间。用来报告当前系统的进程状态。

2024-06-13 19:33:25 120

原创 Linux 介绍与基本命令

是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作系统,他能运行主要的UNIX工具软件,应用程序和网络协议,支持32位和64位硬件。ls -a或--all 显示目录下的所有文件包括隐藏文件-----以“.”开头的文件是隐藏文件 在计算机中称为声明。用户程序包含二进制文件,库文件,文档,和二级程序的源代码----重点记忆。ls -i或--inode 显示文件和目录的字节编号----以数字开头。

2024-06-12 09:37:07 342

原创 ArrayList的扩容机制

为避免频繁的扩容操作,初始化 ArrayList 对象时可以指定其容量大小,或者使用 ensureCapacity(int minCapacity) 方法预先设置其容量大小,以提高效率。ArrayList 是基于数组实现的动态数组,它提供了一种可以动态增长和缩减的数组结构。在 ArrayList 中,当数组存储的元素个数达到上限时,会触发扩容操作,以保证其容量能够存储更多的元素。扩容操作会创建一个新的大数组,并将原数组中的元素全部复制到新数组中;复制完元素后,会将指向原数组的引用更新为指向新数组的引用。

2024-05-15 21:27:16 249

原创 StringBuffer和StringBuilder的扩容机制

一次追加长度不仅超过初始容量,而且按照 当前容量*2+2 扩容一次也不够,其容量会直接扩容到与所添加的字符串长度相等的长度。StringBuffer和StringBuilder的扩容机制是一样的,因此分析一个即可,下面以StringBuffer为例。假设我现在调用了append(String str)方法,追加了一个字符串(char类型数组的长度无法容纳的字符串)。方法追加数据时,如果char类型数组的长度无法容纳我们追加的数据,类型数组的长度无法容纳我们追加的字符串的长度。指我们追加进来的字符串的长度,

2024-05-12 22:17:32 189

原创 HashMapd的扩容机制

首先判断此结点是否为空,是否就是要找的值,是则返回空,否则判断第二个结点是否为空,是则返回空,不是则判断此时数据结构是链表还是红黑树。//先和第一个结点比,hash值相等且key不为空,key的第一个结点的key的对象地址和值均相等。//如果key和第一个结点不匹配,则看.next是否为空,不为null则继续,为空则返回null。//如果此时是红黑树的结构,则进行处理getTreeNode()方法搜索key。//是链表结构的话就一个一个遍历,直到找到key对应的结点,//则返回第一个结点。

2024-03-25 22:11:53 723

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除