11 2020 档案

摘要:通常使用nestat命令分析linux服务器的网络状态,有助于我们了解服务器是否有隐患或者性能瓶颈。 netstat 命令 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multica 阅读全文
posted @ 2020-11-16 23:34 zhaooo 阅读(412) 评论(0) 推荐(0) 编辑
摘要:带着问题去学习: 三次握手和四次挥手的基本流程是什么? 交互过程中对应的报文内容是怎样的? 握手和挥手过程中,TCP状态是怎么转换的? TCP 三次握手分析 三次握手(Three-way Handshake),是指建立一个 TCP 连接时需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指 阅读全文
posted @ 2020-11-16 23:27 zhaooo 阅读(91) 评论(0) 推荐(0) 编辑
摘要:TCP基础 TCP 报文格式 Source port(源端口): 16位; Destination portal(目的端口):16位; Sequence number(序号):32位; Acknowledgment number(确认号):32位; Data offset(数据偏移量):4位。 TC 阅读全文
posted @ 2020-11-16 23:25 zhaooo 阅读(416) 评论(0) 推荐(0) 编辑
摘要:wireshark简介 Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 下载安装 需要安装wireshark和WinCap软件。 阅读全文
posted @ 2020-11-16 23:24 zhaooo 阅读(432) 评论(0) 推荐(0) 编辑
摘要:在JDK的开发中,除了大家熟悉的 java.exe 和 javac.exe 外,还有一些列辅助工具。这些辅助工具可以帮助开发人员很好的解决 Java 应用程序的一些疑难杂症。这些工具在 JDK 安装目录下的 bin 目录中。 JDK 性能工具 查看 Java进程 - jps 命令 jps命令类似与l 阅读全文
posted @ 2020-11-16 23:08 zhaooo 阅读(209) 评论(0) 推荐(0) 编辑
摘要:在虚拟机的运行过程中,如果可以追踪系统的运行状态,那么对于问题的故障排查会有一定帮助。为此,虚拟机提供了一些跟踪系统状态的参数,使用给定的参数执行Java虚拟机,就可以在系统运行时打印相关日志,用于分析问题。 Java HotSpot VM Options JVM 参数分类 Options that 阅读全文
posted @ 2020-11-16 23:03 zhaooo 阅读(169) 评论(0) 推荐(0) 编辑
摘要:**如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。**Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 垃圾收集器一 阅读全文
posted @ 2020-11-16 22:34 zhaooo 阅读(133) 评论(0) 推荐(0) 编辑
摘要:垃圾收集,Garbage Collection,简称GC 。这里所谓的垃圾指的是在系统运行过程当中所产生的一些无用的对象,这些对象占据着一定的内存空间,如果长期不被释放,可能导致OOM。 GC时,系统会进入停顿状态,终止所有应用线程的执行,避免新的垃圾的生成,同时保持系统的一致性。这个停顿称为**“ 阅读全文
posted @ 2020-11-16 22:30 zhaooo 阅读(111) 评论(0) 推荐(0) 编辑
摘要:堆内存模型 对于大多数应用而言,Java堆(Heap)是Java虚拟机所管理的内存中最大的一块,它被所有线程共享的,在虚拟机启动时创建。此内存区域唯一的目的是存放对象实例,几乎所有的对象实例都在这里分配内存,且每次分配的空间是不定长的。Java虚拟机规范中描述道:所有的对象实例以及数组都要在堆上分配 阅读全文
posted @ 2020-11-16 22:28 zhaooo 阅读(143) 评论(0) 推荐(0) 编辑
摘要:框架图 从框架上图看,JVM框架主要分为三个子系统: Class Loader SubSystem(类加载子系统):加载编译后的.class文件,载入到jvm中,然后进行初始化的操作,把相关数据放到内存中的某些区。 Runtime Data Areas(运行时数据区): Execution Engi 阅读全文
posted @ 2020-11-16 22:25 zhaooo 阅读(112) 评论(0) 推荐(0) 编辑
摘要:-- 用户表 CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(30) DEFAULT NULL, `age` int DEFAULT NULL, `create_time` datetime DEFAULT 阅读全文
posted @ 2020-11-15 01:10 zhaooo 阅读(107) 评论(0) 推荐(0) 编辑
摘要:缓存穿透 缓存穿透,是指查询一个数据库不存在的数据。对于系统A,假设一秒 5000 个请求,结果其中 4000 个请求是黑客发出的恶意攻击。黑客发出的那 4000 个攻击,缓存中查不到,每次你去数据库里查,也查不到。 举个栗子。数据库 id 是从 1 开始的,结果黑客发过来的请求 id 全部都是负数 阅读全文
posted @ 2020-11-14 16:56 zhaooo 阅读(232) 评论(0) 推荐(0) 编辑
摘要:Redis持久化 redis虽然是一种内存型数据库,但也提供持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。 redis支持两种持久化方案: RDB:在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。 AOF:记录每次对redis服务器写的操作,当服务器 阅读全文
posted @ 2020-11-14 16:54 zhaooo 阅读(74) 评论(0) 推荐(0) 编辑
摘要:Redis基础 Redis 是 C 语言开发的一个开源的(遵从 BSD 协议)高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。它是一种 NoSQL(not-only sql,泛指非关系型数据库)的数据库。 优点: 性能优秀,数据存在内存中,读写速度非常快,支持并发 阅读全文
posted @ 2020-11-14 16:53 zhaooo 阅读(95) 评论(0) 推荐(0) 编辑
摘要:概要 主要探索一下几个问题: MySQL 主从复制 (MySQL Replication) 是什么? MySQL主从架构 用docker搭建一个简单的主从库 读写分离 主从延时分析 主从复制原理 Mysql主从基本原理,主要形式以及主从同步延迟原理 (读写分离)导致主库从库数据不一致问题的及解决方案 阅读全文
posted @ 2020-11-14 16:07 zhaooo 阅读(121) 评论(0) 推荐(0) 编辑
摘要:事务 事务逻辑上一组操作,要么都执行,要么都不执行,是最小的不可再分的工作单元。事务可由一条简单的SQL语句组成,也可以由一组复杂的SQL语句组成。 事务特性:ACID 原子性(Atomicity):事务是最小单位,不可再分,要么全部成功,要么全部失败。 一致性(Consistency):事务的执行 阅读全文
posted @ 2020-11-14 16:05 zhaooo 阅读(69) 评论(0) 推荐(0) 编辑
摘要:人在江湖走,哪有不挨刀。作为后台的码农,时不时会被高冷DBA大佬甩一堆慢SQL过来,并贴上执行计划(query Execution plan ),让你去立刻马上去做优化。如果连基本的执行计划都不会看,那只能活该被DBA大佬白眼一番了。 mysql> explain select age from u 阅读全文
posted @ 2020-11-14 16:03 zhaooo 阅读(74) 评论(0) 推荐(0) 编辑
摘要:体系结构 数据库:物理操作系统文件或其他形式文件类型的集合,是按照某种数据模型组织起来并存放在存储器中的数据集合。 实例:数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件。 Mysql数据库体系结构图: 由图可见,MySQL由主要由以下几部分组成: 连接池组件:为解决资源的频繁分配﹑释放 阅读全文
posted @ 2020-11-13 20:55 zhaooo 阅读(148) 评论(0) 推荐(0) 编辑
摘要:博客园 en,这是在博客园留下的一个爪印。 慢慢沉淀,持续成长~ 阅读全文
posted @ 2020-11-13 17:47 zhaooo 阅读(60) 评论(0) 推荐(0) 编辑