自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IMultiDataAccess使用多级缓存

批量获取数据,多级存储结构(或者缓存)筛选。每一级数据缓存都有可以配置回流。

2024-04-10 17:31:59 254

转载 倒排索引是谁翻译的?

也常被称为反向索引、置入档案或反向档案,翻译成倒排索引,完全是一种翻译“错误”。只不过最初翻译的人,可能是相当正排序来翻译的,并不是根据字面意思来翻译的,随着大家都叫习惯了之后,倒排索引就流传开来了。比如,业余草,在不同的分词组建下,可能被分为:“业余,草”两个词,公众号也可能被分为“公众,号”。昨天,很多买了 Elasticsearch 的网友,在群里问:“Elasticsearch 中的索引为什么叫倒排索引?其中正排索引是这样的,在一篇文章中,我们去找某些关键字,这叫正排索引。倒排:关键词——>文档。

2024-02-28 11:09:27 11

原创 向前兼容,向后兼容,翻译的败笔

在计算机科学中,"forward compatibility"(向前兼容性)指的是旧版本的软件或硬件能够支持新版本的特性和功能,这通常需要旧版本的产品预见到未来的变化,因此在实际中很少见。在计算机科学中,"backward compatibility"(向后兼容性)指的是新版本的软件或硬件能够支持旧版本的特性和功能。直译有一个问题, 英语的"前后"在时间和空间上统一, 而汉语却是相反. 比如forward在空间上指前进, 在时间上指未来. 但是汉语中的"前"在空间上指前进, 在时间上却指过去.

2024-01-31 10:33:06 339

原创 Redis支持的数据结构

介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式而分布式一般遵循 CAP 定理。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是。

2023-05-15 20:35:18 55

原创 随机读写的误解

长期以来,我们一直都会说XXX文件系统支持随机读写,XXX数据结构或XXX开源项目支持随机访问,这种称为随机XX的叫法,其实是一种错误的说法,如果你是一位真正了解"随机读写或随机访问"的人,可能并不是太会在意这种说法,但是对于一些刚入行,或入行不久的朋友们来说,这种叫法会常常使我们感到十分迷惑和不解,按照我们汉语的方式理解,随机访问是指具有不确定性的访问,意思就是可能一会访问这里,又可能一会访问那里,而随机读写是指,随机的找一个位置,进行读取或写入数据。

2023-05-14 11:13:40 123

转载 mac-office-2019

盗版office还收费的情况,少的15元,多的40,甚至100.我确实被这些人恶心到了。一点尊重知识产权的意识都没有,作为一个程序员,我们深知开发的一款产品的艰难。微软这么多年,也为了改变世界而做出的努力,让人敬佩,但是有些蛀虫,确实那着别人东西牟利。下载这个office安装包,请使用迅雷下载,速度快。其实我们很多的文件都可以给链接拷过来,用迅雷下载,包括github上的项目。原文:https://blog.csdn.net/qq_31927785/article/details/88829095。

2023-05-14 11:08:03 188

原创 sring bean 的生命周期

如图,如果实现了各种接口。

2023-05-13 16:50:52 32

原创 springboot启动流程

原文链接:https://blog.csdn.net/JokerLJG/article/details/121748109。

2023-05-13 16:29:53 19

原创 算法-DP-20230510

7,给个n,从1-n能组成多少二叉搜索树。

2023-05-11 15:59:39 24

原创 算法-贪心-20230509

从后遍历,左边比右边大,则左指针值加一,取Math,max(result[i], result[i+1] + 1)。遍历两遍,从前遍历,右边比左边大,则右边的指针加一个。费好大劲写出来,其实思路很简单。

2023-05-10 15:20:15 27

原创 算法-回溯-20230508

同层值相同的,并且前一个节点使用过,则剪枝。每次都从0开始遍历,单树每个元素使用一次。usesd数组,得好好理解。回溯一定是一进一出的。

2023-05-08 23:49:53 30

原创 算法打卡-二叉树-20230507

8.平衡二叉树,左右子树高度差

2023-05-07 22:02:16 27

原创 算法-栈-20230506

2.1 复杂度比较高,其实和使用一个队列效果一样,没有发挥两个队列的优势。6.1 队列,用了半天栈,超时。2.1 使用两个栈,一个保存逆序的队列。4. 消消乐-删除字符。6. 滑动窗口内最大值。

2023-05-06 17:33:18 24

原创 java学习JVM相关-20230505

5.2 加载:1.根据类的全路径名称生成对应的二进制字节流,2.将.class文件中的结构转换成方法区中类的结构,3:生成一个对应的Class对象。4.2 CMS : 初始标记(STW)、并发标记、重新标记(STW)、并发清除:标记清除。类加载时调用:父类静态变量初始化、父类静态语句块、子类静态变量初始化、子类静态语句块。父类变量初始化、父类语句块、父类构造函数、子类变量初始化、子类语句块、子类构造函数。5.1 类的生命周期:加载、连接(验证、准备、解析)、初始化、使用、卸载。2.5 执行init方法。

2023-05-06 08:48:24 28

原创 算法-字符串_20230504

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。链接:https://leetcode.cn/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

2023-05-04 21:26:21 50

原创 打卡算法-哈希表-20230504

链接:https://leetcode.cn/problems/happy-number。2.1 手写,用了set的内置方法,时间O(2*n + n),空间 O(4*n)然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。1.1 手写,hashmap 时间复杂度O(n) + 空间 O(n)对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。2.2 手写,用了一个set.时间O(n),空间 O(n)如果这个过程 结果为 1,那么这个数就是快乐数。,请你计算有多少个元组。

2023-05-04 16:43:28 63

原创 算法学习-链表_20230502

6.链表是否为环,并且环的交点。4.1 递归手写,好理解一些。2.手写链表的一些功能。5.删除倒数第n个节点。5.1 手写,边界复杂。1.1. 手写递归的。4. 链表值两两交换。

2023-05-02 23:27:16 107

原创 Java学习-20230502

IO多路复用:select/poll/epoll .select 一次可以查询多个系统调用的状态,在用户态操作,将fds 传给内核,查询是否就绪,但是内核态的复杂度是O(n)。epoll在内核态中存储了fd的信息,如果就绪会回调注册函数,将就绪的fd放到rdlist中。IO 多路复用模型中,线程首先发起 select 调用,询问内核数据是否准备就绪,等内核把数据准备好了,用户线程再发起 read 调用。目前支持 IO 多路复用的系统调用,有 select,epoll 等等。

2023-05-02 19:21:50 41

原创 Java面试算法——数组_20230501

有思考的呀,左闭右闭[low,max]区间内的二分法。4. 数组中最小连续数组和>=target的数组长度。左闭右开[low,max)区间内的二分法。3.1 手写O(2n)的归并。5.2 模拟,思路更多。3.2 题解的双指针。4.1 手写滑动窗口。5.1 手写,有些硬。

2023-05-02 00:52:33 89

原创 Java面试-20230501

如果我们把进程比喻为一个运行在电脑上的软件,那么一个软件的执行不可能是一条逻辑执行的,必定有多个分支和多个程序段,就好比要实现程序A,实际分成 a,b,c等多个块组合而成。一个时钟周期完成的指令数是固定的,所以主频越高,CPU的速度也就越快了。程序A得到CPU =》CPU加载上下文,开始执行程序A的a小段,然后执行A的b小段,然后再执行A的c小段,最后CPU保存A的上下文。先加载程序A的上下文,然后开始执行A,保存程序A的上下文,调入下一个要执行的程序B的程序上下文,然后开始执行B,保存程序B的上下文。

2023-05-01 20:52:39 37

原创 Java-算法初始台地-打卡20230430

设置初始的容量为0,put进去一条数据就开始扩容。并发get到的值为null。3.1 计算x的n次方,时间复杂度由O(n) - O(logn)3.2 计算斐波那契队列,由O(n^2) -> O(n)3.递归性能不一定好,计算递归时间复杂度需要注意。4 手写了快排,但是看了解释用双指针效果更好点。1.遇到HashMap 扩容导致Npe。2.算法复杂度O表示上限,但是不严格。

2023-05-01 13:31:25 33

原创 Java集合-打卡20230429

5.hashMap: 取余(%)操作中如果除数是 2 的幂次则等价于与其除数减一的与(&)操作(也就是说 hash%length==hash&(length-1)的前提是 length 是 2 的 n 次方;” 并且 采用二进制位操作 &,相对于%能够提高运算效率,这就解释了 HashMap 的长度为什么是 2 的幂次方。集合时,一定要注意当 value 为 null 时会抛 NPE 异常。List,Set,Queue继承自Collection。4.HashSet,底层实现是HashMap。

2023-04-30 17:22:33 27

原创 Java基础-打卡20230428

实际上,一般来说,hashcode相等,equals不相等的哈希冲突还能忍受,但是equals相等造成hashcode不相等,造成HashSet存放相同是一定不能忍受的,就是说,重写equals放宽return true的同时一定要重写hashcode放宽return 哈希码。如果重写hashcode,不重写equals,则会出现不同的hashcode-【不等的key】,但是逻辑上相等的对象在散列表中重复,hashset。jre java运行时环境,可以运行java程序,但不能创建编译java程序。

2023-04-28 22:36:30 57 1

原创 面经

面经1.hashmap底层实现说一下答:Node数组,Node的数据结构是一个链表或者是一个红黑树。hashmap的hash方法:使用传入key的hashcode与它的hashcode像左移16位的值异或,如果key值为null,则返回0;static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16

2021-05-26 19:18:01 130

转载 BlockingQueue中 take、offer、put、add的一些比较

(转自:https://blog.csdn.net/wei_ya_wen/article/details/19344939 侵删)在java多线程操作中, BlockingQueue<E> 常用的一种方法之一。在看jdk内部尤其是一些多线程,大量使用了blockinkQueue 来做的。 借用jdk api解释下: BlockingQueue 方法以四种形式出现,对于不...

2018-12-14 16:41:47 2188 1

转载 AOP(面向切面编程)的一些理解

解释一下什么叫AOP(面向切面编程)?答:AOP(Aspect-Oriented Programming)指一种程序设计范型,该范型以一种称为切面(aspect)的语言构造为基础,切面是一种新的模块化机制,用来描述分散在对象、类或方法中的横切关注点(crosscutting concern)。你是如何理解”横切关注”这个概念的?答:”横切关注”是会影响到整个应用程序的关注功能,它跟正常的业务逻辑是...

2018-06-11 09:47:08 1189

空空如也

空空如也

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

TA关注的人

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