自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(361)
  • 资源 (5)
  • 论坛 (2)
  • 收藏
  • 关注

原创 【kafka】深入理解kafka第一章-初识kafka

1、kafka分布式流式处理平台,以高吞吐、可持久化、可水平扩展、支持流数据处理等而被广发使用2、kafka三大角色消息系统:系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性(增加分区达到水平扩展)、可恢复性、消息顺序保障(分区消息顺序性)、回溯消费存储系统:消息持久化、多副本机制流式处理平台:流式处理类库(窗口、连接、变换和聚合)3、kafka架构说明:...

2020-01-12 10:51:25 259 1

原创 【攻克RabbitMQ】常见问题

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

2018-08-22 09:47:46 4340 2

原创 【JVM】基于BTrace的监控调试

BTrace简介BTrace可以动态地向目标应用程序的字节码注入追踪代码JavaComplierApi、JVMTI、Agent、Instrumentation+ASMBTrace安装入门本机安装新建环境变量BTRACE_HOME添加Path:%BTRACE_HOME%\bin插件安装BTrace使用详解编写脚本需要用到的依赖 ...

2018-08-18 15:41:46 766 1

原创 【JVM】JVisualVM可视化监控

各版本插件中心:https://visualvm.github.io/pluginscenters.html根据自己JDK的版本选择合适的插件中心安装常用插件:工具——插件本人安装了两个常用插件监控本地Tomcat监控远程Tomcat添加远程主机修改远程tomcat配置[root@localhost bin]# vi catalina.s...

2018-08-18 14:40:54 380 1

原创 【JVM】Jconsole、Jvisualvm检测死锁

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

2018-08-18 11:11:42 516 1

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

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

2018-08-18 10:53:07 1664 1

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

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

2018-08-18 08:30:48 781 1

原创 【JVM】基于JDK命令行监控

JVM参数类型标准参数# 此类参数相对比较稳定-help-server -client #指定JVM的类型-version #就是查看当前机器的java是什么版本,是什么类型的JVM(Server/Client),采用的是什么执行模式。-showversion #运行一个程序的时候首先把JVM的版本信息打印出来,这样便于问题诊断。个人建议Server类型的程序都把这个选项...

2018-08-16 20:24:34 345

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

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

2018-08-15 17:47:29 268 1

原创 【SpringCloud NetFlix】Hystrix监控

Hystrix监控调用方引入依赖,监控客户端 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter

2018-08-14 15:32:37 254

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

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

2018-08-12 15:02:46 324 2

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

   首先Java并发的实现依赖于JVM的实现和CPU的指令 【volatile】定义: Java线程内存模型确保所有线程看到的这个变量的值是一致性的。 特点: 保证变量修改在线程间可见 如何保证共享变量修改线程范围内可见性的?大多数都存在的情况下:  为了提高处理速度,处理器通常不直接操作内存,而是先将系统内存的数据读到内部缓存,然后在对还缓存...

2018-06-17 11:51:07 205 3

原创 【Spring Security】基本原理(一)

介绍SpringSecurity核心功能:认证(身份校验,你是谁),授权(你能干什么),攻击防护(防止伪造身份)原理REST API:相当于应用的controller,用户的增删该查的一些服务 Spring Security过滤器链:这个是最核心的部分,相当于一组Filter,请求和响应都会经过过滤器,这些过滤器在系统启动的时候,Spring boot会自动把它们都配置进去 ...

2018-04-29 11:23:40 3615 23

原创 【mysql】逻辑架构

内容小结

2021-05-16 21:28:13 4

原创 【Elasticsearch】向外扩展

前言1、向es集群加入节点2、发型其他es3、删除集群中的节点4、升级es的节点5、使用_catAPI6、扩展策略7、别名8、路由内容小结

2021-04-11 22:08:43 12

原创 【Elasticsearch】文档间关系

前言定义文档间关系的选项概览将对象作为字段值嵌套类型:联结嵌套的文档父子关系:关联分隔的文档反规范化:使用冗余的数据管理应用端的连接内容小结

2021-04-04 20:45:19 16

原创 【Elasticsearch】使用聚集来探索数据

前言度量聚集单个和多桶聚集嵌套聚集查询、过滤器和聚集之间的关系内容小结

2021-03-28 21:59:38 20

原创 【Elasticsearch】使用相关性进行搜索

前言Lucene和Elasticsearch内部打分是如何运作的提升特定查询或字段的得分使用解释的API接口来理解词频、逆文档频率、相关性得分通过重新计算文档子集的得分来减少评分的操作的性能影响使用function_score查询,获取终极的打分能力字段数据的缓存,以及它是如何影响Elasticsearch实例的内容小结...

2021-03-21 17:28:16 14

原创 【Elasticsearch】分析数据

前言1、什么是分析2、为文档使用分析器3、使用分析4、分析器、分词器和分词过滤器5、N元语法、侧边N元语法和滑动窗口6、提取词干内容小结

2021-03-14 22:20:55 18

原创 【Elasticsearch】搜索数据

前言内容小结

2021-02-28 21:34:18 16

原创 【Elasticsearch】索引、更新和删除数据

使用映射来定义各种文档用于定义文档字段的核心类型数组和多字段使用预定义字段更新现有文档删除数据小结

2021-02-21 22:13:26 24 2

原创 【Elasticsearch】逻辑设计和物理设计

前言内容小结

2021-02-14 22:12:17 58

原创 【并发】上山容易下山难-优雅停止线程

文章目录介绍最佳实践1、如果正确停止线程2、错误停止的方法3、停止线程相关的重要函数解析常见问题介绍最佳实践1、如果正确停止线程2、错误停止的方法3、停止线程相关的重要函数解析常见问题...

2021-01-31 17:25:32 33

原创 【Elasticsearch】介绍篇

介绍es里面数据是通过文档形式表示的,和MongoDB这种面向文档搭配起来很美妙。能完好的存储数据,甚至可以将其直接作为带搜索功能的NoSQL数据存储来使用。构建在Apache Lucene之上的开源分布式搜索引擎,充分利用Lucene,并对其进行了扩展,使存储、索引、搜索都变得更快、更容易。应用代码也不是必须用Java书写才可以和es兼容,完全可以通过JSON格式的HTTP请求来进行索引、搜索和管理es集群。解决问题提供快速查询es基于Lucene作为底层,Lucene是个高性能的搜索引

2021-01-28 23:13:35 23 2

原创 【并发】-启动线程的正确方式

前言应用小结

2021-01-24 22:50:41 31 2

原创 【并发】-创建线程最基本的两种方式

前言应用小结

2021-01-17 00:14:01 34

原创 “模板方法+职责链设计模式”解决业务场景重复以及场景之间依赖

前言应用小结

2021-01-10 22:39:13 32

原创 【设计之美】-重识封装、继承、多态、抽象

2020-05-31 20:33:46 165 1

原创 【踩坑】springboot项目集成redis和elasticsearch,解决启动冲突问题

启动类添加如下配置(已解决问题):System.setProperty("es.set.netty.runtime.available.processors","false");效果如下:参考文档如下(文档中有两种方案,本人用第一种已解决):https://www.jianshu.com/p/7a9dd59b6e59...

2020-03-31 23:05:44 531

原创 【MongoDB】MongoDB-Change Streams

前言Change Stream是从mongodb3.6版本开始支持的一种新特性,是mongodb向应用发布数据变更的一种方式,即数据库中有任何数据变化,应用端都可以得到通知,类似于触发器的概念方案思路MongoClient去订阅mongodb数据库中某张表最新事件变化,类似于以事件驱动机制对collection变化做监听,化主动为被动,只需要被动等待collection变化消息Ch...

2020-02-29 21:31:18 398

原创 【SpringBoot】集成swagger

1、引入依赖<!--swagger--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version&am

2018-10-29 21:55:19 415 2

原创 很不入流的总结

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

2018-08-23 20:52:19 414 10

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

多租户与权限#建立vhost,大括号里的参数表示 vhost 的名称。rabbitmqctl add vhost {vhost}#罗列当前vhost的相关信息,name标识vhost名称;tracing是否使用了RabbitMQ的trace功能rabbitmqctl list vhosts name tracing#删除vhost的命令,删除vhost同时也会删除其下所有的队列、交换器...

2018-08-22 09:49:55 369 2

原创 【攻克RabbitMQ】基础

​ 消息传递模式:点对点 (P2P, Point-to-Point) 模式和发布/订阅 (Pub/Sub) 模式作用​ 解耦、冗余、扩展性、削峰、可恢复性、顺序保证、缓冲、异步通信具体特点​ 可靠性、灵活的路由、扩展性、高可用性、多种协议、多语言客户端消息队列的运转过程:多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(轮询)给多个消费者进行处理,...

2018-08-22 09:39:28 206 1

原创 【攻克Redis】键值管理

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

2018-08-20 15:53:09 285 2

原创 【攻克Redis】集合类型

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

2018-08-20 15:49:20 221 1

原创 【攻克Redis】列表类型

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

2018-08-20 15:47:23 170 1

原创 【攻克Redis】哈希类型

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

2018-08-20 15:45:33 645 1

原创 【攻克Redis】字符串类型

字符串常用命令#设置值#ex seconds:为键设置秒级过期时间。#px milliseconds:为键设置毫秒级过期时间。#nx:键必须不存在,才可以设置成功,用于添加。#xx:与nx相反,键必须存在,才可以设置成功,用于更新set key value [ex seconds] [px milliseconds] [nx|xx]#若键hello已存在,setnx失败...

2018-08-20 15:44:00 117 1

原创 【攻克Redis】全局命令、单线程模型

​ Redis有5种数据结构,它们是键值对中的值。预备全局命令#查看所有键,时间复杂读O(n),线上环境禁止使用keys *#键总数,不会遍历所有键,直接获取redis内置的键总数变量dbsize#检查键是否存在exists key#删除键del key [key ...]#键过期expire key seconds#查看键过期时间:返回值大于0为剩余时...

2018-08-20 15:41:12 123 2

正则表达式经典实例

史上最全的正则表达式

2017-02-28

Java生产环境下性能监控与调优详解视频

生产环境下性能监控与调优视频详解,在Java开发的路上,更进一步提升调优技能。

2018-08-11

1998-2016腾讯传

淘宝有自己的发展史,京东也有自己的发展史,你们知道吗,腾讯也有自己的发展史了,欢迎小伙伴们来领取福利啊。

2017-02-02

前端开发帮助手册大全

一些常用的帮助手册,希望对大家有用哦。

2017-02-02

Linux命令行与Shell脚本编程大全第2版.布卢姆

玩转Linux

2017-02-28

周周周6688的留言板

发表于 2020-01-02 最后回复 2020-01-02

文章待审核

发表于 2015-08-09 最后回复 2015-10-04

空空如也

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

TA关注的人 TA的粉丝

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