自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试题:操作系统临界区,临界资源,信号量

信号量就是一个变量,用来记录系统中某种资源的数量。可以用p,v操作,操作信号量。一个时间段内只允许一个进程访问的资源称为临界资源。访问临界资源的代码称为临界区。

2022-08-21 10:23:06 571 1

原创 juc中什么是锁的公平性

synchronize是非公平锁,lock是默认非公平锁,可以设置成公平锁。当锁释放的时候,线程如果按进入阻塞队列的顺序获取资源,则称为公平锁。如果一拥而上,谁抢到算谁的,就称为非公平锁。

2022-08-14 16:35:18 269

原创 面试题:物理层,数据链路层,网络层分别有那些设备,以及传输数据的基本单位

物理层:集线器,中继器数据链路层:网桥,二层交换机网络层:路由器

2022-05-19 11:26:07 741

原创 面试题:如何保证缓存与数据库双写时的数据一致性?

背景:使用到缓存,无论是本地内存做缓存还是使用 Redis 做缓存,那么就会存在数据同步的问题,因为配置信息缓存在内存中,而内存时无法感知到数据在数据库的修改。这样就会造成数据库中的数据与缓存中数据不一致的问题。共有四种方案:先更新数据库,后更新缓存先更新缓存,后更新数据库先删除缓存,后更新数据库先更新数据库,后删除缓存第一种和第二种方案,没有人使用的,因为第一种方案存在问题是:并发更新数据库场景下,会将脏数据刷到缓存。第二种方案存在的问题是:如果先更新缓存成功,但是数据库更新失败,则肯定

2022-05-18 15:33:34 544

原创 如何将剪贴板中的内容复制到linux的vim中

1.按i进入insert模式2.使用shift+insert键,即可将你在windows系统中复制的内容粘贴到linux系统中

2022-04-21 20:09:47 2529

原创 分布式和集群的区别

相同点:都是有多台机器不同点:分布式是每台机器上部署不同的组件,集群是每台机器部署相同的组件

2022-04-20 11:11:50 140 1

原创 RabbitMQ学习笔记(参考黑马程序员)

一,MQ的基本概述1.1概述1.2 MQ的优势和劣势

2022-03-20 17:13:51 7201

原创 String.format()如何使用

举例说明,把i换成url里面的%d

2022-03-09 16:13:55 101

原创 kafka入门(b站尚硅谷)

105.kafka公司会对前端页面的一些点赞,浏览,评论等数据放到日志服务器里面,然后从日志服务器传到hadoop,但是如果日志服务器新增的速度超超过了hadoop上传速度就需要kafka作为消息队列过渡一下。...

2022-03-01 11:26:24 1313

原创 workspace.xml的位置

2022-02-24 18:31:32 1168

原创 mysql8配置文件位置

2022-02-20 11:31:32 1829

原创 intern方法学习

一,jdk1.8中:二,jdk1.6中

2021-12-27 16:45:21 146

原创 面试题:什么是用户态和内核态

由用户态变为内核态称为trap(内陷指令)

2021-12-20 11:12:27 243

原创 面试题:死锁产生的条件以及如何处理死锁

一,死锁产生的条件二,如何处理死锁

2021-12-20 11:11:40 82

原创 面试题:如何优化一个查询慢的语句

2021-12-20 11:10:04 107

原创 力扣128:最长连续序列

一,题目描述二,代码(有注解)在这里插入代码片

2021-12-20 11:01:09 82

原创 面试题:synchronized 和 volatile 的区别是什么

volatile 本质是在告诉 JVM 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取; synchronized 则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。volatile 仅能使用在变量级别;synchronized 则可以使用在 变量. 方法. 和类级别的volatile 仅能实现变量的修改可见性,不能保证原子性;而synchronized 则可以 保证变量的修 改可见性和原子性volatile 不会造成线程的阻塞;synchronized 可能会造成线.

2021-12-20 10:55:05 181

原创 面试题:自定义类加载器

2021-12-20 10:48:18 100

原创 SpringCloud常用组件

2021-12-20 09:57:02 87

原创 虚引用介绍

2021-12-19 21:12:53 194

原创 剑指offer 03: 数组中重复的数字

题目描述:思路创建一个数组n,遍历nums数组,比如nums[0]是3,那么n[3]++,然后找到n数组中大于等于2的值,返回n的下标即可;代码class Solution { public int findRepeatNumber(int[] nums) { int[] n= new int[nums.length]; for(int i=0;i<nums.length;i++){ n[nums[i]]++;

2021-12-19 18:57:28 50

原创 剑指offer 09:用两个栈实现队列

题目描述:思路(1)一个栈用于入队一个栈用于出队(2)入队时直接压入栈1(3)出队时候如果栈1和栈2都是空返回-1,如果栈2为空,把栈1所有元素压入栈2,然后弹出栈2顶部元素代码class CQueue { Stack<Integer> s1; Stack<Integer> s2; public CQueue() { s1=new Stack<>(); s2=new Stack<>();

2021-12-19 17:34:18 43

原创 Linux命令学习(用于诊断生产环境变慢)

top主要看load average和cpu,内存

2021-12-19 17:15:51 425

原创 Redis内存淘汰策略

默认是最后一个,不淘汰内存返回错误Redis过期键删除策略定时删除:惰性删除:定期删除:可能出现的问题:内存淘汰策略生产中主要还是用allkeys-lru

2021-12-19 16:56:56 408

原创 阻塞队列的学习

为什么用?有什么好处?架构BlockingQueue下面有七个实现类:阻塞队列常用方法SynchronousQueue

2021-12-19 16:18:30 66

原创 对于事务特性的深入理解:ACID

2021-12-19 11:52:10 78

原创 对于MVCC的理解

第一部分第二部分第三部分

2021-12-19 10:46:53 47

原创 面试题:MySQL优化

2021-12-19 09:37:41 490

原创 索引下推的理解

将条件过滤从server层下推到存储引擎层叫索引下推

2021-12-19 09:30:42 87

原创 剑指offer68:二叉树的最近公共祖先

一,题目描述二,思路和代码递归找到左子树中等于null或者q或者p节点,递归找到右子树等于null或者p或者q的节点,(1)如果左边,右边递归结果都不等于null返回root(2)如果左边递归结果等于null返回右边(3)如果右边递归结果等于null返回左边class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root==null

2021-12-18 20:51:40 469

原创 力扣148:排序链表

一,题目描述public class Solution { /** * 归并排序 * @param head ListNode类 the head node * @return ListNode类 */ public ListNode sortInList (ListNode head) { if(head==null||head.next==null){ return head; }

2021-12-18 20:44:07 190

原创 万维网和HTTP协议

2021-12-18 20:13:43 117

原创 DNS域名解析系统

2021-12-18 19:54:13 1188

原创 注解学习(参考尚硅谷视频)

一,概述二,示例

2021-12-17 21:55:04 76

原创 面试题:命名管道和匿名管道的区别

1.匿名管道只能是具有血缘关系的进程之间通信,命名管道可能实现任意两个进程之间的通讯2.匿名管道只能半双工通讯,命名管道可以全双工通讯

2021-12-17 21:38:01 462

原创 反射的学习(参考尚硅谷视频)

一,反射概述二,补充(静态语言和动态语言)三,反射的功能四,反射相关主要API因为类都有属性方法那些东西,所以又抽象出来了类的类

2021-12-17 21:36:48 65

原创 MySQL索引设计的原则

(1)对于经常查询的字段,建议创建索引。(2)索引不是越多越好,一个表如果有大量索引,不仅占用磁盘空间,而且会影响INSERT,DELETE,UPDATE等语句的性能。(3)避免对经常更新的表进行过多的索引,因为当表中数据更改的同时,索引也会进行调整和更新,十分消耗系统资源。(4)数据量小的表建议不要创建索引,数据量小时索引不仅起不到明显的优化效果,对于索引结构的维护反而消耗系统资源。(5)不要在区分度低的字段建立索引。比如性别字段,只有 “男” 和 “女” ,建索引完全起不到优化效果。(6)当唯

2021-12-17 20:41:58 79

原创 MySQL复杂语句如何优化

1.使用EXPLAIN关键词检查SQL。EXPLAIN可以帮你分析你的查询语句或是表结构的性能瓶颈,就得EXPLAIN 的查询结果还会告诉你你的索引主键被如何利用的,你的数据表是如何被搜索和排序的,是否有全表扫描等;2.查询的条件尽量使用索引字段,如某一个表有多个条件,就尽量使用复合索引查询,复合索引使用要注意字段的先后顺序。3.多表关联尽量用join,减少子查询的使用。表的关联字段如果能用主键就用主键,也就是尽可能的使用索引字段。如果关联字段不是索引字段可以根据情况考虑添加索引。4.尽量使用limi

2021-12-17 14:26:42 901

原创 面试题:物理地址和逻辑地址区别

2021-12-16 14:54:13 152

原创 tcp和udp对应的应用层协议

2021-12-16 14:53:20 1032

空空如也

空空如也

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

TA关注的人

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