- 博客(13)
- 收藏
- 关注
原创 ChaosBlade使用与Java自定义故障注入实现
ChaosBlade使用与Java自定义故障注入实现前言ChaosBlade介绍安装功能介绍java agent挂载UID卸载UID查询通用参数查询指定类方法注入延迟修改指定类方法的返回值指定java进程CPU满载指定jvm区域内存溢出CodeCache指定类方法抛自定义异常指定类方法执行自定义java或groovy脚本(重要)脚本规范执行命令前言当前团队考虑通过一些故障注入或者故障模拟的方式来进行故障分析的测试.因此选择了ChaosBlade来进行技术实现.ChaosBlade介绍阿里开源的混沌实
2021-12-29 16:45:08
3551
原创 从Java BIO 到 Netty (二) ---Java BIO 示例
File I/OTCP-SocketUDP-SocketFile I/O /** * try-with-resource since JDK7 * 此处try()中的类只要实现AutoCloseable接口,就可以保证程序执行后会自动释放资源,不需要在finally中释放. */ public static void main(String[] args) { try ( InputStreamReader inputStreamReader = new FileReader.
2020-10-09 16:03:47
112
原创 从Java BIO 到 Netty (一) ---IO
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-10-09 15:57:27
170
原创 Spring Cloud Gateway 部分源码解析
Spring Cloud Gateway 部分源码解析ServerWebExchange的构建DispatcherHandler执行流程RoutePredicateHandlerMapping执行流程FilteringWebHandler先上官方文档: https://spring.io/projects/spring-cloud-gatewayServerWebExchange的构建1.入口类为ReactorHttpHandlerAdapter的apply方法apply方法对请求和响应进行封装,分
2020-08-25 16:10:26
399
原创 Spring Cloud Gateway从入门到实战
Spring Cloud Gateway从入门到实战再到源码API网关的作用Spring Cloud Gateway特性与ZUUL的对比Spring Cloud Gateway核心概念Spring Cloud Gateway工作原理Spring Cloud Gateway入门案例内置的路由断言工厂内置的Filter基于路由发现的路由规则Gateway Filter 与 Global FilterActuator Api动态路由源码新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与
2020-08-25 15:03:37
268
原创 流媒体分发之HLS(HTTP Live Streaming)
流媒体分发之HLS什么是流媒体采用流媒体技术的优势有哪些流媒体的分发协议 RTMP与HLSRTMPHLSRTMP与HLS的对比HLS文件分片ffmpeg分片M3U8文件M3U8文件播放拓展: 实现自己的m3u8浏览器播放器什么是流媒体流媒体(Streaming Media)技术是指将一连串的媒体数据压缩后,以流的方式在网络中分段传送,实现在网络上实时传输影音的一种技术。以上是网上对于流媒体的定义,其实简单来说,流媒体就是将媒体文件(音频、视频、图片、文本、动画)压缩之后分段从服务器分发到客户端。采用
2020-08-13 19:05:46
1485
原创 MySQL教程与SQL优化(三)---索引
MySQL教程与SQL优化:索引与查询优化什么是索引MySQL中的索引结构索引的使用索引类型索引创建索引删除索引使用(SQL查询)SQL优化什么是索引MySQL中的索引结构索引的使用索引类型索引创建索引删除索引使用(SQL查询)SQL优化...
2020-07-21 14:04:54
134
原创 Java多线程(二)---线程状态与锁
Java多线程线程状态线程状态的转换new与运行的切换运行与阻塞的切换运行与等待的切换运行与(时间)等待的切换运行与终结的切换死锁什么是死锁死锁问题的定位如何避免死锁活锁什么是活锁饥饿什么是饥饿线程状态我们可以通过线程的api, getStatus()获取线程的运行状态.通过Thread内部的枚举类我们可以知道在java中的线程有6种状态,分别是:NEW 就绪RUNNABLE 运行BLOCKED 阻塞WAITING 等待TIMED_WAITING (时间)等待TERMINATED
2020-07-15 17:45:35
192
原创 MySQL教程与SQL优化(一)---常用函数
MySQL教程与SQL优化:常用函数算数函数字符串函数时间与日期函数算数函数函数作用示例CEILING(x)向上取整(同CEIL) ,返回值会被转化为一个 BIGINTselect CEILING(3.14) -> 4CEIL(x)向上取整(同CEILING) ,返回值会被转化为一个 BIGINTselect CEIL(3.14) -> 4FLOOR(x)向下取整 ,返回值会被转化为一个 BIGINTSELECT FLOOR(1.9) ->
2020-07-12 18:47:31
117
原创 Mysql教程与SQL优化(二)---连接查询
Mysql教程与SQL优化: 连接查询内连接查询与外连接查询左连接查询与右连接查询UNION与UNION ALL功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入内连接查询与外连接查询左连接查询与右连接查询UNION与UNION
2020-07-12 17:01:22
109
原创 Java多线程(一)---多线程实现方式与线程API
Java多线程进程与线程并行与并发Java中的多线程Thread中的常用API线程API的一些重点区别对比进程与线程进程当一个程序运行时,从磁盘加载程序到内存并运行程序,这时就开始了一个进程.进程也可以看做是程序的一个实例,有的程序可以开启多个进程,例如: 浏览器,idea等,也有的程序只能开启一个进程,例如: 微信PC,常见的网络游戏客户端等线程一个进程可以是由一组线程组成,这一组中可能有一个线程也可能有多个线程.Java中,进程是资源分配的最小单位,线程是程序执行的最小单元.线程与进程的
2020-07-09 14:27:57
157
原创 Java动态代理的两种实现
动态代理与静态代理静态代理:程序编写时,以手动编码的方式来对某一个类或者对象的功能进行增强.代码示例:public class StaticProxy { public static void main(String[] args) { Car car = new Car(); System.out.println("------动态调整------"); car.run(); System.out.println("------动态调整------"); }}class
2020-07-08 18:49:49
174
原创 Linux进程占用cpu100%问题排查
传统方式查看当前占用CPU较大的进程PID. 命令: top定位具体业务模块. 命令: pwdx [PID]定位具体项目(例如: 多个java进程) 命令: ps aux | grep [PID]根据第一步获取到的PID找到对应的项目,查找进程中占用cpu较多的线程ID. 命令: top -Hp [PID]将第二部获取到的线程ID转化为16进制. 命令: printf “0x%x\n” [线程PID]通过java的jstack获取对应线程指定行数的堆栈信息. 命令: js
2020-07-02 16:03:50
4707
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人