- 博客(622)
- 资源 (2)
- 问答 (8)
- 收藏
- 关注
原创 欢迎访问我的博客
这里的内容是一样的,但是文字多显得很重视这个事情,今天也是受大家关照的一天,谢谢语雀和CSDN都是WuLi baby欢迎大家访问,文字有待商榷的地方欢迎各位批评指教请多多关照:语雀https://www.yuque.com/onion-kjztq谢谢~语雀和CSDN都是WuLi baby欢迎大家访问,文字有待商榷的地方欢迎各位批评指教请多多关照:语雀http...
2020-04-11 11:18:02 503 6
原创 spring 没完没了
propagation_nested活动事务存在 运行一个嵌套事务中,无required执行使用单独事务,使用独立事务,拥有多个回滚的保存点,内部事务的回滚不会对外部事务造成影响,只对datasourceTransactionManager事务管理器有效。bean后置处理器BeanPostProcessor,先实例对象,bean后置处理器对该对象加工,依赖注入给autowired自动赋值,aop基于原实例对象进行动态代理,生成代理对象。获取指定路径下的文件信息及文件夹信息,class文件添加到set集合。
2024-03-18 23:58:15 337
原创 redis瘦身版
offset:主从各自维护自己的复制偏移量,主也写offset=offset+命令字节长度,从收到主发送命令后,增加自己的offset,把自己的offset发送给主节点,主节点同时保存自己的offset和从的,对比判断主从一致性数据。6.每个redis放开两个端口,6379 16379,16379节点间通信,cluster bus,故障检测/转移。4.读取数据,当客户端操作的key没有分配在该节点,返回转向指令,指向正确节点。2,先删缓存,看他不顺眼直接删了!再写数据库,休眠 再删缓存。
2024-03-17 00:32:13 869
原创 mysql颗粒归仓
通过数据排序提高查询速度,节点存储多个元素 高度不会太高,一个innodb页=B+树节点,16k两层B+树存储2000万行,叶子节点存储所有数据并且进行了排序,叶子之间有指针,很好支持全表扫描,范围查找。将要修改的数据最新记录中的trx_id取出来,与系统当前其他活跃事务ID对比,不可见通过roll_ptr回滚指针取undoLog中trx_id再比较。红黑树:每个节点都是红色或黑色,根是黑色,叶子节点黑色的空节点,红色节点的父节点都必须是褐色,从任一节点到其每个叶子节点所有路径含相同的黑色节点。
2024-03-16 21:27:06 820 1
原创 java并发
当threadLocal使用完把设置的key value回收,但是线程池中的线程不会回收,而thread通过强引用指向threadLocalMap,threadLocalMap通过强引用指向entry对象,线程不会被回收,从而出现内存泄露,在使用threadLocal对象后手动调用。基于reentrantLock和condition,让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障,所有被屏障 拦截的线程才继续干活,调用await 然后等待。
2024-03-15 01:23:05 875
原创 java基础
一个segment含一个hashEntry数组,每个hashEntry是一个链表结构二次hash,第一次hash定位到segment,第二次hash定位元素所在的链表头部锁:segment分段锁,segment继承了reentrantLock,锁定操作的segment,其他segment不受影响,并发度为segment个数,可通过构造函数指定,数组扩容不会影响其他的segmentjdk8:synchronized+cas+node+红黑树。
2024-03-12 23:46:48 857
原创 rabbitMQ
消息发送:投递消息消息代理:管理 暂存 转发消息消息接收者:接收|处理消息的人,原来的服务提供方消息延迟微妙级别,高可靠,可用性高高可用,高单机吞吐量,毫秒消息延迟,消息可靠性一般。
2024-03-10 09:06:40 1093
原创 redis原理深入解析之看完这篇还需要努力
len:4 alloc:4 flags:1 数组 \0sds可追加:动态扩容 减少内存分配次数 二进制安全如新字符串<1m 新空间为扩展后字符串长度的两倍+1如新字符串>1m 新空间为扩展后字符串长度+1m+1 内存预分配。
2024-03-07 06:16:59 887
原创 redis缓存与集群
判断slave与master断开时间长短,超过指定时间down-after-milliseconds*10会排除slave节点。replica从slave读取,replica_preferred 优先从slave读取 所有slave不可用才读取master。判断slave节点的slave-priority值,越小优先级越高,0不参与选举,一样则offset值越大数据越新优先级越高。添加节点 redis-cli --cluster add-node ip:port 集群中存在的ip:port。
2024-03-05 21:58:29 859 1
原创 dubbo 与 zk 小结
zk官方注册中心(mulicast zk nacos redis)@reference 远程调用 消费者从zookeeper获取 访问url消费者第一次调用将提供方,调用不再访问注册中心提供者地址改变,无法完成服务访问 自动断开链接,默认1000 1s@service(timeout=1000,retries=2 )提供方,建议配置在这 自己知道自己情况@reference(time=1000) 消费者,覆盖提供方配置版本:reference(version="v2.0")
2024-03-04 01:55:48 777
原创 Knife4j
基于SpringFox2.x提供swagger2规范 基于springdoc-openapi项目OAS3规范。兼容sprinbMVC springBoot springWebFlux。集swagger2和openAPI3一体。配置swagger代码or配置文件xml。
2024-02-26 14:35:50 376
原创 jvm基础_颗粒归仓
volatile禁止指令重排序/编译优化器,写变量 volatile加代码最后,读变量则写开始位置。没有竞争时s很多优化,偏向锁 轻量级锁 性能可以,竞争激烈lock更好的性能。cas控制数组节点的添加+synhronized锁定当前链表/红黑树手节点。lock可打断,多种lock,公平锁/可打断/可超时/多条件变量。visualvm监控线程内存情况,查看方法cpu时间和内存中的对象。,可中断/超时时间/设置公平锁/多条件变量/支持重入。s说关键字,jvm中,l接口jdk提供。semaphore信号量。
2024-01-09 09:19:31 403 1
原创 线程详解一
wait (long)object的方法,可被notify唤醒否则一直等待,可被打断,执行完释放锁其他线程可获取锁,想调用现获取对象锁(搭配synchronized)。owner是否为null,entrylist等待线程(阻塞线程),waitset当一个线程调用wait则放入。hashcode25个bit位,age新生代中挪动次数,biased_lock是否开启偏向锁,lock标识2位。join等待线程执行结束,调用join的线程进入timed_waiting状态,等到被调用线程执行完。
2024-01-09 09:19:12 388
原创 RabbitMQ
惰性队列:x-queue-mode=lazy数据储存在磁盘,消费时才从磁盘中读取到内存,百万条数据储存,性能稳定,受限于磁盘IO,时效性低。创建队列的节点为该队列的主节点,备份到其他节点(镜像节点)超时订单/限时优惠(当天签到)/定时发布(当天推送消息),消费者异常本地重试n次,仍然失败将消息投递到异常交换机,人工。镜像集群:主从,交换机 队列 队列中消息在各节点间同步备份。要投递的队列消息堆积满了,最早的消息可能成为死信。一个队列的主节点可能是另一个队列的镜像节点。唯一标识/幂等(分布式锁/数据库锁)
2024-01-09 09:18:19 364
原创 线程池相关
固定线程数:newFixedThreadPool 核心=最大线程,linkedblockingqueue,任务已知相对耗时。存活时间,不存储元素的阻塞队列synchronousQueue,全靠临时线程执行任务,大量缓存。keepAliveTime生存时间-救急线程生存时间,生存时间内无新任务 线程资源释放。threadFactory线程工厂,定制线程对象创建:设置线程名字,是否是守护线程。闭锁/倒计时锁,线程同步协作,等待all线程完成倒计时。unit时间单位,救急线程的生存时间单位。
2024-01-09 09:17:35 329
原创 容器启动流程及bean详解
bean容器根接口,创建 配置 依赖注入描述bean,名称 属性 行为 实现的接口,添加的注解等beanfactorypostprocessor 后置处理器。
2024-01-09 09:11:45 331
原创 Kafka
topic储存在分区,分区文件过大分段储存segment,每个分段在磁盘上以索引.index和日志文件.log存储。消息保留时间,kafka超过指定时间log.retention.hours=168(h)一个topic多个分区,每个分区多个副本,一个leader同步多个follower。acks确认机制,0不需要确认,1leader收到即可,all 所有都收到才确认。topic储存数据的大小,log.retention.bytes=()消息压缩(减少磁盘IO网络IO)/分批发送(减少网络开销)
2024-01-09 09:07:33 338
原创 垃圾回收细节
栈中引用的对象/方法区中类静态属性引用的对象/方法区常量引用的对象/本地方法栈引用的对象。混合收集:重新标记阶段需要暂停用户线程,据暂停时间目标优先回收价值高的区域。serial old老年代,标记整理算法。多个区域,humongous储存大对象,复制算法无内存碎片。CMS并发 并发 标记-清除算法,老年代,最短回收停顿时间。并发标记:老年代占用内存超45%触发,不需要暂停用户进程。fullGC新生代+老年代完整垃圾回收,暂停时间长,避免用到。标记整理:gcroot标记垃圾,整理;
2024-01-09 09:07:01 351
原创 jmeter压测
h3>调用哪个服务的哪个方法这里设置线程相关jmeter强大到很强大 hh~可设置一下 上面的 参数${}对应的有后置HTTP请求数据库设置
2023-10-17 18:58:47 204
转载 spring国际化翻译
自己加了切面,因为一个一个的写注解写key太繁琐了,不得不说大佬写的文字通俗易懂,很丝滑;controller请求部分可以随便写,请求嘛 这个可不能限制。具体的语言是从languageDataComponent中获取。切面还没有写完,人菜想换种好的处理方式 暂定旧先这样。定义一个类用于承接当前要求的语言标识。实现一个Filter,提取当前语言给切面用。切面用于转换对应语言。
2023-06-02 17:03:32 163
原创 ERROR 1062 (23000): Duplicate entry
像我这种比较 silly的,刚添加了一个字段,转眼就把他置为唯一索引,此时表里面是有数据,表里面有数据,新增的这一列相当于有很多同样的值,这种情况下自然是不能建唯一索引
2022-12-23 11:04:23 536 1
原创 mysql 对int进行模糊查询
首先 模糊查询 不提倡 不推荐 不评价你要是用,我搜集了两种方式SELECT * FROM test WHERE CAST(id as CHAR) LIKE '%14%';SELECT * FROM test WHERE CONVERT(id, CHAR) LIKE '%157%';
2022-02-17 21:53:29 1543 3
原创 java8stream之map
默认自用取一列List<String> rList = rResults.stream().map(RResult::getRs).collect(Collectors.toList());取多列组map,注意summingLong(是个Collector)Map<Long, Long> taskQty = lockResults.stream() .filter(l -> l.getOwner() == LockOwnerE
2022-02-08 18:09:49 3897
原创 MapStruct 实例 ----自用
还要两天就是春节了,还在上班且大年初一要值班的我提前祝大家新年快乐 ????原理固然很重要,实用最是重要 为安全涉及敏感信息的全替换了,领会精神即可,主要写给自己看target是SkuInfo,要转的对象source是参数,被转的对象,源于谁expression表达式,多用java,这里com.test.test.test.test.enums.test.PluTypeEnum.SOLID相信大家可以猜到(我给自己看的,cue你们干什么)一看就是全路径,不需要单独处理的可以参考
2022-01-29 11:21:21 979
原创 开通百度通用翻译API---主打个人标准版
访问:百度翻译开放平台登录之后,点击“产品服务” 下拉选择“立即使用”,如下图根据提示填写自己的真实信息,输入验证码进入下一步 一般“个人开发者”就行,这里作开发的朋友看着填就行然后进入到下面,标准版就行,高级版情况如下看着选,对小菜我来说标准版足够,标准和高级从流程上差不多,一定要记得做这步,否则api虽然有了但是无意义!根据提示填写即可点“提交申请”:点“知道了”自动弹窗到开发者信息,game overenjoy...
2022-01-28 17:48:48 2928 2
原创 集成shiro
基础概念1、UsernamePasswordToken,用来封装用户登录信息 public UsernamePasswordToken(final String username, final char[] password, final boolean rememberMe, final String host) { this.username = username; this.password
2022-01-18 12:04:15 3253
原创 python拼接sql到文件
#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysqlimport datetimeimport timeimport re,string def update_time_exe(): zone_list = find_update_time_rows() sql = "update plu set flipagv_max= %d,volume= %d WHERE plu_code= %s;" co...
2021-09-22 19:54:13 363
原创 大佬的博客链接
首先大佬有很多;这个大佬的文章之前也看过、只是再次拜读 yydshttps://www.cnblogs.com/dolphin0520/p/3736238.html写的很详细,通俗易懂
2021-09-02 17:08:22 148
原创 批量更新python
今天有点尴尬,欸~先写个python吧 #!/usr/bin/python# -*- coding: UTF-8 -*-import pymysqlimport datetimeimport timeimport re,string #替换为**……………………def update_time_exe(): zone_list = find_update_time_rows() db = pymysql.connect(host=host, user=mysql_
2021-07-19 13:52:40 221 3
原创 java序列化与属性映射+小彩蛋
1、json序列化pojo转json时不一定一直一帆风顺,总有翻船的时候:循环引用或明目张胆的违背输出规则我们阔以:替换为null,一了百了,不过不推荐,尽量不返回null,一不小心空指针了咋整 我们项目中用的是@Configurationpublic class JsonConfigInitRunner implements CommandLineRunner { @Override public void run(String... args) throws Exc
2021-05-17 22:09:05 339 1
ELK6.1.2,filebeat及es的常用head和ik插件
2018-04-03
Highcharts
2017-03-05
连接阿里云数据库RDS失败,想选40C币 没有那么多了,请大家帮帮忙,急
2018-06-16
springboot项目controller注入失败,空指针;单元测试没有问题
2018-06-15
service层判断返回值是否为空,空的话返回一个=null的model,不为空的话
2017-08-22
服务用jenkins构建之后注册不上dubbo,url访问500,重启tomca问题解决
2017-08-22
JAVA用SSH框架,Source not found for OrderService
2017-03-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人