自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 普通人都能看懂的图解---红黑树的删除

红黑树的删除在上文中 . 我们已经介绍和演示了红黑树的插入 , 本文来 介绍一下 红黑树的 删除 以及 删除之后的调整基于 我们对 AVL树的理解 , 用相同的方式 进行红黑树的删除分类被删除的 节点 没有左右子树被删除的 节点 只有左右子树的其中一个被删除的 节点 同时拥有左右子树在这3大类的情况下 , 红黑树 同时又比 不同的树 多了一个 颜色维度 , 所以 再次细分 红...

2020-04-25 13:42:06 223

原创 普通人都能看懂的图解---红黑树(插入)

红黑树的插入操作红黑的简单介绍 :首先它是一个相对平衡的搜索二叉树在这样的基础之上, 又有这5个要求性质1. 节点是红色或黑色。性质2. 根节点是黑色。性质3.所有叶子都是黑色。(叶子是NULL节点)性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5… 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。与 ...

2020-04-23 13:42:16 233

原创 普通人都能看懂的图解---AVL树(删除)

多说无益! 直接看图后文 会给出 Java 的代码实现 (完整代码 结合之前的插入)代码实现package structure.AVLTree;public class AVLTree { private TreeNode root = null; //根节点 public boolean add(int value) { return...

2020-04-21 22:47:48 212

原创 普通人都能看懂的图解---AVL树(插入)

多说无益! 直接看图注意 : 在LR 和 RL的 两种情况中 紫色的三角形 高度 其实比 淡蓝色的 三角形 高度 高了1层 (需要想想)后文 会给出 Java 的代码实现![AVL树的插入](https://img-blog.csdnimg.cn/20200421172036951.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5na...

2020-04-21 17:22:25 271

原创 求助 : 关于java使用poi来操作xlsx文件 (已解决)

求助 : 关于java使用poi来操作xlsx文件问题描述 :使用FileInputStream得到xlsx文件的流 , 通过这个流加载到 XSSFWorkbook 中 , 然后在创建一个 FileOutputStream , 将这个XSSFWorkbook进行输出, 报空指针异常.public class HSSTest { @Test public void test1() throws IOException { FileInputStream inputStream = new

2020-12-08 11:36:22 406

原创 2020-09-02字节2面(填坑)

字节2面 (Java) (填坑)今天稍微有点空… 我来补一下 之前的坑.这里我会给上我认为挺全面的答案… 如果有更加全面的答案 欢迎来弥补2面过了…等待3面~… 祈祷 来几个java的问题进程通讯的方式管道 . FIFO . 消息队列 . 信号 . 共享内存共享内存这种方式底层是如何实现的创建虚拟内存空间, 在物理内存上开辟空间进程将共享内存映射到自己的虚拟地址上 (可能使用一个mmap 的函数实现)对这片内存进行操作. (可以绕开内核的管理, 所以 共享内存这种方式

2020-09-02 23:02:59 199

原创 2020-08-30 --- 字节二面 (Java)

字节二面 (Java)之前手机开着录音…但是不知道为啥 – 断开了… 这些是我回想的…可能漏了一些先开一个坑, 闲下来 我会补充答案的… 我感觉回答的时候 没有回答清楚…唉 还是说少了求一波3面~ 祈愿ing自我介绍谈一谈你的五子棋项目socket是一种什么协议大概能够有多少人同时对局人机对战怎么弄进程通讯的方式共享内存这种方式底层是如何实现的tcp的3次握手来讲一下time_wait 状态了解吗为什么需要time_waitre

2020-09-01 16:19:48 216

原创 2020-08-30---进程通信&java线程通信

进程间的通信 & 线程间的通信这篇主要来理一下, 进程间的通信方式 (主要为linux系统… c语言)和 线程间的通信方式 ( java )进程间的通信(推荐阅读 : https://www.cnblogs.com/zgq0/p/8780893.html )线程间的通信(推荐阅读 : https://blog.csdn.net/jisuanji12306/article/details/86363390)知识点总结对于进程间的通信管道:速度慢,容量有限,只有父子进程能通讯FI

2020-08-30 16:13:43 148

原创 2020-08-29---TCP,UDP,HTTP,HTTPS

面试之通用网络篇本章 , 来简单的描述一下经常问到的 tcp , udp , http , https 等内容关于 http 和 https 的介绍 , 推荐阅读 : https://blog.csdn.net/xiaoming100001/article/details/81109617本章偏向于归纳总结… 描述一些常见的问题. 比较粗略. 一切为了面试常见问题TCP 和 UDP 的 异同点对于这种问题… 先提出一些最明显的区别TCP是面向连接的, UD是不面向连接的因此 T

2020-08-29 22:02:09 109

原创 2020-08-29 ---- 美团点评 笔试

美团笔试一共5道题目, 编程题目 , 全部AC , 第四题卡了好久… 左思右想… 我觉得暴力过不了的= = 是在没办法了 暴力…这样本有点水的…没想到过了…来看题目第一题题目概要小团深谙保密工作的重要性,因此在某些明文的传输中会使用一种加密策略,小团如果需要传输一个字符串S,则他会为这个字符串添加一个头部字符串和一个尾部字符串。头部字符串满足至少包含一个“MT”子序列,且以T结尾。尾部字符串需要满足至少包含一个“MT”子序列,且以M开头。例如AAAMT和MAAAT都是一个合法的头部

2020-08-29 19:29:20 1063 3

原创 2020-08-27 ----- 京东笔试

题目京东的笔试分为 选择题 和 编程题选择题…不能切本地ide … 我被记录了一次违规(不知道会发生什么事情…)选择题 涵盖的知识比较广, 操作系统, JVM , TCP , UDP , java基础语法, lambda , java异常 , 自增和乘法混合运算 … 大概就记得这些…编程题是2道比较简单的第一题使用 2, 3, 5 这几个数 , 可以拼成 22, 23 , 25 , 2 , 3 , 5 这类的数字…对这些数字任意组合, 从大到小排序 ,给定一个 n , 返回 这样的数列,

2020-08-27 20:16:18 269

原创 2020-08-25------字节一面

不知道为啥 - - 总是遇不到一个问知识点的面试官…问题集自我介绍追问一个项目是如何实现的…各种问题一道算法题 原题目链接花费时间一共40min…没啥好总结的…

2020-08-26 19:00:19 66

原创 2020-08-24---springboot启动流程(粗略)

SpringBoot启动流程本章, 会粗略的讲一讲 main 函数 入口, 进入 springboot 启动流程也仅仅是大概的提一下流程. 不会进行深入 . 勿喷以后有空 会来细填这个坑的…那么! 先把我总结出的流程列出来, 后面会跟上我的源码解析(粗略) 有不正确的地方请指出总的流程 :main函数入口 , 调用SpringApplication的静态run方法首先会对SpringApplication进行构造会对基本的属性进行赋值然后对当前的应用类型进行判断通过反射得到 ME

2020-08-24 22:20:03 111

原创 2020-08-24---mysql篇---事务与日志

Mysql事务与日志这里的事务 , 是指在单个mysql实例上的事务 , 并非是分布式事务本文仅仅只是对于我 学习这个东西的一个小总结. 归纳不会太详细.推荐博文 : https://www.cnblogs.com/superchong/p/10847966.html自问自答事务的ACID是什么?A ( 原子性 ) : 对于事务来说, 事务中的操作 要么 都成功, 要么都失败C( 一致性 ) : 是指 事务提交的前后, 数据都是正确合法的.I ( 隔离性 ) : 表示 事务之间是存

2020-08-24 20:06:08 84

原创 2020-08-24---mysql篇---杂项

Mysql相关基础语法篇创建数据库 (create database xxx) 后面可以更上 DEFAULT 属性 set 什么值创建表格CREATE TABLE 名字 ( 字段名 类型(限定符) 额外信息 , # 比如 AUTO_INCREMENT , primary key ,not null , DEFAULT );查看表结构 ( DESC 表名)增删改查…稍微高级一点的 :左连接右连接全连接等值连接GROUP BYORDER BYLIMITHAV

2020-08-24 19:36:20 122

原创 2020-08-23---redis详细篇---sentinel

Redis的sentinel集群(哨兵)推荐阅读 : https://www.cnblogs.com/williamjie/p/9505782.htmlhttps://blog.csdn.net/qq2430/article/details/80679439强力推荐 , 太全面了!小总结在sentinel中, 作为哨兵的节点, 自己的是不存储任何数据的, 不对外提供真实服务, 但是可以给客户端提供 能够使用的集群地址整体架构 , 是一种强连通图, 任意两个节点之间 都会建立连接. 哨兵会

2020-08-23 17:47:20 63

原创 2020-08-23---redis详细篇---主从复制

Redis的主从复制架构这是一种基本的redis集群方式, 主要分离了 redis 的 读 和 写. 也为了解决 redis 单体 的不可靠性slaveof 192.168.1.1 6379 命令, 可以配置一个 从服务器 (redis 是支持动态的配置主从的. 因此才可以使用 config set slaveof 的命令开启从服务器的功能 )redis的主从复制, 基本都是由redis主服务器来进行同步 . 不过 之后 又出现了从从复制关于主从复制, 有俩种策略, 一种是 全量复制 , 一

2020-08-23 14:05:31 88

原创 2020-08-22---redis详细篇---2种持久化和混合过程详细

Redis持久化过程详解这篇文章, 主要了解 2种持久化方式的 具体操作过程, 会屏蔽掉其他的东西全局过程客户端向 redis实例中, 发出了一个写操作redis得到这个写操作, 把数据存储内存中调用 系统API 将数据写入磁盘操作系统 将 缓冲区的数据 交给 磁盘控制器磁盘控制器 把数据 写入实际的物理媒介RDB它是 redis 默认开启的一种持久化方式目标是 : redis 当前存储的所有数据, 它是一种快照当满足一定条件之后, 会自动进行的一种方式 (bgsave)

2020-08-22 11:22:13 183

原创 2020-08-22---redis基础篇.md

Redis相关这篇是之前整理的… 现在直接发出去内容主要来自于 : https://github.com/Snailclimb/JavaGuide缓存的常用概念缓存穿透​ 缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。举个例子:某个黑客故意制造我们缓存中不存在的 key 发起大量请求,导致大量请求落到数据库。缓存雪崩​ 缓存在同一时间大面积的失效,后面的请求都直接落到了数据库上,造成数据库短时间内承受大量请求缓存击穿

2020-08-22 10:12:12 213

原创 2020-08-21网易严选感谢信(HR面挂)

写在前面​ 这次是本人人生中的第一次面试…投递的是网易严选的java工程师, 遗憾在HR面结束之后, 收到失败的感谢信, 打击虽然挺大的…不过还是缓过来了. 不知道它的评判标准 是不是 1面,2面 和笔试的综合得分排名筛选.​ 整体流程 :7月24日, 决定投递人生的第一个简历 . 使用的是牛客上的内推码. 同一天 完成网上的基本测评8月6日, 笔试邀请, 告知简历通过 , 并在8月8日 下午3点, 完成笔试 (一共4道题, ac了 3.3)8月10日, 邀请一面, 预约时间 8月13日下午

2020-08-22 09:48:52 963

原创 万字讲解AQS队列 , 从入门到精通, 你值得拥有

万字讲解AQS队列 , 从入门到精通, 你值得拥有快速导航万字讲解AQS队列 , 从入门到精通, 你值得拥有底层的Node节点AQS的重要成员属性从独占模式开始学习请求成功Or失败排队逻辑排队成功进入正式的阻塞环节取消节点的过程 ---释放锁的环节来一个 ReentrantLock 的源码放松一下条件队列Condition.await() 方法Condition.signal()方法共享模式请求共享逻辑, 以及排队原理, 和得到锁之后进行唤醒后置节点主动进行共享模式的释放过程AQS (Abstract

2020-08-10 22:36:24 220

原创 ConcurrentHashMap1.7源码 随笔

ConcurrentHashMap快速导航ConcurrentHashMap实例化方法Map为Put而生扩容机制只有Put没有Get有何用?Remove还是需要的尾声不是总结的总结实例化方法在HashMap中, 主要有2个参数 一个 是 初始容量大小 , 一个是 负载因子但是在ConcurrentHashMap中 , 还出现了另外一个 重要的 参数, 叫做 并发等级在所有的构造方法中, 主要有2个构造方法, 一个是 具有3参数的 正常构造器, 一个是基于 Map的构造器 ,基于map

2020-05-09 15:29:50 137

原创 HashMap源码解析(JDK1.7)

HashMap源码解析(JDK1.7)萌新的学习之路… 纯属以学习过程再现…不存在那些大佬的 重点整理…没有耐心的朋友~ 可以直接 阅读 HashMap 中的 一些小标题… 每个后面 都有小的总结… 可以直接看- -有错误 请指出= =蟹蟹~快速导航HashMap源码解析(JDK1.7)HashMap层次结构图接口Map接口抽象类AbstractMapHashMap成员变量 / 常...

2020-05-04 22:12:38 93

原创 Stack源码解析(JDK1.7)

Stack源码解析(JDK1.7)摸鱼摸鱼~!Stack的层次关系图从层次图中看到… 所有的接口都在以前的博文中介绍过了… 这里还没有解析过的是 Vector (线程安全的列表类)Vector我粗略的读了一下…实现的方式几乎和 ArrayList 一模一样… 就是每个方法进行加锁…这里就简单的把一些不一样的地方,有些重要的地方拿出来看一下…构造方法 上//构造方...

2020-05-03 14:42:42 88

原创 LinkedList 源码解析 JDK1.7

LinkedList 源码解析 JDK1.7这是第二个java中通用的数据结构这和之前的 ArrayList 中的很多 接口有相同的…如果这里没有提及…可以去 https://blog.csdn.net/weixin_46592754/article/details/105866191 看一下本文…快速导航LinkedList 源码解析 JDK1.7LinkedList 层次结构接...

2020-05-01 13:27:56 114

原创 ArrayList 源码解析(JDK1.7)

ArrayList 源码解析(JDK1.7)ps: 我思考了一下…想要不要发这篇博客… 感觉作为一个初学者…发这种源码解析… 尤其当做学习记录这样的东西来做…感觉没有任何的重点可言… 不过思考了一下…反正估计也没人看 (狗头) 就发了吧纯属个人 … emmm 萌新的学习经历- -大伙凑着看看吧…如果有错 , 请指出…ArrayList的层次结构接口Iterable (可迭代的...

2020-04-30 17:28:43 106

原创 java.util.concurrent 工具包 ( 三 ) ----- ReentrantLock和ReentrantReadWriteLock

java.util.concurrent 工具包 ( 三 )Lock ( 接口 )-------基本-------JUC 包中 各种锁的接口记录着一些锁的基本方法-------实现类-------ReentrantLock ( 可重入锁 )ReadWriteReentrantLock.WriteLock ( 读写锁中的写锁 )ReadWriteReentrantLock....

2020-03-30 22:53:25 167

原创 JUC工具包(二)Exchanger和Semaphore

java.util.concurrent 工具包的使用(二)Exchanger ( 交换器 )-----作用-----​ java.util.concurrent包中的Exchanger类可用于两个线程之间交换信息。可简单地将Exchanger对象理解为一个包含两个格子的容器,通过exchanger方法可以向两个格子中填充信息。当两个格子中的均被填充时,该对象会自动将两个格子的信息交换,然...

2020-03-27 20:35:09 99

原创 JUC工具包(一) CountDownLatch与CyclicBarrier与Phaser

java.util.concurrent工具包 (一)1. CountDownLatch----作用----countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可以恢复工作了。----...

2020-03-27 14:08:59 175

原创 ALGO-18 单词接龙 (蓝桥杯算法基础训练)(java版)

试题 算法训练 单词接龙资源限制时间限制:1.0s 内存限制:256.0MB问题描述单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不...

2020-03-27 11:47:04 303

原创 idea 使用 docker 远程部署项目

使用IDEA的maven-docker 远程部署 Spring 项目1.设置打开docker远程服务如果还没有开启 docker的远程服务点击 这里 跟着一起设置配置完成 能够在idea的 这里 看到 你的docker 容器2.在pom.xml中添加maven-docker插件该xml文件是 build 标签的部分 并非所有<build> <pl...

2020-03-25 13:08:40 325

原创 ALGO-16 进制转换 (蓝桥杯算法训练) (java)

试题 算法训练 进制转换 ( JAVA )资源限制时间限制:1.0s 内存限制:256.0MB问题描述我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式。例如:123可表示为 1*102+2*101+3*100这样的形式。  与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值...

2020-03-25 11:28:46 257

转载 必须知道的dockerfile基础知识

你必须知道的Dockerfile转载 自 https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html1. 关于Dockerfile​ 在Docker中创建镜像最常用的方式,就是使用Dockerfile。Dockerfile是一个Docker镜像的描述文件,我们可以理解成火箭发射的A、B、C、D…...

2020-03-24 23:08:13 308

原创 Swagger2 的简单使用

Swagger的使用1. 在pom文件中添加Swagger相关依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency> <groupId>io.springfox</groupId> <artifa...

2020-03-24 15:02:44 97

转载 idea远程连接docker

写在前面:如果不需要证书,直接更改docker服务文件即可,服务文件名是docker.service,我发现不同安装方式路径会不一样,可以使用 find / -name docker.service 查找到指定文件,然后更改,直接在ExecStart=/usr/bin/dockerd下添加两句即可:ExecStart=/usr/bin/dockerd \-H tcp://0.0.0.0:23...

2020-03-23 21:50:57 1089 2

转载 蓝桥杯2020校内模拟赛(java版)

本文记录2020年蓝桥杯校内模拟赛的做题情况代码并非标准答案…只是个人答案…如果有错误.请指出~~~~蟹蟹٩(‘ω’)وA问题描述  在计算机存储中,15.125GB是多少MB?答案提交  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分15488B问题描述  1200000有多少个约数(只计...

2020-03-22 09:22:45 735 1

原创 ALGO-194 审美课 (蓝桥杯算法基础训练)

试题 算法训练 审美课资源限制时间限制:1.0s 内存限制:256.0MB问题描述《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师_...

2020-03-18 14:01:32 83 1

原创 ALGO-9 摆动序列 (蓝桥杯算法基础训练)

试题 算法训练 摆动序列资源限制​ 时间限制:1.0s 内存限制:512.0MB问题描述如果一个序列满足下面的性质,我们就将它称为摆动序列:  1. 序列中的所有数都是不大于k的正整数;  2. 序列中至少有两个数。  3. 序列中的数两两不相等;  4. 如果第i – 1个数比第i – 2个数大,则第i个数比第i – 2个数小;如果第i – 1个数比第i – 2个数小,则第i...

2020-03-18 13:40:55 247

空空如也

空空如也

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

TA关注的人

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