- 博客(17)
- 收藏
- 关注
转载 TCP 的 11 种状态
本来想写运维过程中,nginx 服务器中 time_wait 的相关测试及解决方法的,然后发现TCP 的状态需要先铺垫一下,于是就整理了这篇文章。网上很多大佬整理 TCP 三次握手、四次挥手,看到过很多人写,但其实从运维角度来说,我们分析 TCP 链接状态的时候,首先是用 netstat 或 ss 来查看。之后才会根据 TCP 状态的情况进行抓包分析,进一步确认一些问题,所以我们首先看到的会是 TCP 的状态,那么就需要很清楚的了解 TCP 的11种状态代表着什么。TCP 的1...
2020-07-03 23:48:36 229 1
转载 MySQL 面试高频 100 问
关于MySQL的索引,曾经进行过一次总结,文章链接在这里Mysql索引原理及其优化.1. 什么是索引?索引是一种数据结构,可以帮助我们快速的进行数据的查找.2. 索引是个什么样的数据结构呢?索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引.3. Hash索引和B+树所有有什么区别或者说优劣呢?首先要知道Hash索引和B+树索引的底层实现原理:hash索引底层就是h.
2020-07-03 23:46:26 244
转载 超长JVM总结,面试必备
JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。在这里插入图片描述我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。在这里插入图片描述每一种平台的解释器是不同的,但是实现的虚拟机是相同的,这也就是 Java 为什么能够跨平台的原
2020-07-03 23:43:57 145
原创 MySQL 大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段 尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VAR
2020-07-03 23:42:52 262
转载 Java开发必须掌握的 20+ 种 Spring 常用注解
注解本身没有功能的,就和xml一样。注解和xml都是一种元数据,元数据即解释数据的数据,这就是所谓配置。本文主要罗列Spring|SpringMVC相关注解的简介。Spring部分1.声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @Controller 在展现层使用,控制器的声明(C) 2.注入bean的注解 @Autowi
2020-07-03 23:41:24 190
转载 Java多线程:线程状态
# 面试题 Java中线程有哪几种状态,线程的生命周期。 每个状态的含义。 状态之间的转化过程以及触发条件,图示。 # 线程有哪几种状态 Java doc image.png New (刚创建出线程实例) new Thread() Runnable (可运行/运行状态,等待CPU的调度)(要注意:即使是正在运行的线程,状态也是Runnable,而不是Running) 调用了thread.start()启动线程。
2020-07-03 23:39:29 135
转载 MySQL 锁机制
本文脑图锁种类Mysql中锁的分类按照不同类型的划分可以分成不同的锁,按照「锁的粒度」划分可以分成:「表锁、页锁、行锁」;按照「使用的方式」划分可以分为:「共享锁」和「排它锁」;按照思想的划分:「乐观锁」和「悲观锁」。下面我们对着这几种划分的锁进行详细的解说和介绍,在了解设计者设计锁的概念的同时,也能深入的理解设计者的设计思想。「表锁」是粒度最大的锁,开销小,加锁快,不会出现死锁,但是由于粒度太大,因此造成锁的冲突几率大,并发性能低。Mysql的「MyISAM储存引擎就支持表锁」,M
2020-07-03 23:38:05 211
转载 Redis性能监控指标汇总
监控指标 性能指标:Performance 内存指标: Memory 基本活动指标:Basic activity 持久性指标: Persistence 错误指标:Error 性能指标:PerformanceName Description latency Redis响应一个请求的时间 instantaneous_ops_per_sec 平均每秒处理请求总数 hi rate(calculated) 缓存命中率(计算出来的
2020-07-03 23:36:37 787
转载 解读Java 8 中为并发而生的 ConcurrentHashMap
HashMap 是我们日常最常见的一种容器,它以键值对的形式完成对数据的存储,但众所周知,它在高并发的情境下是不安全的。尤其是在 jdk 1.8 之前,rehash 的过程中采用头插法转移结点,高并发下,多个线程同时操作一条链表将直接导致闭链,死循环并占满 CPU。当然,jdk 1.8 以来,对 HashMap 的内部进行了很大的改进,采用数组+链表+红黑树来进行数据的存储。rehash 的过程也进行了改动,基于复制的算法思想,不直接操作原链,而是定义了两条链表分别完成对原链的结点分离操作,即使是多线程
2020-07-03 23:33:48 190
原创 Spring Boot 集成 WebSocket 实现服务端推送消息到客户端
假设有这样一个场景:服务端的资源经常在更新,客户端需要尽量及时地了解到这些更新发生后展示给用户,如果是 HTTP 1.1,通常会开启 ajax 请求询问服务端是否有更新,通过定时器反复轮询服务端响应的资源是否有更新。ajax 轮询在长时间不更新的情况下,反复地去询问会对服务器造成很大的压力,对网络也有很大的消耗,如果定时的时间比较大,服务端有更新的话,客户端可能需要等待定时器达到以后才能获知,这个信息也不能很及时地获取到。而有了 WebSocket 协议,就能很好地解决这些问题,WebSoc
2020-07-03 23:30:50 594
原创 MYSQL优化随笔
今天记录一下mysql的一些优化建议,应用程序比较慢,原因有很多种。这其中也可能是数据库的原因。那么如何提高数据库SQL的执行速度和性能呢?技巧1、比较运算符能用“=”就不用“<>” "="增加了索引的使用几率。技巧2、明知道只有一条查询结果,那么请用“LIMIT 1” “LIMIT 1”避免扫描全表,只要找到结...
2020-01-05 12:38:03 125
转载 线程的问题
1. 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。3. 同步:进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步
2017-12-05 21:38:14 118
转载 hibernate和mybatis的区别,留着好学习,转载的奥
1.1 Hibernate 简介Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握, Hibernate/OJB 会根据制定的存储逻
2017-11-21 20:15:19 251
原创 Servlet的知识
这几天我在学习servlet,然后今天我准备把servlet的生命周期写在这里,好久没更新了,还是要坚持,哈哈。servlet的生命周期1.创建servlet实例在默认情况下Servlet实例是在第一个请求到来的时候创建,以后复用。如果有的Servlet需要复杂的操作需要载初始化时完成,比如打开文件、初始化网络连接等,可以通知服务器在启动的时候创建该Servlet的实例。具体配置如
2017-10-30 21:30:28 181
原创 JAVA菜鸟学习之旅
今天时间把java SE的基础部分学完了,java的八个基本数据类型,byte short int long float double char boolean 。今天我想记录一下面向对象的一些内容,我个人觉得我对这部分内容不是很熟悉,java的三大特性:封装,继承,多态。我学习了封装后,就感觉封装就是把方法或者类型相同的元素把它放在一起。等下次需i要用的时候呢,就直接调用。我觉得
2017-08-01 21:04:18 184
原创 2017-7-14
今天敲了一些关于流程的代码,下面我来总结一下我的心得。我觉得最具代表性的一个问题就是这个数列的问题:1 1 2 3 5 8 13 21...........package Number;import java.util.Scanner;public class Text2 {public static void main(String[] args) {
2017-07-14 21:05:15 231
原创 java入门第一天
努力学习java,以后成为java攻城湿。感觉自己还是很喜欢程序的,特别是解决了问题,特别开心嘻嘻第一次玩博客,以后都写在这里。和大家分享
2017-07-11 22:00:00 163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人