自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (9)
  • 论坛 (1)

原创 【操作系统】 - Operation System 第一、二章 基础概念

顶会:osdi sosp

2020-09-29 10:05:59 43

原创 算法 - 常用技巧

动态维护区间352. 将数据流变为多个不相交区间https://leetcode-cn.com/problems/data-stream-as-disjoint-intervals/

2020-08-23 21:04:23 29

原创 动态规划的框架(套路), 总结

动态规划题目千变万化,很多人刚入门时候都觉得非常难以理解,题目越做越挫,越做打击越大,看着别人的题解,心里只能默念一句卧槽,这都能写出状态方程! 走了那么多弯路,才发现问题所在,主要原因是因为基础的东西没掌握好,力扣上很多题目都是从这些基础的套路演变出来的,把基础问题的状态方程掌握和理解好,自己自然也就能写出其他题目的状态方程了。 所谓一生二,二生三,三生万物,把这一、...

2019-12-23 17:09:37 364

原创 基础算法 - 树的直径

题目地址:https://leetcode-cn.com/problems/tree-diameter/1245. 树的直径难度中等48收藏分享切换为英文接收动态反馈给你这棵「无向树」,请你测算并返回它的「直径」:这棵树上最长简单路径的边数。我们用一个由所有「边」组成的数组edges来表示一棵无向树,其中edges[i] = [u, v]表示节点u和v之间的双向边。树上的节点都已经用{0, 1, ..., edges.length}中的数做了标记,每个节点上的标记都...

2020-10-15 16:54:10 13

原创 【操作系统】 - Operation System 第十章 信号量和管程

以下内容全部是B站 的陈老师视频的课程总结,https://www.bilibili.com/video/av6538245?p=73,感谢UP主感谢陈老师10.1 信号量和管程10.1.1 为什么需要信号量 回顾一下lock能解决并发问题中竞争条件(竞态条件)对资源的争夺 但是lock不能解决同步问题,需要更高级的方式实现同步(包括多线程共享公共数据的协调执行;互斥与条件同步的实现(互斥是指同一时间只能有一个线程可以执行临界区)) 同步的实现需要高层次的编程抽象(例如锁)...

2020-09-30 14:54:12 59

原创 【操作系统】 - Operation System 第九章 同步

9.1 同步注意事项:无论多个线程的指令序列怎样交替执行,程序都必须正常工作->多线程程序具有不确定性和不可重现的特点->不经过专门设计,调试难度很高不确定性要求并行程序的正确性->先思考清楚问题,把程序的行为设计清楚->切忌急于着手编写代码,碰到问题再调试9.2 一些概念(1)竞态条件Race condition系统缺陷:结果依赖于并发执行或事件的顺序:不确定性,不可重现避免竞态:让指令不被打断9.3 一些概念待补充完整参考资料https:

2020-09-30 14:46:48 18

原创 【操作系统】 - Operation System 第八章 CPU调度

8.1 背景 CPU调度8.1.1 上下文切换:切换CPU的当前任务,从一个进程/线程转换到另一个进程/线程; 但是切换之前要保护现场,保存当前进程/线程在PCB/TCP中的执行上下文(也就是CPU的状态); 切换任务,当然要读取下一个进程/线程的上下文。8.1.2 CPU调度:从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个进程/线程; 需要调度程序(挑选进程/线程的内核函数); 需要考虑的问题是 调度的时机。8.1.3 在进程/线程生命周期的什么时候进行调度? ..

2020-09-30 14:44:52 41

原创 【操作系统】 - Operation System 第七章 进程和线程

7.1 进程的定义 进程(process)描述 进程状态(state) 线程(thread) 进程间通信(inter-process communication) 进程互斥与同步 死锁(deadlock)(1)进程的定义 一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。7.2 进程的组成(1)一个进程应该包括 程序的代码 程序处理的数据 程序计数器的值,指示下一条将运行的指令 一组通用的寄存器的当前值,堆,栈...

2020-09-30 14:25:46 25

原创 【操作系统】 - Operation System 第六章 页面置换算法

6.1 最优页面置换算法 目录(1)功能目标 功能:当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。 目标:尽可能减少页面的换入换出次数(即缺页中断的次数)。把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理的指导下依据过去的统计数据来进行预测。 页面锁定(frame locking):用于描述必须常驻内存的操作系统的关键部分或时间关键(time-critical)的应用进程。实现方法是,在页表中添加锁定标志位(lock...

2020-09-30 14:15:01 24

原创 【操作系统】 - Operation System 第五章 虚拟内存

5.1 虚拟内存的起因(1)目录 起因 覆盖技术(早期)/交换技术(早期)/虚存技术 虚拟内存技术:目标/程序局部性原理/基本概念/基本特征/虚拟页式内存管理(2)起因 经常出现内存不够了。程序规模的增长大于存储器容量的增长。 理想的存储器:更大,更快,更便宜,非易失性存储。 实际的存储器: 把硬盘的空间也用上(扮演内存的作用) 不常用的放在硬盘上,常用的放在内存上。(3)在计算机系统中,尤其是在多道程序运行的环境中,可能会出现内存不够...

2020-09-30 11:36:42 14

原创 【操作系统】 - Operation System 第四章 非连续式内存分配

4.1 非连续内存分配:分段 (1)非连续内存分配的原因 连续内存分配(上一节内容)的缺点: 分配给一个程序的物理内存是连续的 内存利用率低 有外碎片/内碎片问题 非连续内存分配的优点 分配给一个程序的物理内存是非连续的 更好的内存利用和管理 允许共享代码和数据(共享库等) 支持动态加载和动态链接 非连续内存分配的缺点 如何建立虚拟地址和物理地址之间的转换 软件方案(开销大) 硬件方案 两种硬件方案...

2020-09-29 16:41:56 26

原创 【操作系统】 - Operation System 第三章 连续式内存分配

3.1 计算机体系结构及内存分层体系 (1)计算机体系结构CPU 内存 I/O (2)操作系统在内存管理要完成的目标 抽象:逻辑地址空间 保护:独立地址空间 共享:访问相同内存 虚拟化:更多的地址空间 (3)操作系统实现内存管理目标的手段 程序重定位 分段 分页 虚拟内存 按需分页虚拟内存3.2 地址空间与地址生成 (1)地址空间的定义 物理地址空间:硬件支持的地址空间 逻辑地址空间:一个运行的程序...

2020-09-29 15:47:54 28

原创 JAVA - 线程池

https://www.jianshu.com/p/c9b97d2a9abc

2020-09-28 19:23:58 18

原创 mysql 计数器设计, update 锁表情况测试

测试环境数据库的隔离级别为 rc(READ COMMITTED) 设置数据库隔离级别show variables like '%isolation';SET session TRANSACTION ISOLATION LEVEL READ COMMITTED;SET session TRANSACTION ISOLATION LEVEL REPEATABLE READ;set global transaction isolation level REPEATABLE REA...

2020-09-10 17:30:28 32

原创 数据库 - 普通索引\唯一索引 和 change buffered\redo log

假设你在维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证不会写入两个重复的身份证号。如果市民系统需要按照身份号查询信息,就会执行类似这样的SQL语句:select name from CUser where id_card = 'xxxxxxxyyyyyyzzzzz'; 所以,你一定会考虑在id_card字段上建索引。 由于身份证号字段比较大,我不建议吧身份证号当做主键,那么现在有两个选择,要么给id_card字段创建索引,要么创建一个普通索引。如果...

2020-09-01 10:30:36 23

原创 JAVA - 线程池问题汇总

1. JAVA线程是内核级线程,还是用户级线程 "内核控制线程"是对java线程的描述。 在windows操作系统下, 启动java线程池, 资源监控是能感知到线程的创建的, 所以java线程不是纯用户级线程。 证明java线程不是纯粹用户级线程:java中有个fork join框架,这个框架是利用多处理技术进行maprudce的工作,也就证明了内核是可以感知到用户线程的存在,因此才会将多个线程调度到多个处理器中。还有,java应用程序中的某个线程阻塞,是不会引起整个进程的...

2020-08-14 17:29:58 26

原创 KMP - 字符串匹配 - 使用技巧

一. 使用KMP查找最长回文前缀的长度例如: 求字符串catacb的最长回文前缀的长度技巧: 假设字符串为s, 求s + # + reverse(s) 的ne数组求得最后的ne数组的值为5, 那么5刚好就是最长回文前缀的长度时间复杂度: O( 2 * n )题目: leetcode 214 最短回文串...

2020-08-07 16:25:51 32

原创 倍增算法

题目树节点的第 K 个祖先来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-ancestor-of-a-tree-node给你一棵树,树上有 n 个节点,按从 0 到 n-1 编号。树以父节点数组的形式给出,其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。请你设计并实现 getKthAncestor(int node, int k) 函数,函数返回节点 node 的第 k 个祖先节点。如果不存在..

2020-07-29 12:32:23 49

转载 Redis 常见问题

一、什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么? 持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。 Redis 提供了两种持久化方式:RDB(默认)和AOF . RDB: rdb是Redis DataBase缩写 功能核心函数rdbSave(生成RDB文件)和rdbLoad(从文件加载内存)两个函数 AOF: Aof是Append-only...

2020-07-17 11:43:12 59

转载 Mysql 数据库问题汇总

一、什么是回表 下面是知乎大佬的回答。 MySQL innodb的主键索引是簇集索引,也就是索引的叶子节点存的是整个单条记录的所有字段值,不是主键索引的就是非簇集索引,非簇集索引的叶子节点存的是主键字段的值。回表是什么意思?就是你执行一条sql语句,需要从两个b+索引中去取数据。举个例子: 表tbl有a,b,c三个字段,其中a是主键,b上建了索引,然后编写sql语句 SELECT * FROM tbl WHERE a=1 这样不会产生回表,因为所有的数据在a...

2020-07-11 11:22:56 70

转载 Elastic Search 问题汇总

1. 什么是ElasticSearch?Elasticsearch是一个基于Lucene的搜索引擎。它提供了具有HTTP Web界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎。Elasticsearch是用Java开发的,根据Apache许可条款作为开源发布。2. 为什么要使用Elasticsearch?​   --3. Elasticsearch中的倒排索引是什么? 网上看到的一篇文章,对Lucene的倒排索引是如何执行的,说的比较易懂,就转过来分享下。...

2020-07-03 15:33:30 88

转载 ES SQL 官网资料 - 阅读有困难的加了翻译 - 我只是官网的搬运工

官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/6.6/sql-overview.htmlElasticsearch SQL aims to provide a powerful yet lightweight SQL interface to Elasticsearch. Introduction Elasticsearch SQL is an X-Pack component that allows SQ...

2020-07-01 10:54:53 102

转载 ES基本概念及废除type 官网资料 - 阅读有困难的加了翻译 - 我只是官网的搬运工

ES官网:https://www.elastic.co/Basic Concepts There are a few concepts that are core to Elasticsearch. Understanding these concepts from the outset will tremendously help ease the learning process. Near Realtime (NRT)Elasticsearch is a near-...

2020-07-01 09:26:00 74

原创 Elastic Search 资料索引

官网https://www.elastic.co/cn/JAVA 客户端资料 rest-high-level-clienthttps://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/index.html常用命令查看节点curl -u 905:b9hDgXW3o8BfzxN http://55.10.30.233:8200/添加数据POST li03_msg_rdx/docs{...

2020-06-30 16:57:56 75

原创 动态规划 - 笔记

class Solution { public boolean isMatch(String s, String p){ StringBuilder sb = new StringBuilder(); char[] cs = p.toCharArray(); for(int i = 0; i < cs.length; i++){ while(i < cs.length - 1 && cs[...

2020-06-30 14:37:18 76

原创 动态规划 - Dp - 最长上升子序列

LeetCode -面试题 17.08. 马戏团人塔 dp暴力做法 - 超时 O (N ^ 2)class Solution { public int bestSeqAtIndex(int[] height, int[] weight) { int n = height.length; if(n == 0) return 0; int[] dp = new int[n + 1]; ...

2020-06-27 16:38:42 56

原创 基于@Aspect的AOP

一、execution表达式首先,先简单了解下execution表达式例如:execution(* com.sample.service.impl..*.*(..))解释如下:符号 含义 execution() 表达式的主体 第一个" *"符号 表示返回值的类型任意 com.sample.service.impl AOP所切的服务的包名,即,我们的业务部分 包名后面的" .." 表示当前包及子包, 一个点的话表示当前包 第二个"*" .

2020-05-30 12:18:44 63

原创 基础算法四 - 数学基础

1. 求1 ~ n中约数的个数2. 字符串hashP = 131 或 13331数组int[] h, ph[i] 为字符串hash值的前缀和 h[i] = h[i - 1] * P + w.charAt(i - 1); //w.charAt(i - 1)实际上是第i个字符p[0] = 1; p[i] = p[i - 1] * P;cong下标L到R的字符串...

2020-05-06 21:17:11 73

原创 基础算法三 - 搜索与图论

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-05-03 10:08:29 195

原创 Acwing - 基础算法模板

快排, patition返回值的那个数是排序好的import java.util.*;class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = ne...

2020-04-11 21:43:35 386

原创 Spring原理

2020-04-05 21:53:24 49

原创 二叉树的前、中、后序遍历模板 - 迭代版

前序遍历:public List<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> rs = new ArrayList<>(); Stack<TreeNode> stack = new Stack(); while(ro...

2020-03-28 16:26:23 148

原创 字典树(Trie Tree)java 模板

class Trie { /** Initialize your data structure here. */ TrieNode root; public Trie() { root = new TrieNode(); } /** Inserts a word into the trie. */ public void ...

2020-03-28 16:21:32 81

原创 力扣刷题笔记

C类型题:76 (slide windows)

2020-02-13 15:17:57 246

原创 leetcode刷题----数组子集--回溯算法

78 public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> list = new ArrayList<>(); Arrays.sort(nums); backtrack(list, new A...

2020-01-22 16:42:44 103 1

原创 算法 - 双端队列结构 - JAVA

一、为什么双端队列和双向链表是同一个数据结构双端队列:就是Java里自带的:LinkedList list = new LinkedList();为什么java要把队列和双向链表弄成一个数据结构呢?我们来假设双端队列是一个数据结构,双向链表也是单独一个数据结构。对比双端队列和双向链表主要提供方法:双端队列 双向链表 1. 头结点的入队、出队 1.头节点的新...

2019-11-03 10:12:56 54

原创 LeetCode刷题笔记-JAVA

非科班艰难的刷题之路,目前刷到200题,本文记录技巧性较高的题目。Round 1 713. 乘积小于K的子数组给定一个正整数数组nums。找出该数组内乘积小于k的连续的子数组的个数。示例 1:输入: nums = [10,5,2,6], k = 100输出: 8解释: 8个乘积小于100的子数组分别为: [10], [5], [2], [6], [10,5], [...

2019-11-02 22:23:13 48

原创 算法-MANACHAR 求最长回文串 JAVA版本

一、背景 Manachar主要是为了处理回文串问题,回文串的定义不再赘述。一般来讲,判定一个字符串中的子串是否是回文串,常规的方法是遍历字符串的每一个字符,然后向左右扩展,这样可以判定是否是回文串、回文串的长度,以及字符串中最长的回文子串是什么。这样的方法比较暴力,算法复杂度是O(n2),实际使用上是比较慢了。1975年,Manachar发明了Manachar算法,能以的算法复杂度O(n...

2019-10-27 21:37:16 49

原创 算法 - TOP-K (BFPRT算法) JAVA版本

一、背景在一大堆数中求其前k大或前k小的问题,简称TOP-K问题。而目前解决TOP-K问题最有效的算法即是BFPRT算法,其又称为中位数的中位数算法,该算法由Blum、Floyd、Pratt、Rivest、Tarjan提出,最坏时间复杂度为O(n)O(n)。在首次接触TOP-K问题时,我们的第一反应就是可以先对所有数据进行一次排序,然后取其前k即可,但是这么做有两个问题:(1):快速排...

2019-10-27 12:07:47 273

原创 算法-KMP(看毛片) JAVA版本

紧用来记录自己理解并且能手撸的代码,已过leetcode题目所有测试案例public class KMP { public int[] next(char[] str2){ if(str2.length == 1){ return new int[]{-1}; } int[] next = new int[st...

2019-10-24 22:17:10 11860

计算机网络面试总结.rar

计算机网络面试题, 常考点, 必掌握点, 面试必备

2020-07-08

Db2双库连接, SpringBoot

SpringBoot db2项目, 基于SMM框架。。

2020-02-27

springboot-db2-ibmmq框架

springboot-mybatis-db2-ibmmq框架

2019-11-15

项目管理.rar

团队项目管理模板,excel,项目计划,高档,霸气,上档次。

2019-07-30

redis-desktop-manager-0.8.8.384.exe.zip

Redis客户端,redis-desktop-manager-0.8.8.384.exe.zip

2019-07-18

jsoup-1.9.2.rar

ssh-1 , 古董依赖

2019-05-09

大数据时代

大数据时代,公司推荐阅读的书本,5星指数,学习大数据入门必读。。

2018-09-01

图解HTTP彩色PDF下载

图解HTTP彩色版PDF下载,高清彩色,非常适合网络小白入门

2018-09-01

SecureCRT8.0破解版(含注册机+64位+32位).rar

免费破解版SecureCRT8.0,在未启动的情况下,根据提示patch两次即可直接使用。(请记住安装文件目录)

2017-06-19

CSDN专栏BUG

发表于 2018-04-26 最后回复 2018-04-27

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