自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 长连接与短连接,长轮询与短轮询

序言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短。 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解。如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可以互相对照一下。 以前的误解 很久之前LZ就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接

2021-12-15 18:43:07 405 1

原创 Linux常用命令整理

查看linux系统信息 arch #显示机器的处理器架构(1) uname -m #显示机器的处理器架构(2) uname -r #显示正在使用的内核版本 dmidecode -q #显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda #罗列一个磁盘的架构特性 hdparm -tT /dev/sda #在磁盘上执行测试性读取操作 cat /proc/cpuinfo #显示CPU info的信息 cat /proc/int

2020-10-16 14:47:17 724

原创 mybatis神坑总结

最近做项目遇到了一个问题,后台请求一直未响应。初步排查以为是数据库锁表了,后来万万没想到只是在mybatis mapper的sql语句中多了个空格!!!程序显示已执行结束,mybatis还无报错。 排查问题耗时5个多小时。 具体代码如下: <delete id="deleteByPk"> delete from table_name where PK_ID=# {pkId} </delete> 大家能看出来问题出现在哪儿么!!! 就是#与参数之间多了个空格!!! 程序一直卡在这

2020-10-12 11:34:42 424

原创 Git分支模式的选择

支的目的是隔离,但多一个分支也意味着维护成本的增加。我们可以分别从开发和发布分支的多寡,做个简单组合,即: 主干开发,主干发布。 分支开发,主干发布。 主干开发,分支发布。 分支开发,分支发布。 设想两个不同的场景: 如果一个软件,只有一个开发者,只需要一个发布版本,那他需要什么样的分支模式? 如果一个软件,有 10 位开发者,需要支持多个版本,那他们又需要什么样的分支模式? 一个好的分支模式,可以大大提高软件的开发、集成和发布效率。选择什么样的分支策略,是每一个开发团队开始工作时面临的第一个问题。那么,选

2020-07-13 11:06:58 554

原创 Git重置提交

1、重置工作区提交 本地编写的代码,未执行任何git命令时,处于工作区,可以使用: git diff 来查看本地修改。如果想重置(清空)工作区的修改内容,可使用: git checkout -- . 清空当前工作区目录下的所有修改。也可以指定文件名称,重置对某个文件的修改。 git checkout -- [filename] 2、重置暂存区的修改 本地编写的代码,可通过执行git add .命令将已修改的文件提交到暂存区。使用该命令后再使用git diff将不会看到任何输出。如果想查看暂存区的修改需

2020-06-30 09:52:10 4267

原创 计算机网络基础之OSI网络模型

定义 开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 作用 不同厂家的网络产品,只要遵照这个参考模型,就可以实现互连、互操作和可移植性。也就是说,任何遵循OSI标准的系统,只要物理上连接起来,它们之间都可以互相通信。 特点 开放系统互连参考模型的特点

2020-06-03 10:22:07 401

原创 最形象的解释--同步、异步、阻塞与非阻塞的区别

一、概念 异步:某个事情需要10s完成。而我只需要调用某个函数告诉xxx来帮我做(然后我再干其他的事情) 同步:某个事情需要10s完成,我需要一直等它完成(等10s),再能继续后面的工作。 阻塞:做某件事情,直到完成,除非超时 非阻塞:尝试做,如果不能做,就不做(直接返回),如果能做,就做。 前两者和后两者不容易区分,不过前两者更多的有涉及到多线程交互(消息)的场景。 二、举个例子 小李喝了想喝水,于是去煮开水。 1、小李把水壶放到炉子上,等待水烧开。(同步阻塞) 小李感觉这样太费时间。 2、小李把水壶放到

2020-05-28 19:27:39 266

原创 20200416 java面试

1、常用的java集合框架及底层实现 2、ConcurrentHashMap的实现,1.7和1.8的区别 3、AtomicInteger的底层原理 4、手写死锁代码 5、手写交替输出及最后输入主函数。 6、mysql读写分离、主从、热备是如何实现的 ...

2020-05-03 18:25:11 197

原创 JAVA并发编程之详解volatile

可见性 可见性的意思是,当一个线程修改共享变量时,其他线程能读到修改后的值。 指令重排 程序指令的执行顺序有可能和代码的顺序不一致,这个过程就称之为指令重排。 作用:JVM能根据处理器的特性,充分利用多级缓存,多核等进行适当的指令重排序,使程序在保证业务运行的同时,充分利用CPU的资源,发挥最大的性能! 由于指令重排的特性,为了保证程序在多线程的条件下运行结果能够与单一线程下一致,引入了Happe...

2020-05-03 16:43:03 198

原创 20200427面试京东7fresh业务部

1、@Autowired注解和@Resoure注解的区别 2、Spring循环依赖 3、tomcat如何区分不同项目中的相同类的,如果是你,你会如何设计。 4、synchronized的锁升级 5、CAS的工作原理?是否就一定是非阻塞的。 6、ReentrantLock 读写锁 7、CPU100%的处理办法,用哪些工具。 8、mysql 联合索引的路由 9、select count(*) 和 ...

2020-04-27 12:06:16 744

原创 java锁之自旋锁

定义: 自旋锁(spin lock)是一种非阻塞锁,也就是说,如果某线程需要获取锁,但该锁已经被其他线程占用时,该线程不会被挂起,而是在不断的消耗CPU的时间,不停的试图获取锁。线程反复检查锁变量是否可用。由于线程在这一过程中保持执行,因此是一种忙等待。 作用: 自旋锁避免了进程上下文的调度开销。线程一直处于用户态,减少了用户态到内核态的开销与损耗(减少了上下文切换)。 适用场景: 1、多线程 2...

2020-04-24 18:10:09 378

原创 Hashmap JDK1.7与1.8的区别

** 一、数据结构不同: ** 1.7:数组+链表 头插法(向链表中添加元素时在头部插入,这样能提高插put操作的性能,但在多线程情况下有链表逆序和循环链表的问题–会导致死循环)。 Entry<K,V>数组 static class Entry<K,V> implements Map.Entry<K,V>{ final K key; V value; ...

2020-04-23 22:05:34 460

原创 线程之内存可见性

多个线程可以共享访问和操作相同的变量,但一个线程对一个共享变量的修改,另一个线程不一定马上就能看到,甚至永远也看不到。 public class VisibilityDemo { private static boolean ok = false; static class MyThread extends Thread{ @Override pub...

2020-04-20 19:29:51 272

原创 20200414新东方一面

1、springboot的启动流程 2、springboot与传统的项目有什么区别 3、springboot 4、mysql explain关注的字段 5、聚簇索引与非聚簇索引的区别 6、innodb中有哪些索引 7、消息队列保持幂等性 8、concurrenthashmap1.7和1.8的区别 9、mybatis二级缓存 10、事务隔离级别有哪些,默认的是什么 11、Automic的原理 ...

2020-04-14 18:49:50 179

原创 二分法模板

模板一 public int search(int[] nums, int target) { int left = 0, right = nums.length - 1; while(left <= right) { int mid = (left + right) / 2; if(nums[mid] == target) { // 处理逻辑 } else if(nums[mid] &lt...

2020-02-13 16:11:12 174

原创 SpringMVC工作原理

什么是SpringMVC SpringMVC是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图的一种框架。其中核心类是DispatchServlet。 SpringMVC工作原理 1、客户端发起请求(请求中至少包含URL),前端控制器DispatcherServlet接收到请求。 2、DispatcherServlet的任务是将请求发送给Spri...

2019-12-13 14:25:45 309

原创 事务隔离级别

来自网上的 Read uncommitted 读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。 事例:老板要给程序员发工资,程序员的工资是3.6万/月。但是发工资时老板不小心按错了数字,按成3.9万/月,该钱已经打到程序员的户口,但是事务还没有提交,就在这时,程序员去查看自己这个月的工资,发现比往常多了3千元,以为涨工资了非常高兴。但是老板及时发现了不对,马上回滚差点就提交了的事务...

2019-12-11 16:43:06 205 1

原创 内存泄漏与内存溢出

内存泄漏(Memory Leak) 向系统申请了内存,但使用完成后不进行内存的释放。多次执行后会导致内存溢出,因为被使用的内存相当于一直被占用,从不释放,系统可分配的内存一直在减少。 举例:去澡堂洗澡,每次占用一个柜子存放衣物,洗完后不把钥匙归还,之后每次都新要一个柜子,且不还钥匙。可用的柜子越来越少,直到某一天所有柜子都被占用了。 内存溢出(Out Of Memory) 向系统申请了内存,但系统...

2019-11-14 11:13:17 480

转载 k8s查看pod的命令

kubectl get pod 参数解析 NAME pod名 READY 准备好的副本数 STATUS 状态 RESTARTS 重启 AGE 已经运行的时间 查看pod资源(较详细) kubectl get pod -o wide 参数解析 IP ip地址 NODE 运行节点 NOMINATED NODE 指定节点 查看pod资源(非常详细) kubectl describe pod 参数解析 N...

2019-11-13 09:20:54 51252 3

原创 jvm运行时数据区

线程私有部分 程序计数器:指向当前线程正在执行的字节码指令的地址(行号)。 为什么需要程序计数器: 1、java时多线程的,线程需要来回切换。 2、确保多线程情况下程序的正常执行。 虚拟机栈:存储当前线程运行方法所需的数据、指令、返回地址。 一个方法一个栈帧 栈帧: 局部变量表(32位的定长区块,2的32次方): 存储局部变量,例如: this(成员) Object(引用) weixin(自定...

2019-11-09 17:36:25 153

原创 Mysql索引

1、索引定义:是一种帮助mysql高效获取数据的数据结构。 2、mysql索引使用的数据结构:B+Tree 3、索引分类: 聚集索引:叶节点包含了完整的数据记录(索引与数据行存在一起)。 非聚集索引:索引与数据行分开存放。 存储引擎是表维度上的概念。一个数据库可以创建不同存储引擎的数据表。 3.1 myisam存储引擎(非聚集索引):索引文件和数据文件分离。 data目录下以.frm 、.MYD、...

2019-10-30 22:32:33 1240

原创 Spring 事务传播机制

Spring 事务传播机制 1、Propagation.REQUIRED 默认事务。 如果没有当前事务就新建一个事务,如果已经存在一个事务就加入到已存在的事务中。 即你买了我就用你的,你没买我就自己买一个。 2、Propagation.SUPPORTS 支持当前事务,如果当前没有事务就以非事务的方式运行。 即提供了就用,没提供就不用。 3、Propagation.MANDATORY 使用当前事务,...

2019-10-29 11:37:05 155

转载 TCP/IP三次握手与四次挥手

TCP/IP三次握手与四次挥手(参考自https://www.jianshu.com/p/4084a9397138 ) 1、TCP报文首部格式 源端口和目的端口(Source Port和Destination Port):分别占用2个字节,用于区别主机中的不同进程,而IP地址是用来区分不同的主机的,源端口号和目的端口号配合上IP首部中的源IP地址和目的IP地址就能唯一的确定一个TCP连接。 序号...

2019-10-16 22:19:45 147

空空如也

空空如也

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

TA关注的人

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