自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (1)
  • 收藏
  • 关注

原创 k8s基础命令

【代码】k8s基础命令。

2023-06-01 11:32:57 736

原创 Mac Gitee:Oauth: Access token is expired fatal: unable to access https://gitee.com/xxx/xxx.git/

2、terminal输入git pull,按提示输入username和password即可。Try: 打开mac“钥匙串”app,删除gitee账号缓存无效。1、清除git中缓存的用户名和密码。清除git缓存即可work。

2023-05-26 01:09:05 564 2

原创 React的一些tips

3、setVariable(value) //必须赋予一个新的variable才能触发update,否则不会update.2、let tmp = […obj] //copy一个obj。1、let tmp = […arr] //copy一份数组。

2023-05-23 11:30:34 174

原创 git迁移代码到新建分支

1、暂存工作区修改文件2、更新分支3、新建分支并切换到新分支4、取出存的修改文件5、添加到提交中6、提交到本地仓库7、推到远程仓库

2022-06-06 10:28:41 800

转载 说说你对IO多路复用的理解

得分点: 概念、select、poll、epoll标准回答: I/O 多路复用是一种使得程序能同时监听多个文件描述符的技术,从而提高程序的性能。I/O 多路复用能够在单个线程中,通过监视多个 I/O 流的状态来同时管理多个 I/O 流,一旦检测到某个文件描述符上我们关心的事件发生(就绪),能够通知程序进行相应的处理(读写操作)。 Linux 下实现 I/O 复用的系统调用主要有 select、poll 和 epoll。...

2022-06-03 21:48:37 646

原创 Go语言学习杂记

1、Go语言中的一些格式化输出符号%v —— 只输出所有的值%+v —— 先输出字段类型,再输出该字段的值%#v —— 先输出结构体名字值,再输出结构体(字段类型+字段的值)更多格式化输出符见:https://wenku.baidu.com/view/6393f769862458fb770bf78a6529647d2728343f.html2、Go语言中方法和函数的区别go语言中函数与方法的区别:对于普通函数,接收者为值类型时,不能将指针类型的数据直接传递;对于方法,接收

2022-05-09 00:53:22 692

原创 Unit Test _ Mockito Framework

Unit Test _ Mockito Framework文章目录Unit Test _ Mockito Framework1. 为什么要使用 mock2. Mockito 中常用方法2.1 Mock 方法2.2 对 Mock 出来的对象进行行为验证和结果断言2.3 给 Mock 对象打桩2.4 Mock 静态方法3. Mockito 中常用注解3.1 可以代替 Mock 方法的 @Mock 注解3.2 @BeforeEach 与 @BeforeAfter 注解3.3 Spy 方法与 @Spy 注解1.

2022-05-04 01:20:48 683

原创 刷题中常用的一些Java API统计

1、进制转换String num = sc.nextLine().substring(2);System.out.print(Integer.parseInt(num,16));2、排序(二维数组排序)Arrays.sort(arr, new Comparator<int[] a>(){ @Override public int compare(int[] o1, int[] o2){ return o1[0] - o2[0]; }}Ar

2022-05-04 01:19:30 273

原创 ElasticSearch相关知识、以及与SpringBoot整合

1、为什么要用ES,ES的简介Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合:Wikipedia 使用 Elasticsearch 提供带有高亮片段的全文搜索,还有 search-as-you-type 和 did-you-mean 的建议。卫报 使用 Elasticsearch 将网络社交数据结合到访客日志中,为它的编辑们提供公众对于新文章的实时反馈。Stack Overflow

2022-03-22 09:00:35 194

原创 MySQL主从复制过程以及延迟问题解决

1、主从复制过程(1)master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中;(2)slave服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/OThread请求master二进制事件(3)同时主节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至从节点本地的中继日志中,从节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,使得其数据和主节点的保持一致,最后I

2022-03-21 22:52:07 1403

原创 3月19日LeetCode刷题笔记

两数相加 II给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例1:输入:l1 = [7,2,4,3], l2 = [5,6,4]输出:[7,8,0,7]示例2:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[8,0,7]示例3:输入:l1 = [0], l2 = [0]输出:[0]提示:1、链表的长度范围为 [1, 1.

2022-03-19 19:40:33 916

原创 设计模式、同步与异步、阻塞与非阻塞

1、设计模式六大原则1、单一职责原则一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化;业务对象(BO business object)、业务逻辑(BL businesslogic)拆分;里氏替换原则遵循单一职责原的优点有:(1)可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;(2)提高类的可读性,提高系统的可维护性;(3)变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。(4)需

2022-03-06 22:51:56 279

转载 在MySQL中一条SQL语句的执行过程

一、MySQL 基础架构分析1.1 MySQL 基本架构概览下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。先简单介绍一下下图涉及的一些组件的基本作用帮助大家理解这幅图,在 1.2 节中会详细介绍到这些组件的作用。连接器: 身份认证和权限相关(登录 MySQL 的时候)。查询缓存: 执行查询语句的时候,会先查询缓存(MySQL 8.0 版本后移除,因为这个功能不太实用)。分析器: 没有命中缓存的话,SQL 语句就会经过分析

2022-03-05 21:39:26 146

原创 JMM、Java中的四种引用、泛型以及泛型擦除、Java中的异常以及解决

一、Java中的四种引用1、强引用无论如何都不回收,宁可抛出OOM,也不回收。2、软引用内存够则不回收,内存不够就回收3、弱引用GC线程一旦发现就回收4、虚引用形同虚设,随时被回收设计的作用就是用来跟踪对象被垃圾回收的活动,虚引用必须和引用队列联合使用。GC在回收一个对象时,如果一个对象还有虚引用,则将这个虚引用放入与之关联的引用队列中。二、JMMJMM(Java Memory Model),JMM 就是 「Java内存模型」(java memory model)。因为在不同的硬件生

2022-03-05 21:07:50 237

原创 Java虚拟机中的垃圾回收机制以及常见GC算法

一、常见GC算法1、标记-清除算法标记需要回收的对象,然后直接在GC时直接清理。缺点:会造成大量的不连续的内存碎片2、复制算法将内存分为2块,每次只使用一半。每次GC时,将不需要回收的对象复制到另一块,然后再将使用的空间一次清理掉。缺点:每次只能使用一半内存,内存利用率低,且复制过程会比较消耗性能。3、标记-整理算法和上面差不多,只是让不需要回收的对象向一端移动,然后直接将端边界以外的空间清空即可。4、分代回收算法一般而言,java堆分为新生代和老年代。内存不足时先回收新生代,对

2022-03-05 20:17:31 461

原创 关于Spring框架的一些问题以及解决策略

1.Beanfactory和ApplicationContext有什么区别?BeanFactory: 可以理解为含有 bean 集合的工厂类。是Spring里面最底层的接口,包含了各种bean的定义,读取bean配置文档,管理bean的加载、实例化,控制bean的生命周期,维护bean之间的依赖关系。它提供了实例化对象和拿对象的功能。 但它是延迟加载,如果bean没有完全注入,BeanFactory会在你第一次调用GetBean方法才会抛出异常。ApplicationContext: 应用上下文,继承B

2022-03-05 19:11:43 330

转载 SpringBoot启动流程

Spring Boot程序有一个入口,就是main方法。main里面调用SpringApplication.run()启动整个Spring Boot程序,该方法所在类需要使用@SpringBootApplication复合注解。1、@SpringBootApplication注解的组成@EnableAutoConfiguration@EnableAutoConfiguration是借助@Import的帮助,将所有符合自动配置条件的bean定义加载到IoC容器在这个注解中,最重要的是它导入了一个类E.

2022-03-05 17:42:11 868

原创 针对场景和系统设计题的一些解决思路

1、对于海量数据,要求找出其中top n的热点数据,限制内存为m,设计思路如下:密匙一: 分而治之/Hash映射 + Hash_map统计 + 堆/快速/归并排序密匙二、多层划分多层划分----其实本质上还是分而治之的思想,重在“分”的技巧上!适用范围:第k大,中位数,不重复或重复的数字基本原理及要点:因为元素范围很大,不能利用直接寻址表,所以通过多次划分,逐步确定范围,然后最后在一个可以接受的范围内进行。密匙三:Bloom filter/BitmapBloom filter关于什么是Blo

2022-02-26 23:50:04 306

原创 哈希算法和一致性hash算法

1、哈希算法在分布式的环境下,我们搭建了一个redis集群,假如有n台机器,每次来的请求,经过hash运算,pos = key % n,pos就是对应的访问机器。但是在分布式场景下,如果一台机器挂了,那么机器数量就发生了变化,之前的数据就要重新进行hash计算位置并转移,这样就导致了一个比较大的性能开销。所以后面引入了一种算法,叫做一致性hash算法。2、一致性hash算法在分布式环境下,来降低元素位置的集群服务受机器数量的影响。2.1 实现原理:避免使用固定值取模进行定位,改为范围定位。[0

2022-02-26 22:24:13 679

原创 一些容易搞混的java基础知识点

1、多线程情况下,static修饰的变量方法是安全的吗?static修饰的方法和变量位于方法区,为线程共享,static修饰的变量一定是非安全的,static修饰的方法如果里面含有静态变量,则为非安全,否则是线程安全的。2、finalizefinalize()是在java.lang.Object里定义的,也就是说每一个对象都有这么个方法。这个方法在gc启动,该对象被回收的时候被调用。其实gc可以回收大部分的对象(凡是new出来的对象,gc都能搞定,一般情况下我们又不会用new以外的方式去创建对象),所

2022-02-26 21:27:18 214

原创 time_wait相关的一些问题

1、time_wait 产生原因(等待2MSL意义):保证TCP协议的全双工连接能够可靠关闭保证这次连接的重复数据段从网络中消失假设是客户端向服务端发起断开连接,为了保证客户端发送的最后一个ACK报文段能够到达服务器。因为这个ACK有可能丢失,从而导致处在LAST-ACK状态的服务器收不到对FIN-ACK的确认报文。服务器会超时重传这个FIN-ACK,接着客户端再重传一次确认,重新启动时间等待计时器。最后客户端和服务器都能正常的关闭。假设客户端不等待2MSL,而是在发送完ACK之后直接释放关闭,

2022-02-26 18:42:18 216

原创 针对红黑树比较正确和完整的一个小总结

1、红黑树红黑树是一种类似二叉平衡排序树,对树的平衡状态要求要松一点。避免了频繁左旋、右旋带来的时间和空间资源的消耗。2、红黑树的几大特征1、根结点的颜色是黑色,叶子结点的颜色是黑色2、树中结点的颜色只能是红色/黑色3、红色结点的颜色只能是黑色4、插入结点时,默认是红色5、根结点到叶子结点的路径上,具有相同数量的黑色结点3、变色操作当插入新结点后,如果不满足红黑树的性质,则需要进行变色操作。1、变色条件:当前结点是红色,且其父亲和叔叔结点都是红色时就需要进行变色。2、变色过程:将

2022-02-26 16:29:46 543

原创 java main方法原理分析

public static void main(String[] args){ // TODO}1、首先为什么方法的修饰符是public呢?main方法之所以是public,是因为一个Java程序在运行时首先创建一个JVM实例,程序要运行需要调用main方法,JVM从外部调用main方法这就需要访问权限修饰符必须给出外部访问的权限,所以只能用public。2、为什么用static修饰符来进行修饰?static修饰符的意义在于该方法被实例化后,会放在虚拟机的方法去,这样JVM在访问的时候,就不用

2022-02-25 15:21:23 742

原创 ARP协议与RARP协议

1、ARP协议简介ARP: Address Resolution Protocol,位于网络层的协议。ARP是地址解析协议工作原理:1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。3:当本网络的所有主机收

2022-02-15 11:14:15 1428

原创 巴什博奕(Bash Game)入门

巴什博奕(Bash Game)入门巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜结论:若(m+1) | n,则先手必败,否则先手必胜显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,

2021-10-28 11:02:03 2435

原创 LeetCode(215) —— 数组中第K个最大元素(优先队列)

一、优先队列优先队列priorityQueue是Queue接口的实现,可以对其中元素进行排序,可以放基本的包装类型或自定义的类,对于基本类型的包装类,优先队列中元素的默认排列顺序是升序,但是对于自定义类来说,需要自定义比较类priorityQueue的内部实现PriorityQueue对元素采用的是堆排序,头是按指定排序方式的最小元素。堆排序只能保证根是最大(最小),整个堆并不是有序的。方法iterator()中提供的迭代器可能只是对整个数组的依次遍历。也就只能保证数组的第一个元素是最小的Prio

2021-09-29 13:48:40 458

原创 curl访问正常,浏览器却无法访问

1、考虑防火墙的问题systemctl stop firewall2、看是不是开启了VPN代理,关掉3、成功解决问题

2021-09-14 18:01:26 3875 1

原创 ElasticSearch测试数据集

es测试数据集:{"index":{"_id":"1"}}{"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"[email protected]","city":"Brogan","state":"IL"}{"index":{"_id":"6"}

2021-09-09 17:28:17 4453

转载 可能是史上最全最易懂AQS源代码原理解析

1、概述AQS内部维护着FIFO双向队列,即CLH同步队列。AQS依赖它来完成同步状态的管理。FIFO结构图AQS 使⽤⼀个 int 成员变量来表示同步状态,通过内置的 FIFO 队列来完成获取资源线程的排队⼯作。AQS 使⽤ CAS 对该同步状态进⾏原⼦操作实现对其值的修改。private volatile int state;//共享变量,使⽤volatile修饰保证线程可⻅性如果获取同步状态失败时,会将当前线程以及等待信息等构建成一个Node,将Node放到FIFO队列中,同时阻塞当前线

2021-08-09 23:39:07 117

转载 谈谈TCP协议中的Header组成部分

谈谈TCP协议中的Header组成部分TCP Header结构图上图是一个 TCP header,以下是一些需要「死记硬背」的信息点:一个 TCP Header 一般有 20 个字节,如果启用了 options,header的长度可以达到 60 个字节。上图中每一行是 4 个 bytes,32 个 bits。我先带大家学习下前 5 行,每一行是 4 Bytes,五行刚好是 20 个 bytes。计算机世界中,通常会以 bit,byte,word(4 个 byte)等不同粒度来描述信息,header

2021-08-05 09:18:31 2712

原创 JVM内存模型中对象的组成结构

JVM内存模型中对象的组成结构在Java内存中,Java对象由三个部分组成:对象头、实例数据、对齐填充。下面依次来讲下这三个部分。一、对象头对象头的组成部分如下图所示:1、MarkWorld(运行时元数据)(1)哈希值它是一个地址,用于栈对堆空间中对象的引用指向,不然栈是无法找到堆中对象的(2)GC分代年龄记录幸存者区对象被GC之后的年龄age,一般age为15(阈值为15的原因是因为age只有4位最大就可以将阈值设置15)之后下一次GC就会直接进入老年代,要是还没有等到年龄为15,

2021-08-04 21:35:43 441 1

转载 计算机操作系统概述

1.1、操作系统的概念、特征、功能和结构1、操作系统的概念在信息化时代,软件被称为计算机系统的灵魂。而作为软件核心的操作系统,已经与现代计算机系统密不可分、融为一体。计算机系统自下而上可粗分为四个部分:硬件、操作系统、应用程序和用户。操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件和用户的中介。硬件,如中央处理器、内存、输入输出设备等,提供了基本的计算资源。应用程序,如字处理程序、电子制表软件、编译器、网络浏览器等,规定了按何种方式使用这些资源来解决用户的计算问题。操作系统控制和协调各

2021-08-02 16:52:36 728

原创 Linux下一些常用工具的安装汇总贴子

1、yum1.1 在服务器建立文件夹cd /usr/localmkdir pancd panmkdir yum1.2 下载yum安装需要的文件下载地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/下载这3个文件,放在 /usr/local/pan/yum 目录下:下载后,/usr/local/pan/yum 目录内容如下1.3 安装yumrpm -ivh yum-*1.4 安装成功1.5 镜像源配置http:/

2021-07-14 11:32:44 80

转载 CentOS 7和Mac OS下Docker的统一安装和配置

For CentOS 71、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本 $ uname -r2、使用 root 权限登录 Centos。确保 yum 包更新到最新。$ sudo yum update3、卸载旧版本(如果安装过旧版本的话)$ sudo yum remove docker docker-common docker-selinux d

2021-07-13 16:22:44 284

转载 数据库索引引擎以及优化

https://www.cnblogs.com/yourshj/p/5226659.html

2021-07-13 15:04:23 49

原创 商品订单高并发环境下秒杀案例设计与分析

秒杀并发模拟秒杀代码:package com.micah.msgcenter.service.impl;import com.micah.msgcenter.service.StoreService;import org.springframework.stereotype.Service;import redis.clients.jedis.Jedis;/** * @Author m.kong * @Date 2021/7/7 下午4:00 * @Version 1 * @Desc

2021-07-08 16:50:30 145

原创 Linux生产环境中Redis的部署和配置

记录一下,防忘记!1、安装redis官方仓库yum install epel-release2、安装redisyum install redis3、启动redisservice redis start 4、设置开机启动chkconfig redis on5、开启防火墙端口,支持远程访问firewall-cmd --zone=public --add-port=6379/tcp --permanent6、使得设置生效,重启防火墙firewall-cmd --relo

2021-07-06 10:55:15 378

原创 几种查找方法

1、折半查找二分法求平方根class Solution { /** *二分法求平方根 */ public int mySqrt(int x) { if(x <= 1){ return x; } int l = 0, r = x; while(l <= r){ int ans = (l + r)/2; if(Math.pow(

2021-07-04 11:51:36 75

原创 结果超过Int类型最大容量,如何实现运算及存储

package com.micah.chapter01;import java.math.BigInteger;/** * @Author m.kong * @Date 2021/7/4 上午9:22 * @Version 1 * @Description */public class Q43 { /** * 方法1 * @param num1 操作数1 * @param num2 操作数2 */ public static voi

2021-07-04 11:27:06 451

原创 算法与数据结构之十二大排序算法

1 直接插入排序代码实现:线性表版本:package com.micah.chapter01;/** * @Author m.kong * @Date 2021/6/29 下午12:59 * @Version 1 * @Description insert sort */public class InsertSort { /** * insert sort * @param a array will sort */ public sta.

2021-06-29 13:47:18 101

apache-log4j-2.14.0-bin.zip

apache-log4j-2.14.0-bin.zip, log4j2日志框架相关jar包,2021最新,欢迎下载

2021-03-01

空空如也

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

TA关注的人

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