【攻克RabbitMQ】常见问题

消息什么情况下会丢失?配合mandatory参数或备份交换器来提高程序的健壮性 发送消息的交换器并没有绑定任何队列,消息将会丢失 交换器绑定了某个队列,但是发送消息时的路由键无法与现存的队列匹配 预估队列的使用情况? 在后期运行过程中超过预定的阈值,可以根据实际情况对当前集群进行扩容或者...

2018-08-22 09:47:46

阅读数 1555

评论数 2

【JVM】基于BTrace的监控调试

BTrace简介 BTrace可以动态地向目标应用程序的字节码注入追踪代码 JavaComplierApi、JVMTI、Agent、Instrumentation+ASM BTrace安装入门 本机安装 新建环境变量BTRACE_HOME 添加Path:%BTRACE_HOM...

2018-08-18 15:41:46

阅读数 367

评论数 1

【JVM】JVisualVM可视化监控

各版本插件中心: https://visualvm.github.io/pluginscenters.html 根据自己JDK的版本选择合适的插件中心 安装常用插件: 工具——插件 本人安装了两个常用插件 监控本地Tomcat 监控远程Tomcat 添加远程主机 ...

2018-08-18 14:40:54

阅读数 144

评论数 1

【JVM】Jconsole、Jvisualvm检测死锁

查看java进程 jps -l 打开Jconsole工具,连接指定的Java进程 点击如下死锁

2018-08-18 11:11:42

阅读数 187

评论数 1

【JVM】Jstack实战死循环与死锁

死锁检测 # 查看Java PID(进程号) [root@localhost ~]# jps -l # 控制台输出线程的dump信息 [root@localhost tomcat]# jstack PID [root@localhost tomcat]# jstack Usage: ...

2018-08-18 10:53:07

阅读数 484

评论数 1

【JVM】Jmap+MAT实战内存溢出

导出内存映像文件 #第一种:内存溢出自动导出 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./ #第二种:使用jmap命令手动导出 [root@localhost ~]# jmap -dump:format=b,file=heap.hpr...

2018-08-18 08:30:48

阅读数 308

评论数 1

【JVM】基于JDK命令行监控

JVM参数类型 标准参数 # 此类参数相对比较稳定 -help -server -client #指定JVM的类型 -version #就是查看当前机器的java是什么版本,是什么类型的JVM(Server/Client),采用的是什么执行模式。 -showversion #运行一个...

2018-08-16 20:24:34

阅读数 185

评论数 0

【SpringCloud NetFlix】网关Zuul(四)功能进阶

数字越小,优先级越高 自定义过滤器 shouldFilter方法 优先级 自定义ZuulFilter: public class MyFilter extends ZuulFilter { //判断要不要继续执行;ture为总是要执行 public boole...

2018-08-15 17:47:29

阅读数 153

评论数 1

【SpringCloud NetFlix】Hystrix监控

Hystrix监控 调用方引入依赖,监控客户端 <dependency> <groupId>org.springf...

2018-08-14 15:32:37

阅读数 121

评论数 0

【并发编程】8种单例模式

单例模式 1、饿汉式(静态常量)-可用 public class Singleton { private final static Singleton INSTANCE = new Singleton(); private Singleton(){} pu...

2018-08-12 15:02:46

阅读数 139

评论数 2

【Java并发编程的艺术】Java并发机制的底层的实现原理

    首先Java并发的实现依赖于JVM的实现和CPU的指令   【volatile】 定义:   Java线程内存模型确保所有线程看到的这个变量的值是一致性的。   特点:   保证变量修改在线程间可见   如何保证共享变量修改线程范围内可见性的? 大多数都存在的情况下...

2018-06-17 11:51:07

阅读数 113

评论数 3

【Spring Security】基本原理(一)

介绍 SpringSecurity核心功能:认证(身份校验,你是谁),授权(你能干什么),攻击防护(防止伪造身份) 原理 REST API:相当于应用的controller,用户的增删该查的一些服务 Spring Security过滤器链:这个是最核心的部分,相当于一组Filter...

2018-04-29 11:23:40

阅读数 922

评论数 23

【SpringBoot】集成swagger

1、引入依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId&...

2018-10-29 21:55:19

阅读数 130

评论数 2

很不入流的总结

进入这一行差不多四年多了,这一路走来,有些事情不得不承认还是做得不够成熟。 为什么阳光总是照耀在别人身上。我总是被遗忘的角落,这个世界太不公。 你有这样的想法和感受吗? 其实那是因为你自己躲开了阳光,自己躲在了角落。 我以前也是这样...

2018-08-23 20:52:19

阅读数 250

评论数 7

【攻克RabbitMQ】多租户与权限的相关命令

多租户与权限 #建立vhost,大括号里的参数表示 vhost 的名称。 rabbitmqctl add vhost {vhost} #罗列当前vhost的相关信息,name标识vhost名称;tracing是否使用了RabbitMQ的trace功能 rabbitmqctl list vhost...

2018-08-22 09:49:55

阅读数 183

评论数 2

【攻克RabbitMQ】基础

​ 消息传递模式:点对点 (P2P, Point-to-Point) 模式和发布/订阅 (Pub/Sub) 模式 作用 ​ 解耦、冗余、扩展性、削峰、可恢复性、顺序保证、缓冲、异步通信 具体特点 ​ 可靠性、灵活的路由、扩展性、高可用性、多种协议、多语言客户端 消息队列的运转...

2018-08-22 09:39:28

阅读数 105

评论数 1

【攻克Redis】键值管理

键重命名 #重命名 #注意:如果newkey本身存在,这种重命名会覆盖存在的key rename key newkey #确保只有newkey不存在时候才被覆盖 renamenx key newkey 注意: 于重命名键期间会执行del命令删除旧的键,如果键对应的值比较大,会存在阻塞R...

2018-08-20 15:53:09

阅读数 153

评论数 2

【攻克Redis】集合类型

集合 ​ 集合不允许有重复元素,并且结合中的元素是无序的,不能通过索引下标直接获取,Redis支持集合内的增删改查,支持多个集合取交集、并集、差集 命令 集合内操作 #添加元素,返回结果为添加成功的个数 sadd key element [element ...] #删除元...

2018-08-20 15:49:20

阅读数 135

评论数 1

【攻克Redis】列表类型

列表 ​ 列表(list)类型是用来存储多个有序的字符串,在Redis中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等,列表是一种比较灵活的数据结构,它可以充当栈和队列的角色。 ​ 列表元素是有序的,元素是可以重复的。 命...

2018-08-20 15:47:23

阅读数 79

评论数 1

【攻克Redis】哈希类型

哈希 ​ 哈希类型是指键值本身又是一个键值对结构;哈希类型中的映射关系叫作field-value,注意这里的value是指field对应 的值,不是键对应的值,请注意value在不同上下文的作用。 命令 #设置值 hset key field value #获取值,若不存在返回n...

2018-08-20 15:45:33

阅读数 171

评论数 1

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