自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (116)
  • 收藏
  • 关注

原创 线程池一定需要了解的那些事

线程池一定需要了解的那些事

2023-08-23 09:37:11 116

原创 CAS 一些隐藏的知识,您了解吗

ConcurrentHashMap 在JDK1.8中ConcurrentHashMap 内部使用的是数组加链表加红黑树的结构,通过CAS+volatile或synchronized的方式来保证线程安全的,这些原理已毋庸置疑,一言不合上代码.模拟2个线程累计,通过ConcurrentHashMap 储存累计的结果。

2023-08-17 17:05:23 274

原创 手写一个锁其实也很easy

手写一个锁其实也很easy

2023-08-02 14:54:01 139

原创 静静地夜晚一起温习,并发编程中生产消费者模式几种实现方式

基于synchronized机制 ,使用Object 基类最基础的 wait()、notify()实现。基于Condition 机制实现,java 1.5之后Condition 才应运而生,它的产生主要来替代Object的wait()、notify() 来实现线程之间的协作,相对来讲Condition的await()、signal()这种方式实现线程间协作更加安全和高效。直接使用BlockingQueue实现,基于LinkedBlockingQueue、ArrayBlockingQueue 等子类实现。

2023-08-01 15:10:51 85

原创 CountDownLatch 一个神奇的计数器,您了解吗

其本质就是一个计数器,传入一个初始的值,调用await 方法会阻塞当前线程,直到调用countDown方法计数器递减为0时,唤起等待线程,等待线程开始执行。获取同步锁状态,state 与 new CountDownLatch(int count)传入的计数器的值密切相关,state 不等于0才执行doAcquireSharedInterruptibly(arg)方法,把当前线程插入到同步队列中。一个线程等待其他线程执行完成后,再继续执行,类似join 方法,多用于不同线程之间的协作。

2023-07-25 17:41:57 131

原创 一篇文章彻底了解synchronized

被synchronized 修饰后,都会有一个 monitor 与java对象关联,monitor 本身就是监视器,可以理解成为一把锁,当线程想要执行一段被synchronized 修饰的方法或者代码块时,该线程需要先获取到 synchronized 修饰的对象对应的 monitor。1、指令执行monitorexit时,则monitor的进入数减1,如果减1后进入数为0时,该线程退出monitor,不再是这个monitor的所有者。2、修饰静态方法,锁定当前类对象,非实例对象,不同实例对象依然互斥。

2023-07-20 14:49:08 60

原创 ElasticSerach RestHighLevelClient 查询,高亮分页查询,scroll分页 查询,scroll 高亮查询工具类

ElasticSerach RestHighLevelClient 查询,高亮分页查询,scroll分页 查询,scroll 高亮查询

2022-01-10 16:29:17 2536

原创 mysql 或oracle in 带入大量动态参数,优化

1、sql 改写: 用join 代替in, mysql in 过多参数,可能导致索引失效,不走索引SELECT count( a.credit_code ) enterpriseCnt, ifnull( sum( CASE WHEN a.result = 1 THEN 1 ELSE 0 END ), 0 ) authEnterPriseCnt, ifnull( sum( CASE WHEN a.result != 1 THEN 1 ELSE 0 END ), 0 ) noAuthEnterP

2021-10-12 15:26:35 541

原创 mybatis plus Cause: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3

实体类中没有相应的构造方法。必须包含无参数的构造方法 或 查询语句返回的字段数相应的参数的构造方法

2021-10-12 15:19:30 423

原创 轻量级日志收集 FileBeat + ElasticSearch

轻量级日志收集 FileBeat + ElasticSearch前言轻量级的服务,未构建独立的spring cloud 体系,如单体spring boot 使用ELK组件进行日志收集,整体过于复杂繁琐,推荐轻量级日志收集框架:spring boot logback json 格式输出 +FileBeat + ElasticSearch +kibana(查询展示也可忽略)。一、Filebeat是什么?Filebeat是轻量级日志收集转发插件。作为服务器上的代理安装,Filebeat监视您指定的

2021-07-29 17:52:47 1057

转载 mybatis-plus批量逻辑删除,并填充字段

https://blog.csdn.net/yuanlintufang/article/details/106180260

2021-07-21 14:04:53 310

原创 sentinel 集群流控 sentinel 持久化到nacos

介绍为什么要使用集群流控呢?假设我们希望给某个用户限制调用某个 API 的总 QPS 为 50,但机器数可能很多(比如有 100 台)。这时候我们很自然地就想到,找一个 server 来专门来统计总的调用量,其它的实例都与这台 server 通信来判断是否可以调用。这就是最基础的集群流控的方式。另外集群流控还可以解决流量不均匀导致总体限流效果不佳的问题。假设集群中有 10 台机器,我们给每台机器设置单机限流阈值为 10 QPS,理想情况下整个集群的限流阈值就为 100 QPS。不过实际情况下流量

2021-07-02 16:33:36 800

原创 rabbitmq 发送确认机制

rabbitmq: host: 192.168.88.22 port: 5672 username: admin password: admin #开启 confirm 确认机制 publisher-confirms: true #开启 return 确认机制 publisher-returns: true #设置为 true 后 消费者在消息没有被路由到合适队列情况下会被return监听,而不会自动删除 template: mandatory: true.

2021-05-18 11:38:00 185

原创 读取canal binlog,rabbitmq 接收消息 全是数字问题

canal 读取mysql binlog 推送rabbitmq时,未指定contentType,AbstractJackson2MessageConverter解析数据时,需判断contentType,因为MessageProperties 为null,content也为null,未转码直接返回byte[]数组。 ;源码如下 public Object fromMessage(Message message, @Nullable Object conversionHint) throws Me..

2021-04-29 16:46:38 800

原创 sharding-jdbc 数据库连接池配置(有点小坑),读写分离,分表策略,主键自增

spring: #shardingsphere shardingsphere: datasource: #主库 m0: driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://192.168.88.22:3306/test?characterEncoding=ut.

2021-04-20 10:55:11 3160

原创 基于zookeeper 监控dubbo provider 下线,提供dubbo 服务下线 邮箱预警

由于JDK 使用1.7,案例中未使用1.8 新特性 扫描dubbo 注册zookeeper 上的所有 /dubbo目录下的 provider目录节点 public void getNode(CuratorFramework client, String parentNode) { try { List<String> nodeList = ZKUtils.getChildren(client,parentNode);

2020-09-22 10:26:35 712

原创 Arthas 是Alibaba开源的Java诊断工具

Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行...

2020-09-17 09:03:28 388

原创 spring-boot-devtools 热部署慎用,导致一些的类,实例不匹配问题

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> 热部署慎用,导致一些的类,实例不匹配问题...

2020-08-20 11:14:11 520

原创 spring boot 国际化配置,国际化校验提示信息,校验提示信息国际化

spring boot 国际化配置,支持提示信息国际化,通过head 传递参数locale 动态切换语言package com.config;import org.hibernate.validator.HibernateValidator;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.spring

2020-07-31 08:50:26 1127

原创 ELK logstash 通过kafka 接收 日志,Grok 解析 过滤 日志

input { kafka { type => "normal_log_type" bootstrap_servers => ["10.2.11.92:9092"] topics => ["log_topic"] #group_id => "filebeat-logstash" #client_id => "logstashnode1" consumer_threads => 1 # codec => jso.

2020-07-28 08:37:53 945 1

原创 JSON字符串中带有反斜杠

1、使用JSON.parse() 转换成Object 对象2、转换字符串为 对象,如map, json ,不返回字符串类型

2020-07-28 08:29:24 5180

原创 mybatis-plus 打印完整SQL,SQL中包含参数

mybatis-plus SQL 日志完整输出,重写com.baomidou.mybatisplus.core.MybatisDefaultParameterHandler.setParameters 方法即可 package com.baomidou.mybatisplus.core;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.core.incrementer.Id..

2020-07-20 20:37:06 4101 3

原创 Ribbon 默认路由算法

指定默认路由类路由算法 AtomicInteger 自增 取模服务的数量public class RoundRobinRule extends AbstractLoadBalancerRule { private AtomicInteger nextServerCyclicCounter; private static final boolean AVAILABLE_ONLY_SERVERS = true; private static final boolean ALL

2020-07-19 15:32:40 313

原创 spring cloud feign okhttp3 gzip 压缩问题

引入pom okhttp 配置,okhttp使用连接池技术,相对feign httpUrlConnection 每次请求,创建一个连接,效率更高 <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-okhttp</artifactId> </dependency>.

2020-07-15 15:12:11 2023

原创 zookeeper 分布式锁

zookeeper 分布式锁比redis 分布式锁更优雅,通过分布式锁保证数据安全性、一致性1. 引入pom.xm 配置 <!-- zookeeper 客户端 对应3.4版本 zookeeper begin--> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework

2020-07-08 15:52:36 217

原创 spring cloud feign 注意事项

一、feign参数传递1、 不支持@GetMapping类似注解声明请求,需使用@RequestMapping(value = “url”,method = RequestMethod.GET)2、当参数比较复杂时,feign即使声明为get请求也会强行使用post请求,解决方推荐第4项3、使用@RequestParam注解时必须要在后面加上参数名;feign客户端的配置,包含熔断、调用服务名称,url 或日志等信息4、案例@FeignClient(name ="API-SE..

2020-07-08 15:44:59 416

原创 Spring Batch 集成 MyBatis,durid 连接池兼容MyBatisCursorItemReader 存在bug, 选用其他连接池

import lombok.extern.slf4j.Slf4j;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.batch.MyBatisCursorItemReader;import org.springframework.batch.core.Job;import org.springframework.batch.core.JobParameter;import org.sprin..

2020-06-02 10:09:49 1779 2

原创 spring batch 带参数 读取json 格式文件

import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.batch.core.Job;import org.springframework.batch.core.JobParameter;import org.springframework.batch.core.Step;import org.spring.

2020-06-02 10:04:21 435

原创 java 约瑟夫问题

public class Test { public static void main(String[] args) { Node<Integer> first = null; Node<Integer> pre = null; for (int i = 1; i <= 41; i++) { if (i == 1) { first = new Node<.

2020-05-25 21:56:03 354

原创 spring boot websocket 注解版基于token 鉴权,并发性能测试 demo(结合网上demo,spring boot websocket 官网资料)

import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.server.standard.ServerEndpointExporter;/** *...

2020-01-06 11:09:11 5141 4

转载 Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

五)Java I/O模型从BIO到NIO和Reactor模式本文介绍了Java中的四种I/O模型,同步阻塞,同步非阻塞,多路复用,异步阻塞。同时将NIO和BIO进行了对比,并详细分析了基于NIO的Reactor模式,包括经典单线程模型以及多线程模式和多Reactor模式。原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。本文转发自技术世界,原文链接 http://www.j...

2019-11-17 12:02:14 87

sentinel 持久化到nacos

sentinel 1.8.0持久化到nacos, nacos 地址修改 里面的application.properties 即可默认localhost

2021-07-02

spring cloud 体系版本选型,涉及spring cloud alibaba spring boot spring cloud

spring boot , spring cloud alibaba, spring cloub 版本选型

2020-11-06

Redis 64位window 版 Redis-x64-3.2.100

Redis 64位window 版 Redis-x64-3.2.100

2020-09-27

xxl-job 架构图

xxl-job 详细的架构图,供大家参考学习!

2020-09-27

JVM 虚拟机原理、内存结构、优化、垃圾回收分析等全方位的讲解,专业!

JVM 虚拟机原理、内存结构(堆栈详细讲解)、类加载机制、优化、垃圾回收算法、垃圾回收分析等全方位的讲解,专业!

2020-09-24

redis 桌面管理工具,redis 可视化工具

Redis Desktop Manager是一款简单快速、跨平台的Redis桌面管理工具,也被称作Redis可视化工具,是一款开源软件,支持通过SSH Tunnel连接,支持windows、mac等多平台

2020-09-24

elasticsearch-analysis-ik-6.3.0 elasticsearch- 6.3.0 分词jar包

elasticsearch-analysis-ik-6.3.0 分词插件,对应elasticsearch 6.3.0 的版本!

2020-09-24

filebeat 6.3.0 轻量型日志采集器

filebeat 6.3.0 轻量型日志采集器 当您要面对成百上千、甚至成千上万的服务器、虚拟机和容器生成的日志时,请告别 SSH 吧。Filebeat 将为您提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂

2020-09-24

zookeeper 可视化、图形化展示工具 ZooInspector

ZooInspector,工具图形化展示工具,zookeeper图形化的客户端工具(ZooInspector)。页面很形象,直观zookeeper 树节点

2020-09-24

powerdesgin name列名 转注释脚本

powerdesgin name列名 转注释脚本,配置好,一点执行就生效,非常不错,建议大家使用,减少注释的编写量

2020-09-24

SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。

2020-09-24

基于zookeeper 监控dubbo provider 下线,提供dubbo 服务下线 邮箱预警

基于zookeeper 监控dubbo provider 下线,提供dubbo 服务下线 邮箱预警,对dubbo 代码0入侵,完全独立部署,独立的JAR

2020-09-22

JVM实战篇笔记.pdf

JVM实战篇笔记,提供全方面的JVM 操作教程,定位JVM 内存溢出,堆栈使用情况,内存溢出分析,在线基于工具实时监控

2020-09-15

xxl-job-master.zip

分布式job 基于spring boot ,支持分配,冗余,负载均衡,日志,失败重试,异常邮件通知,页面可视化管理等,简单牛逼的分布式job

2019-09-30

sping cloud 各组件集成方案,配置中心,注册中心、网关、feign ,mybatis集成方案,通用mapper自动生成工具 带注解,redis 集成

sping cloud 各组件集成方案,配置中心,注册中心、网关、feign ,mybatis集成方案,通用mapper自动生成工具 带注解,redis 集成

2019-09-24

JVM 深入学习教程深入分析JVM教程!jvm 内存原型,优化等等

JVM 深入分析,简介,学习,面试必备,很深入,全方位介绍

2019-06-30

Foxmail_7.2.11.303.exe

foxmail 邮箱管理,很好用的,免费的,开源的,谢谢了,哈哈

2019-06-30

Redis设计与实现

【官方网站】, 本书的官方网站 www.RedisBook.com 提供了书本试读、相关源码下载和勘误回报等服务,欢迎读者浏览和使用。, 【编辑推荐】, 系统而全面地描述了 Redis 内部运行机制, 图示丰富,描述清晰,并给出大量参考信息,是NoSQL数据库开发人员案头必备, 包括大部分Redis单机特征,以及所有多机特性, 【读者评价】, 这本书描述的知识点很丰富,覆盖很全,里面提到特性较多,有不少我们也没用过 :) 每个命令内部的机制的介绍很不错,很多估计也是首次有详细文档介绍。, ——杨卫华(@TimYang)新浪微博技术总监, 近几年Redis以其高性能、高灵活性的优点,变得越来越流行。但很多人在使用Redis时,仅仅还是停留在比较表层的功能性认识,缺乏对内部机制原理的深入理解。本书是huangz同学长期对Redis源码的阅读心得结晶,书中对Redis的各个方面都进行了详细且深入的讲解,将复杂的原理用最简单的方式为大家解构和讲解,强烈推荐给每一位Redis的使用者阅读。, —— iammutex,NoSQLFan站长,乐视网技术经理, Redis 是近些年来特别火爆的 NoSQL 之一。纵观中外各种书籍还没有一本能对 Redis 内部进行深入剖析,《Redis 设计与实现》可谓开此先河。常和作者在网上交流,知道作者为这本书付出了大量的心血。这本书行文流畅,思路清晰,详细地介绍了 Redis 源码的方方面面。无论是想学习 NoSQL、网络编程的初学者,还是源码控的进阶者,本书都会有很大的帮助。, —— 阮若夷,支付宝高级专家, 【内容简介】, 本书全面而完整地讲解了Redis的内部机制与实现方式,对Redis的大多数单机功能以及所有多机功能的实现原理进行了介绍,展示了这些功能的核心数据结构以及关键的算法思想,图示丰富,描述清晰,并给出大量参考信息。通过阅读本书,读者可以快速、有效地了解Redis的内部构造以及运作机制,更好、更高效地使用Redis。, 本书主要分为四大部分。第一部分“数据结构与对象”介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。第二部分“单机数据库的实现”对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。第三部分“多机数据库的实现”对Redis的Sentinel、复制、集群三个多机功能进行了介绍。第四部分“独立功能的实现”对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本、排序、二进制位数组、慢查询日志、监视器等。本书作者专门维护了www.redisbook.com网站,提供带有详细注释的Redis源代码,以及本书相关的更新内容。

2016-05-08

Maven2+Eclipse开发J2EE

Maven2+Eclipse开发J2EE,有了它,MAVEN你的了

2015-03-17

libevent-2.0.22-stable.tar.gz

libevent-2.0.22-stable.tar.gz

2015-03-17

memcached 权威指南

memcached 权威指南,全面细致的讲解原理与优化流程

2015-03-17

高并发web架构

高并发web架构,高并发,负载均衡,详细的交接

2015-03-17

MySQL_Cluster集群配置方案

MySQL_CLUSTER 集群配置方案,学到不到。

2015-03-11

MySQL性能调优与架构设计

MySQL性能调优与架构设计, MYSQL 调优与集群,主分架构设计,收益匪浅,一齐成长为MYSQL大牛

2015-03-11

Memcached 内存分析、调优、集群

Memcached内存分析、调优、集群,好资料一齐分享

2015-03-11

Spring_Data_JPA 开发教程

Spring_Data_JPA,难得好资料,全面,实例、原理结合,使用SPRING DATA JPA必备

2014-09-08

虚拟机下Linux系统安装图解教程

非常有用的安装教程,一起分享,对于VMARE下安装LINUX特别有指导意义

2014-09-08

高级Bash脚本编程指南

高级Bash脚本编程指南,好资料一起分享,哈哈

2014-08-31

Shell脚本学习指南

Shell脚本学习指南,学习SHELL,编写SHELL必备

2014-08-31

Shell编程指南

Shell编程指南,SHELL学习必备,一起分享

2014-08-31

Linux必学的60个命令

Linux必学的60个命令,学习LINUX 必备,3Q

2014-08-31

vmwarestation10 注册码.

vmwarestation10 注册码.一起分享

2014-08-31

hadoop第二版权威指南

hadoop权威指南(第二版),有关HADOOP全面有效的教程,受益匪浅,一起分享

2014-08-31

jquery1.6.3与jquery1.9.0包

jquery1.6.3与jquery1.9.0包,已是JQUERY最后的包了,从官网刚下载的来的,2013-1-30

2013-01-30

Log4j配置指南

Log4j配置

2013-01-27

log4j中文手册

log4j中文手册,详细介绍log4j的具体配置,实用。

2013-01-27

spring注解的学习

spring注解的学习

2013-01-27

Spring2.5_注解介绍(3.0通用)

Spring2.5_注解介绍(3.0通用),一齐分享!

2013-01-27

sybase优化手册

sybase优化手册,相当不错,优秀的文档,sybase与ORACLE还是的很大区别的,我相信,只要看文档,同样可以把数据库性能提高到极致。

2013-01-27

Sybase ASE15性能优化2

Sybase ASE15性能优化2,对Sybas ase 进行了全面、深入优化讲解,收获颇多,大家好的东西一齐分享。

2013-01-27

空空如也

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

TA关注的人

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