![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 90
面试总结
德玛西亚!!
这个作者很懒,什么都没留下…
展开
-
计算机网络
文章目录OSI七层协议HTTP 和 HTTPS 什么区别?对称加密算法和非对称加密算法HTTP1.0、HTTP1.1、HTTP2.0HTTP长连接和短连接区别及应用场景TCP三次握手TCP四次挥手TCP和UDP有什么区别?及其适用的场景。TCP 协议如何保证可靠传输TCP重传滑动窗口和流量控制拥塞控制TCP 粘包ARQ协议在浏览器中输入url地址OSI七层协议1、应用层网络的具体应用应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进原创 2021-08-26 23:53:13 · 475 阅读 · 0 评论 -
mysql、jvm、基础
文章目录基础线程和进程基础线程和进程进程: 系统中运行的一个程序,每个进程都拥有独立的地址空间,一个进程无法访问另一个进程资源,如果想让一个进程访问另一个进程的资源,需要使用进程间通信。匿名管道:半双工,只能在父子进程间通信有名管道: 匿名管道由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了有名管道。有名管道可以在不同进程间通信共享内存 :使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新。这种方式需要依靠某种同步操作,如互斥锁和信号量原创 2021-08-21 18:31:29 · 390 阅读 · 0 评论 -
HashMap、synchronized
文章目录synchronized锁升级synchronized锁升级锁主要存在四种状态,依次是:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态。但是不能锁降级首先处于无锁状态的时候,来了一个线程,这个线程就持有锁了,将线程id插入到Markword中,同时修改偏向锁的标志位,就会把对象的对象头中偏向锁的状态设置成1,表示加上偏向锁,同时也可以看到哪个线程获得了该对象的锁。如果有其它线程进来的时候,首先会自旋...原创 2021-08-07 23:52:51 · 1441 阅读 · 0 评论 -
操作系统基础
文章目录操作系统基础原创 2021-07-10 13:51:34 · 78 阅读 · 0 评论 -
redis面试
文章目录面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)原创 2021-06-24 21:29:06 · 555 阅读 · 0 评论 -
设计模式总结
文章目录单例模式单例模式单例模式1、什么是单例模式单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。2、单例模式类型单例模式有两种类型:懒汉式:在真正需要使用对象时才去创建该单例类对象饿汉式:在类加载时已经创建好该单例对象,等待被程序使用饿汉式创建单例对象饿汉式在类加载时已经创建好该对象,在程序调用时直接返回该单例对原创 2021-06-03 15:05:51 · 332 阅读 · 0 评论 -
数据结构与算法
目录155.最小栈155.最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() ——检索栈中的最小元素。每个元素 a 与其相应的最小值 m 时刻保持一一对应。因此我们可以使用一个辅助栈,与元素栈同步插入与删除,用于存储与每个元素对应的最小值。当一个元素要入栈时,我们取当前辅助栈的栈顶存储的最小值,与当前元素比较得出最小值原创 2021-05-30 22:10:32 · 471 阅读 · 0 评论 -
动态规划解法
目录爬楼梯爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。本问题其实常规解法可以分成多个子问题,爬第n阶楼梯的方法数量,等于 2 部分之和爬上 n-1阶楼梯的方法数量。因为再爬1阶就能到第n阶爬上 n-2 阶楼梯的方法数量,因为再爬2阶就能到第n阶所以我们得到公式 dp[n] = dp[n-1] + dp[n-2]同时需要初始化 dp[1]=1 和 dp[2]=2当n小于等于2时原创 2021-05-29 15:38:04 · 503 阅读 · 0 评论 -
链表算法例题
删除链表的倒数第N个节点//我们弹出栈的第 n 个节点就是需要删除的节点,并且目前栈顶的节点就是待删除节点的前驱节点。class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dummy = new ListNode(0, head); Deque<ListNode> stack = new LinkedList<ListNode>(原创 2021-05-26 16:09:54 · 268 阅读 · 0 评论 -
计算机网络面试
目录域名解析的工作流程域名解析的工作流程原创 2021-05-25 11:37:55 · 1028 阅读 · 0 评论 -
排序算法总结
目录冒泡排序快速排序冒泡排序/** * 冒泡排序: * 1、一共进行数组的大小减一次大的循环, * 2、每一趟排序的次数在逐渐的减少, * 3、如果我们发现在某趟排序中,没有发生一次交换,可以提前结束冒泡排序。 * <p> * 时间复杂度:O(n^2) */ public static void bubbleSort(int[] arr) { int temp = 0; boolea原创 2021-05-24 14:26:22 · 148 阅读 · 0 评论 -
二叉树例题
二叉树的前中后层序遍历原创 2020-12-18 16:24:07 · 881 阅读 · 1 评论 -
question
文章目录java并发一、JAVA如何开启线程,怎么保证线程安全java并发一、JAVA如何开启线程,怎么保证线程安全线程和进程的区别: 进程是操作系统进行资源分配的最小单元,线程是操作系统有进行任务分配的最小单元,线程隶属于进程。如何开启线程:继承Thread类,重写run方法(由于Java只支持单继承,所以用继承的方式创建线程,不够灵活,所以不推荐使用继承Thread)实现Runnable接口,实现run方法,run()不可以抛出异常实现Callable接口,实现call方法,通过Futu原创 2021-04-22 20:47:36 · 279 阅读 · 0 评论 -
Java util cocurrent
文章目录AtomicIntegerAtomicIntegerAtomicInteger atomicInteger = new AtomicInteger; public final int getAndIncrement() { return unsafe.getAndAddInt(this, valueOffset, 1); } public final int getAndAddInt(Object var1, long var2, int var4) {原创 2021-04-20 11:24:58 · 144 阅读 · 1 评论 -
高并发
文章目录高并发高并发TPS (transaction per second) 每秒执行的事务数量用户每分钟执行6个事务,TPS为6 / 60s = 0.10 TPS。QPS(Queries-per-second) 每秒查询率=请求数/秒=总请求数 / ( 进程总数 * 请求时间 ) 单个进程每秒请求服务器的成功次数TPS与QPS有何区别事务:客户端发起请求到收到服务端最终响应的整个过程,这是一个TPS而在这个TPS中,为了处理第一次请求可能会引发后续多次对服务端的访问才能完成这原创 2021-04-18 22:53:28 · 86 阅读 · 0 评论 -
多线程总结
多线程Object o=new Obiect 在内存中占多少个字节?锁CASsynchronized实现过程AQS锁消除 eliminate锁粗化 lock coarsening锁优化锁升级过程volatilesynchronized同步方法与非同步方法synchronized锁重入Atomicwait notify系统底层如何实现数据一致性系统底层如何保证有序性CPU,内存,缓存,缓存行缓存一致性协议cpu乱序执行的概念DCL为什么不能乱序volatile如何阻止乱序内存屏障Object o=new原创 2021-03-29 22:49:05 · 173 阅读 · 0 评论 -
HashMap
目录HashMap数据结构![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408221732261.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMjg4Nzk2,size_16,color_FFFFFF,t_70)HashMap实现原理HashMap原理解析HashMap数据结构数组 申原创 2021-04-08 22:20:09 · 287 阅读 · 0 评论 -
spring、springBoot、mybatis
目录springspringBootspringIOCAOPspringBoot@Configuration@BeanBeanFactoryFactoryBean原创 2021-04-03 17:08:19 · 1657 阅读 · 0 评论 -
MySQL面试
MySQLMySQL索引1.什么是索引?2.为什么要有索引呢?3.如何设计索引,用什么数据结构4、回表,索引覆盖,最左匹配,组合索引,索引下推MySQL索引1.什么是索引?MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:快速查找排好序的一种数据结构。索引存储在文件系统中,索引的文件存储形式与存储引擎有关Mysql索引主要有两种结构:B+Tree索引和Hash索引。我们平常所说的索引,如果没有特别指明,一般都是指B树结构组织的索引(原创 2020-12-26 22:23:08 · 545 阅读 · 0 评论 -
JVM面试
JVM1、什么是垃圾2、jvm怎样定位垃圾2、GC回收算法Java虚拟机(JVM)你只要看这一篇就够了!1、什么是垃圾没有引用指向它2、jvm怎样定位垃圾一、引用计数法在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个 对象如果没有任何与之关联的引用,即他们的引用计数都不为 0,则说明对象不太可能再被用到,那么这个对象就是可回收 对象 。二、可达性分析为了解决引用计数法的循环引用问题,原创 2021-01-07 22:28:55 · 657 阅读 · 0 评论 -
Java总结
Java基础类加载器类加载器类加载的结构如下:BootstrapClassLoader:启动类类加载器,是由c++实现的ExtClassLoader:拓展类类加载器AppClassLoader:应用程序类类加载器,它主要加载应用程序ClassPath下的类(包含jar包中的类)。它是java应用程序默认的类加载器。用户自定义类加载器:用户根据自定义需求,自由的定制加载的逻辑,继承AppClassLoader,仅仅覆盖findClass()即将继续遵守双亲委派模型。*ThreadContex原创 2020-11-25 18:48:27 · 818 阅读 · 0 评论