自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java面试题目学习笔记(二)

常见面试题和答案 synchronized 和 ReentrantLock 区别是什么? 1.等待可中断,持有锁的线程长期不释放的时候,正在等待的线程可以选择放弃等待,这相当于Synchronized来说可以避免出现死锁的情况。通过lock.lockInterruptibly()来实现这个机制。 2.公平锁,多个线程等待同一个锁时,必须按照申请锁的时间顺序获得锁,Synchronized锁非公...

2019-09-23 16:52:57 200

原创 java面试题目学习笔记(一)

Java多线程和并发

2019-09-22 18:31:41 226

原创 Java多线程和并发面试学习笔记

Java多线程和并发基础概念:tcp的滑动窗口:HTTP的主要特点:HTTP的响应步骤:在地址栏中键入URL,回车之后的流程:解析URL:HTTP状态码:GET和POST的区别Cookie和Session的区别HTTP和HTTPS的区别Socket 基础概念: RTT: 发送一个数据包到收到对应的ACK所花费的时间 RTO:重传时间间隔。 其中RTO是根据RTT所计算得出的,并且TCP的滑动机制也...

2019-09-21 16:22:56 145

原创 java GC 垃圾回收机制 面试相关学习笔记

java GC 垃圾回收机制java对象被判定为垃圾的标准 :垃圾回收算法:新老收集器之间的关系:GC相关的面试题: java对象被判定为垃圾的标准 : 该对象没有被其他对象引用; 判断方法: 1.引用计数算法 2.可达性分析算法 可达性分析算法 通过GCRoot算法的根节点开始遍历不可达的对象,就被判定为垃圾,可以回收 垃圾回收算法: 1.标记清除算法 因为清除不连续可能会产生大量的碎...

2019-09-20 17:15:44 124

原创 jvm面试相关学习笔记

redis学习笔记redis的基本数据类型 :如何从海量数据中查找某些固定前缀的key:分布式锁需要解决的问题:如何通过Redis实现分布式锁:如何使用Redis做异步队列:redis如何做持久化:自动触发RDB持久化的方式:AOF和RDB的优缺点PipelineRedis的同步机制Redis SentinelGossip流言协议Redis集群的原理 redis的基本数据类型 : String:s...

2019-09-20 15:49:19 109

原创 linux面试常考语句学习

Linux如何查找指定文件 :检索文件内容:对文件内容做统计:批量替换文本内容: 如何查找指定文件 : find 在指定目录下查找文件 查找全局下的target.java文件 查找当前用户home下的所有target打头的文件 忽略大小写 检索文件内容: grep : 查找文件内容(可以与管道结合相使用) 对文件内容做统计: awk: 一次读取一行文本,按输入分隔符进行切片,将切片直接保存...

2019-09-19 17:01:17 252

原创 面试redis常考点学习笔记

redis学习笔记redis的基本数据类型 :如何从海量数据中查找某些固定前缀的key:分布式锁需要解决的问题:如何通过Redis实现分布式锁:索引的数据结构:B-Tree:B+ -Tree:B+Tree更适合用来做索引的原因Hash索引的缺点BitMap密集索引和稀疏索引的区别如何定位并且优化慢查询sql联合索引最左匹配原则的成因索引是越多越好吗?锁的基础类型MyISAM和InooDB适用场景数...

2019-09-19 15:43:58 125

原创 准备面试数据库学习日记

数据库学习笔记基础模块:如何设计一个关系化数据库:为什么要使用索引:什么样的信息成为索引:索引的数据结构:B-Tree:B+ -Tree:B+Tree更适合用来做索引的原因Hash索引的缺点BitMap密集索引和稀疏索引的区别 基础模块: 存储模块,程序实例(存储管理,缓存机制,sql解析,日志管理,权限划分,容灾机制,索引管理,索管理) 如何设计一个关系化数据库: 首先将其划分成两大部分,首先存...

2019-09-16 16:14:40 178

原创 HTTP和tcp滑动窗口学习笔记

TCP的滑动窗口和HTTP基础概念:tcp的滑动窗口:HTTP的主要特点:HTTP的响应步骤:在地址栏中键入URL,回车之后的流程:解析URL:HTTP状态码:GET和POST的区别Cookie和Session的区别 基础概念: RTT: 发送一个数据包到收到对应的ACK所花费的时间 RTO:重传时间间隔。 其中RTO是根据RTT所计算得出的,并且TCP的滑动机制也是在TCP的确认重传的基础上的 ...

2019-09-16 09:50:20 1422

原创 UDP与TCP区别学习笔记

tcp 三次握手笔记tcp四次挥手流程:为什么需要三次握手才能建立连接?首次握手隐患--SYN超时在连接建立后客户端出现故障怎么办? tcp四次挥手流程: 首先由客户端主动向服务器端发送close请求 为什么需要三次握手才能建立连接? 主要是因为需要确认双方的Sequence Number 就是使客户端和服务器端的双方的起始序号得以确定,这样才保证传输的安全性和稳定性。 首次握手隐患–SYN超时...

2019-09-10 17:46:38 82

原创 tcp三次握手学习笔记

tcp 三次握手笔记tcp三次握手流程:为什么需要三次握手才能建立连接?首次握手隐患--SYN超时在连接建立后客户端出现故障怎么办? tcp三次握手流程: 首先客户端会主动打开对话链接 ,向服务器开始请求服务器被动打开对话链接: 第一次握手:客户端发出请求SYN包,并且将自己的起始序号发出(seq=x),进入SYN_SEND状态等待回应。 第二次握手:服务端收到SYN包,挺尸自己回复一个SYN,...

2019-08-28 21:51:08 89

原创 leetcode算法练习8_单词拆分 II

单词拆分 II说明:示例 1:示例 2:解析:代码: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = “catsanddog” wordDict = [“cat”, “cats”,...

2019-08-23 16:18:25 225

转载 leetcode算法练习7_单词拆分

单词拆分说明:示例 1:示例 2:解析:代码: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = “leetcode”, wordDict = [“leet”, “code”] 输出: true 解释: 返回 t...

2019-08-22 17:35:46 165

转载 leetcode算法练习6_分割回文串

分割回文串说明:示例 1:解析:代码: 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 说明: 本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “aab” 输出: [ [“aa”,“b”], [“a”,“a”,“b”] ] 解析: 解题思路就是 DFS,用一个boolean[] 数组记录当前可分割的位置,每一次深搜的过程都是找下一...

2019-08-21 17:43:39 84

转载 leetcode算法练习5_验证回文串

验证回文串说明:示例 1:示例 2:解析:代码: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明: 本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 示例 2: 输入: “race a car” 输出: false 解析: 本题简单的回文数判断,可以使用Stri...

2019-08-20 18:13:36 76

转载 leetcode算法练习4_合并两个有序数组

合并两个有序数组说明:示例 :解析:代码: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例 : 输入: nums1 = [1,2,3,0,...

2019-08-20 10:49:49 108

转载 leetcode算法练习3_搜索二维矩阵 II

搜索二维矩阵 II示例 :解析:代码: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 : 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 1...

2019-08-19 20:47:02 150

原创 leetcode算法练习2_线性时间复杂度求众数

求众数说明:示例 1:示例 2:解析:代码: 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 要求时间复杂度为线性时间复杂度 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,...

2019-08-19 17:32:33 485

原创 leetcode算法练习1_只出现一次的数字

只出现一次的数字说明:示例 1:示例 2:解析:代码: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。 找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 解析: 如果仅仅使用线性时间复杂度,那么就需要考虑使用异或的...

2019-08-19 09:05:37 61

空空如也

空空如也

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

TA关注的人

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