自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 问答 (1)
  • 收藏
  • 关注

原创 Kafka 生产者投递内存池源码剖析

在申请内存的时候如果申请的内存大小大于指定的内存块大小就会抛出异常,无法申请。如果是等于poolableSize的话,就会判断free中是否有,有的话就直接从free中取出,没有的话再去申请(这个free可以里面为一个缓存,每次归还的时候会归还到free中(前提free中的ByteBuffer的大小和poolableSize一致))。如果申请的时候内存不足,会等待(Deque waiters),当归还的时候会唤醒等待的节点然后再去分配内存。如果需要再本地调试的时候 (可以使用如下代码进行debug)

2024-01-21 14:39:36 652

原创 ZAB算法

zab协议全称为zookeeper atomic boradcast(原子广播协议)zab协议是借鉴Paxos的思想来实现的一种保证分布式架构中数据一致性的算法zab的协议包含两种 一种是原子广播协议 一种是崩溃恢复协议。

2024-01-19 17:28:04 721

原创 Raft算法

随后领导者执行的数据被更新,并且通知所有跟随者这条事务操作已经提交执行,收到消息后跟随者也会提交刚才执行的事务操作,将数据更新。那么此时呢 node1 node2 node3会因为接收不到领导者的心跳 然后重新选举出来一个leader(node1)会将投票请求发送给node2 此时node1获得了node2的投票也获得到了自己的。直到大多数节点将该操作写入到各自本地日志,并且收到这些节点的确认消息,此刻领导者的这个事务操作就。并且会撤回之前没有提交的数据,并将自己的操作日志与新领导的操作日志更新匹配。

2024-01-16 13:12:18 405

原创 JAVA 多线程数据分发器

多线程数据分发处理器

2023-02-06 09:22:56 350

转载 inline-block元素 内容问题

https://www.cnblogs.com/jiangzilong/p/6145157.html

2022-05-02 13:30:33 142

原创 数据可视化 数据多维度检索 多维度统计

后续功能实现完整后会记录下来 采用es + vue + echarts来实现

2022-01-11 20:03:56 1289

原创 java日志报警接入钉钉

思路 目前java应用都是大多数使用logback,可以自定logback appender来对日志进行拦截,既然是报警只拦截ERROR即可,具体怎么处理是接入钉钉,还是企业微信,或者邮件根据具体需要处理即可。

2021-12-15 15:30:09 826

原创 mongb 增删改查基本语法内嵌文档基本语法

//查询collection的所有数据 -> mysql select all//db.user_integral_info.find({})//查询gainValue = 25的数据//db.user_integral_info.find({gainValue:30})// 大于 小于 不等于//lt gt//db.user_integral_info.find({gainValue:{KaTeX parse error: Expected 'EOF', got '}' at posi

2021-09-27 14:43:59 230

原创 积分系统设计与开发

近期在做APP的积分模块,有一些总结,希望能帮助到大家。概念介绍:积分事件: 获取/消费积分的行为称之为积分事件积分获取: 由APP相关系统触发,或其他系统触发积分消费: 用积分兑换产品积分到期: 积分时效性,定时跑批处理​表设计:积分事件表: 有些基础字段就没有在此列出了event_code事件编码event_type事件类型获取积分 | 消费积分event_subject事件主题event_describe事件描述cons

2021-09-27 14:26:33 1794

原创 在线画ER图

在线画ER图 https://dbdiagram.io/d/6147f64a825b5b0146097d05Table t_event {id integer [pk]event_code varchar [not null, unique]}Table t_integral {id integer [pk]integral_code varchar [not null, unique]event_code varchar [not null, unique]}Table t_inte

2021-09-20 10:55:31 5622

原创 多线程案例

package com.current.demo;import java.io.IOException;import java.util.LinkedList;import java.util.PriorityQueue;import java.util.Queue;import java.util.Random;import java.util.concurrent.*;/**程序描述: 随机生成多个客户 业务员管理器会根据客户的数量分配不同业务员的数量 当客户逐渐变

2021-06-06 01:00:24 123

原创 DelayQueue

DelayQueue是一个延迟队列队列中的元素需实现Delayed接口 Delayed实现了ComparTogetDelay 返回元素剩余的时间compareTo 比较器这样一个队列我们关心是如何实现延迟?实际上在offer的时候会加锁 ReentrantLock如果是第一个元素会放到【0】的位置如果不是新加的元素就会和前一个元素比较,如果时间小于前一个节点就会和前一个节点换位置,否则就会放到目前节点。take元素会从第一个拿,因为入队已经是排好序的了,同时也会加锁,如果没有过期的元素就会

2021-05-18 21:56:57 121

原创 CurrentLinkedQueue原理解析

ConcurrentLinkedQueue前置需要先了解的:for(;????;第一个; 代表初始化 只会执行一次复杂运算: //需自己套入参数去分析p = (t != (t = tail)) ? t : head;p = (p != t && t != (t = tail)) ? t : q;---------------------- offer 只分析offer ------------------------------构造函数: head = tail

2021-05-15 20:43:08 365

原创 AQS解析

AQS源码解析比如有3个线程获取锁 我们以Lock来做分析,去看AQS的源码A B C 3个线程A线程是第一个 会被标记为独占线程 当然默认是非公平的setExclusiveOwnerThread(Thread.currentThread()); exclusiveOwnerThread = thread; /** * The current owner of exclusive mode synchronization. 独占模式同步的当前所有者。 此时链表头部尾部

2021-05-09 21:11:13 125

原创 谷粒商城遇到的问题

SAAS-NODE环境安装错误Vue sass-node模块安装错误 报错Window SDK招不到[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yQBra7GL-1620136872909)(C:\Users\gengxiao\AppData\Roaming\Typora\typora-user-images\image-20210503114639423.png)]这几个都安一下 即可[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V

2021-05-04 22:01:50 1298

原创 Fegin

Fegin是一个声明式的HTTP调用框架。为什么是声明式的呢,其实在我们开发过程中一般都是声明一个接口,用@FeginClient标识,接口中的方法与调用方Controller保持一致,如参数,SpringMVC注解这样的。Fegin底层的调用方式是基于HTTP的,默认是使用JDK自带的通信框架,一般可以用HttpClient或OkHttp来进行替换Fegin底层的通信方式,引入pom,在yml文件开启即可。@FeginClient有很多参数,如url是指定服务的调用地址({url:https%3A//网页

2021-03-15 09:16:27 649

转载 JWT优缺点

基于session和基于jwt的方式的主要区别就是用户的状态保存的位置,session是保存在服务端的,而jwt是保存在客户端的。JWT的优点:可扩展性好 应用程序分布式部署的情况下,session需要做多机数据共享,通常可以存在数据库或者redis里面。而jwt不需要。无状态 jwt不在服务端存储任何状态。RESTful API的原则之一是无状态,发出请求时,总会返回带有参数的响应,不会产生附加影响。用户的认证状态引入这种附加影响,这破坏了这一原则。另外jwt的载荷中可以存储一些常用信息,用于交换信

2021-01-26 18:26:59 5790 1

转载 reids6.0安装报错

因工作需要,在一台云服务器上安装redis服务器系统为centos7,直接在redis官网查找地址,wget、tar后,执行马克命令时发现报错 serverLog(LL_NOTICE,"The server is now ready to accept connections at %s", server.unixsocket);

2020-10-26 22:41:00 390

原创 服务器查看日志几种方式

从后往前看:打开日志文件shift+g 定位到最后一行crtl+b像上看看最后几百行: tail -n 100 文件名实时看: tail -f 文件名上下翻动看: less -n 文件名向上: b 数字+b 向上键向下: f或空格 数字+f或空格 向下键退出: q日志关键字查询: cat -n 日志文件 | grep “关键字”...

2020-10-19 08:56:11 2413

原创 ElementUi Table复选框回显

ElementUi Table复选框回显UI代码: <el-table :data="acctSettleHangAccountList" style="width:700px;" height="300" ref="multipleTable" tooltip-effect="dark" @selection-change="auditTableHandleSelectionChange" :reserve-selection="tr

2020-10-10 18:17:01 1522

原创 记一次netty ByteBuf内存泄漏

netty-server服务端在接收数据的时候会将数据转换为ByteBuf,然后对数据处理。今天程序跑了很久,突然发现日志打印内存泄漏,当时在想,这个程序功能很单一,为什么会内存泄漏呢,后来看代码,发现有ByteBuf,但还是很疑惑,我以为netty会自动回收,后来看了博客,有些人说业务中的ByteBuf需要我们自己去回收。代码片段:public void channelRead(ChannelHandlerContext ctx, Object msg){ByteBuf buf = null;tr

2020-07-25 20:00:51 629

原创 如何让两个线程交替执行

public class Test07 {volatile boolean flag = false;public static void main(String[] args) { Test07 t7 = new Test07(); new Thread(()->{ int i = 65; while(i < 85){ synchronized (t7){ try{

2020-06-05 21:28:28 498

原创 netty实现简单的rpc通信

公共接口public interface HelloService {String hello(String msg);}生产者公共接口的实现public class HelloServiceImpl implements HelloService {@Overridepublic String hello(String msg) {System.out.println(“收到客户端消息=” + msg);//根据msg返回不同的结果if(msg != null){return “你

2020-05-29 12:13:42 157

原创 stream替代双层for循环

这是在处理业务中遇到的:数据如下:public class Book {private String bookId;private String name;private String depName;private String authDepName;public String getBookId() { return bookId;}public void setBookId(String bookId) { this.bookId = bookId;

2020-05-29 12:12:00 2946

原创 使用cmd关闭某个端口

netstat -ano | findstr xxxxtaskkill /f /t /im xxxxx

2020-05-29 11:52:31 914

原创 使用mybatis plus查询的啥时候 日期报错

原因mybatis plus使用的是localDate将driub升级为1.0.18即可解决问题

2020-05-29 11:51:21 627

原创 ArrayList和HashMap到底有什么区别?

以下为个人理解:ArrayList :数组HashMap: 数组+键值对所以说在java集合体系其实集合也可以按照某种维度来分为两类:单列集合 双列集合ArrayList是属于单列集合HashMap: 是属于双列集合两者的add数据的方式是不同的:ArrayList添加数据是会根据底层数组下标去添加的HashMap是根据添加数据的key经过计算去添加到对应位置的怎么计算的,我这里简单的讲一下:hashMap会拿到key的hashcode,经过扰动函数后拿到对应的hash值,通过(n-

2020-05-29 10:29:55 2423

原创 netty学习网站

netty的学习网站http://www.tianshouzhi.com/api/tutorials/netty/221

2020-05-17 21:11:19 302

原创 过滤器

很久之前学习记的笔记 当时看的是崔希凡老师的javaweb视频 现在在b站就有,学习javaweb的同学可以去看下,讲的很好,很有意思过滤器 (Filter)JavaWeb三大组键1.都需要再web.xml中进行配置 ServletListener (2个感知监听器不需要配置)Filter2.过滤器它会在一组资源(jsp, servlet,css, html)等等的前面执行它可以...

2020-04-28 21:20:03 148

原创 @ConditionalOnExpression注解使用方式

@ConditionalOnExpression("’KaTeX parse error: Expected 'EOF', got '&' at position 37: …('rabbitmq') &̲& ('{sms.consumer.state:0}’ != 0)")

2020-04-28 21:13:08 2020

原创 JAVA中将标准的IEEE754 4字节16进制数据转换为float类型数据

代码如下:byte[] bys = {0x41,(byte) 0x36,(byte) 0x66,(byte) 0x66};ByteArrayInputStream byteArrayInputStream =new ByteArrayInputStream(bys);DataInputStream dataInputStream =new DataInputStream(byteArra...

2020-04-28 21:11:09 1438

原创 JAVA中关于float浮点数转换为IEEE754标准4字节16进制数据转换方式

关于解析的具体写法是从一篇文章中摘取下来的原文url:https://blog.csdn.net/mhl29/article/details/51406834具体代码:public class TestMain {public static void main(String[] args) { Float f = 11.4f; String s = floatToIEEE...

2020-04-28 21:08:46 2278 2

原创 ajax的使用

Ajax是什么?Asynchronous javascript and xml 异步的js和xml它能使用js访问服务器 而且是异步访问服务器给客户端的响应一般是整个页面 一个html完整页面 但在ajax中 因为是局部刷新 那么服务器就不用再响应整个页面 而只是数据text: 纯文本xmljson 它是js提供的数据交换格式 它在ajax中最受欢迎异步交互和同步交互:同步...

2020-01-10 17:11:38 102

原创 cmd启动数据库找不到路径问题

在cmd启动数据库时 提示找不到文件路径: 本人遇到此问题是因为 刚开始将mysql默认装到了C盘 后来转到了D盘 就遇到此问题了: 因此 记录一下: 解决方案如下: 仅供各位参考: 修改 my.ini文件中: basedir="D:/MySQL/MySQL Server 5.5/" datadir="D:...

2019-04-08 17:00:54 1263

空空如也

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

TA关注的人

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