自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小女子不才

不积小流,无以成江海

  • 博客(740)
  • 资源 (2)
  • 问答 (8)
  • 收藏
  • 关注

原创 redis原理深入解析之看完这篇还需要努力

len:4 alloc:4 flags:1 数组 \0sds可追加:动态扩容 减少内存分配次数 二进制安全如新字符串1m 新空间为扩展后字符串长度+1m+1 内存预分配。

2024-03-07 06:16:59 1044

原创 Mysql文件-笔记

知识的搬运工

2024-01-09 09:08:08 1081

原创 jmeter压测

h3>调用哪个服务的哪个方法这里设置线程相关jmeter强大到很强大 hh~可设置一下 上面的 参数${}对应的有后置HTTP请求数据库设置

2023-10-17 18:58:47 299

原创 集成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 3369

原创 如何写出气定神闲的代码——泛型

使用了Mybatis 增强工具包https://gitee.com/baomidou/mybatis-plushttps://blog.csdn.net/s10461/article/details/53941091泛型相关 本来这里有一大段溢美之词,但是写完感觉也没什么高大上的,但是作为小白下面的代码极其思想是我需要多学习的,之前一直加班,现在有点时间开始欣赏cto的代码;大概介绍一下:简单的三层,采用springboot,redis,baomidou,一切从简原来的mq也去掉...

2021-05-07 18:38:41 850

原创 Go并发编程实战

这段时间写的东西有些浮肿,先放张图压一压,当然图……

2021-03-09 11:18:53 288 1

原创 python批量修改数据库字段类型

#首先这个代码没有提取不够简练#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysqlimport datetimeimport timeimport re,stringhost = "19.206.25.24"mysql_user_name = "root"now = datetime.datetime.now()now_timestamp = int(time.time())def update_create_time..

2021-01-25 18:14:18 979 5

原创 JIT

JIT,又是一块带肉的骨头;just-in-time compilation,运行时编译,吭哧吭哧写了半天的bug不能到最后还让人来做吧?“侬脑子瓦特了”——当然是交给机器做,javac把java源文件翻译成class文件(字节码组成),jvm加载这些文件逐条取出字节码并执行,这就是解释执行了!当然还可以重新编译优化字节码以生成机器码,CPU直接执行,这样效率更高,这里有java如此受欢迎的原因,这里点破不说破,然后怎么让机器去执行呐?当然是告诉它了:要有源代码或者字节码到机器码的转换过程,...

2020-10-18 12:15:43 323

原创 对象一定分配在堆上吗?

读过之前半文章的小哥哥们肯定都知道,宝宝我最近入坑了Golang,当然这不是自愿的也说不上胁迫,反正就入坑了,没想到21世纪的C语言也有了堆和栈,随之而来的战利品是逃逸分析,自然这只是其中之一,其他的离题比较远,写文章最主要的是什么?不被催稿(奋斗状)!这个我有生之年是做不到了 官方回答逃逸分析:一种确定指针动态范围的方法,就是在程序的哪些地方可访问到这些指针,具体涉及到指针分析和形状分析,是不是不好理解,在次要特别鸣谢公司让贫下中农的我可以”科学上网“;再直白一些:逃逸分析确定某个指针可...

2020-10-13 22:07:41 610 1

原创 springboot自动装配

装载谁@SpringBootApplication @SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan@EnableAutoConfiguration开启自动装配 在classpath下找到all配置的bean进行装配,据若干conditional定制规则初始化@Import(EnableAutoConfigurationImportSelector.class)1.5中过时,查看父类AutoC...

2020-09-02 23:29:55 207

原创 DDD Domain Drive Design

源自圣杰https://www.cnblogs.com/sheng-jie/p/6931646.htmlDDD理论系列文章DDD综合软件系统分析和设计的面向对象建模的方法通用语言:通过团队交流达成共识 能简单清晰准确 传递业务规则的语言(文字 图片)《实现领域驱动设计》书中有一个简单的例子(P238)系统必须对User进行认证,并且只有当Tenant(租户)处于激活状态时才能对...

2019-09-05 21:14:15 458

原创 ShardingSphere下

使用规范不支持:不支持case when,having,union可解析至第一个含表的子查询,在下层嵌套再次找到子查询抛错子查询不支持聚合函数,不支持含shema的SQL:shardingsphere对sql的访问都是在同一个逻辑schema上分页完全支持MySQL、PostgreSQL和Oracle的分页查询,SQLServer由于分页查询较为复杂,仅部分支持性能编...

2019-08-27 15:01:58 2632 1

原创 开源监控:Prometheus

开源的系统监控及告警工具,适用于以服务器为中心,高动态 面向服务架构 的监控;架构图:prometheus server:核心,据配置采集数据,服务发现,数据存储prometheus targets:探针exporter提供采集接口,或应用本身提供的支持promethenus数据模型采集接口pushgateway:为部分push场景提供插件,监控数据先推送到push...

2019-05-29 22:54:16 881 1

转载 kafka入坑

高级消费者提供消费消息的方法而屏蔽底层细节;高级消费者在zk特点分区存储最后的偏离(kafka启动时准备完毕),全局kafka集群消费群体,任何老逻辑的消费者应该被关闭然后运行新的代码,当一个新的进程拥有相同的消费者群的名字,kafka新增进程的线程来消费topic且引发“重新平衡”:分配现有分区到all可用线程如果你提供比在topic分区多的线程数量,一些线程将永远不会看到消息。 如果...

2019-03-19 22:04:26 404 4

转载 canal详解

canal在github上的文档:https://github.com/alibaba/canal/wiki/ClientExamplemysqlcanal伪装成mysql slave,如此“降低”姿态,mysql当然要做出些表示:那便是开启binlog支持[mysqld]log-bin=mysql-bin #添加这一行就okbinlog-format=ROW #选择row模式...

2019-03-09 16:46:45 3939

原创 ClickHouse 来一篇

是时候来见证一下真正的面向列的DBMS了!!!真正的DBMS没有任何垃圾值,数据紧凑存储(无需存数值长度):定长数值clickhouse容许在运行时可建表建库,加载数据进行查询,不需要重新配置 重启服务器快:不是一般的飞快支持事务,无隔离级别:ACID是没戏了,so数据可能不一致 我们CK是分析性数据库嘛 引擎:合并树MergeTree系列通主键字典排序,主键可以是列...

2019-03-03 10:30:46 575

原创 微服务时代“通行证”:为什么 synchronized 救不了集群

“不要试图用战术上的勤奋(手写复杂的锁逻辑),掩盖战略上的懒惰(直接上成熟框架Redisson/Curator)。”“分布式锁不是银弹。它解决了并发冲突,但引入了网络依赖和性能损耗。能不用则不用,能用数据库乐观锁 (UPDATE table SET stock = stock - 1 WHERE id = ? AND stock > 0) 解决的,就别上分布式锁。”“没有最好的锁,只有最适合业务场景的锁。追求极致性能选 Redis,追求绝对数据一致选 ZK。成年人的世界,不做选择题,只做权衡题 (Tr

2026-03-16 23:27:38 231

原创 NLP((Natural Language Processing)简介

自然语言处理:打破人类语言与机器代码之间的隔阂, 让计算机真正理解我们在说什么。

2026-03-16 20:48:47 56

原创 Datawhale——一封ai的介绍信

任何能够通过传感器(Sensors)感知其所处环境(Environment),并自主地通过执行器(Actuators)采取行动(Action)以达成特定目标的实体;环境是智能体所处的外部世界,摄像头、麦克风、雷达或各类应用程序编程接口(Application Programming Interface, API)返回的数据流,都是其感知能力的延伸执行器可以是物理设备(如机械臂、方向盘)或虚拟工具(如执行一段代码、调用一个服务)自主:基于其感知和内部状态进行独立决策,以达成其设计目标。

2026-03-15 17:58:17 282

原创 分布式事务:一场关于“信任危机”的豪门恩怨

别光看代码,去搞破坏!Chaos Engineering (混沌工程):在 Confirm 阶段随机杀进程。模拟网络延迟,让 Cancel 比 Try 先到。把数据库 CPU 打满,看超时怎么处理。如果你的代码在这些情况下还能保持数据最终一致(通过日志对账发现并修复),那你就是真正的分布式大师了!

2026-03-15 15:53:12 270

原创 jvm——时不我待

JDK 8 用户:如果是新系统,尽量升级到 JDK 17/21。如果必须留在 JDK 8,大堆请用 G1 (需手动开启),小堆可用 ParallelGC。慎用 CMS。JDK 17/21 用户无脑选 ZGC(特别是 JDK 21 的分代 ZGC)。它已经解决了吞吐量的短板,是目前的最优解。核心心法GC 调优的本质是减少对象分配,而不是调整 GC 参数。最好的 GC 是没有 GC。通过对象池、复用、逃逸分析减少new,比任何调参都有效。监控先行:没有数据支撑的调优就是瞎猜。结合我们之前聊的。

2026-03-15 15:05:54 384

原创 线上故障排查实战经验总结一

工具只是手段,日志才是线索。在生产环境部署完善的日志系统(ELK/SkyWalking),配合这些底层工具,才能真正做到“手到病除”。不要等到挂了才想起来看日志!

2026-03-14 22:43:18 324

原创 无锁编程:并发的“珠穆朗玛峰”与 F1 的“无缝换挡”

"If you can avoid locking, do it. If you can avoid allocation, do it. If you can fit it in a cache line, do it."(如果能避免锁,就避免;如果能避免内存分配,就避免;如果能塞进一个缓存行,就塞进去。)这就是极致性能的代价与魅力。

2026-03-14 22:43:02 335

原创 分布式锁:跨 JVM 的“工商局备案章”

高频并发找 Redis,低频协调用 ZK;监听只盯前驱点,本地缓存省网络;热点数据要分片,SSD 磁盘保平安。Redis 锁:像高速公路的 ETC 闸机。速度极快,大家刷刷过。万一系统故障重启,可能偶尔有辆车没记录上(极小概率冲突),但后面有摄像头(数据库兜底)再核对一遍。ZK 锁:像银行金库的双人指纹锁。必须严格登记,一个人出来另一个才能进。绝对安全,但每个人都要按指纹、等验证,速度慢,人多了门口就堵死了。

2026-03-14 10:56:04 315

原创 锁优化高级策略:JVM 的“灵活执法”艺术

JVM 的锁优化就像交警执法:没车时撤岗(消除),车流密集时拉长绿灯(粗化),短时等待时原地转圈(自旋),而那个容易误判导致全线停车的“特殊通行证”(偏向锁)已经被收回了。

2026-03-13 21:46:42 311

原创 线程间的友谊小船

掌握这些底层机制,你不仅能写出正确的并发代码,还能在系统出现“莫名卡顿”或“数据丢失”时,迅速定位到是锁竞争、上下文丢失还是线程池配置不当引起的。

2026-03-13 21:39:54 334

原创 CompletableFuture:异步编程的“智能机械臂”

一句话口诀: 微服务编排用 CF,线程池子要隔离。 ThenCompose 串依赖,ThenCombine 并两路。 Handle 异常做降级,Join 只在最后处。掌握了 CompletableFuture,你就掌握了现代 Java 高并发架构中降低 RT (响应时间) 和 提升吞吐量 的核心钥匙!🔑

2026-03-13 21:39:26 288

原创 Fork/Join 框架与并行流:CPU 密集型的“分身术”

IO 多用线程池,CPU 密用 F/J。集合处理并行流,阻塞操作要隔离。拆分阈值调得好,工作窃取效率高。 Fork/Join 是 咱们Java 处理计算密集型大数据的大武器,而 Parallel Stream 则是让每个牛马都能轻松挥舞这把武器的“剑鞘”。用对了,性能提升十倍百倍;用错了(比如在并行流里查数据库),系统直接雪崩。小心哦~

2026-03-13 21:38:54 351

原创 并发容器全家桶:选择正确的“交通工具”

并发容器虽好,但不要滥用。能用 ConcurrentHashMap 解决的,别强行上 SkipList(没必要)。能加锁解决的简单场景,别为了“无锁”强行上 COW(适得其反)。理解业务场景(交通流量模型),才是选择正确工具的关键!

2026-03-12 20:37:09 379

原创 ThreadLocal 与内存泄漏

ThreadLocal 是好东西,但它不负责打扫卫生。打扫战场,是你作为开发者的责任,主动 remove 是唯一可靠的方案!

2026-03-11 22:25:21 429 1

原创 死锁 (Deadlock) 与 活锁 (Livelock)

在并发编程中,“预防”永远比“治疗”便宜。写好代码时的几分钟思考(设计锁顺序),能省去生产环境半夜三点起来 jstack 抓鬼的几个小时痛苦。

2026-03-10 23:22:46 382

原创 volatile:从“窃窃私语”到“广而告之”的硬件革命

下次当你写下 volatile 时,请想象一下:你正在按下核按钮,命令所有 CPU 核心停止手中的活,立刻通过数据总线大声广播,并确保所有指令按严格的顺序执行。这就是轻量级同步背后的重型硬件支撑!

2026-03-09 21:53:27 351

原创 多线程的“时差”与“近视眼”大冒险——JMM内存模型

设计硬件的地方,如有不对,欢迎批评指教,大家看文章受累了!数据总线是瓶颈:CPU 再快,也得等总线运数据。可见性靠总线广播:volatile 和 synchronized 的底层,本质上是触发了总线上的 MESI 协议广播,强制其他核心的缓存失效。有序性靠屏障 + 总线顺序:内存屏障不仅阻止 CPU 重排,还强制刷新写缓冲,确保数据真正走上总线。性能杀手是伪共享:别让无关变量挤在同一个缓存行里,否则总线会把你撕碎。给开发者的建议:不要过度优化,但要懂原理。高并发下,尽量减少共享变量的修改(无锁

2026-03-08 21:57:51 345

原创 关于ai——纯笔记

这个定时任务已经帮很大短视频创作者们做了很多热点工作捕捉、消息提醒等等很多事情,大家也要在激流中涌进,尽量别被拍在沙滩上!先推理:现在是个什么情况,我看看是怎么个事;当前对话的历史、打开的代码文件、项目的结构和配置、提供的参考资料。这是大家疯狂在做,也是我正在尝试的内容,集大成者。再行动:好的,咱们来试试看怎么解决;观察结果:做完了,检查下成果,看看行动效果如何。所有的参考信息:背景、提示、之前的历史。也可以简单理解为:提出来的问题,要求。语义匹配向量化信息,加入上下文。借助SKILL.md。

2026-03-08 19:46:02 299

原创 线程池 ThreadPoolExecutor:Java并发的智能生产线调度系统

线程池不是银弹,合理配置才是王道,别指望一个线程池走天下,根据业务拆分成多个线程池(比如核心业务池、非核心业务池),才是高级架构师的操作~

2026-03-07 17:30:33 345

原创 家家有本难念的经——事务知多少

事务这玩意儿,本质就是 “要么全成,要么全败” 的承诺 —— 就像你点外卖,要么 “下单 + 付款 + 商家接单 + 骑手配送” 全成,要么只要一步崩了,就回到 “没下单” 的状态,绝不能出现 “付了钱但商家没接单” 的尴尬。最后一句事务是保证数据安全的最后一道防线,但性能是业务存活的第一道防线—— 既要保证数据不错乱,也要别把数据库卡崩。

2026-03-05 22:09:00 366

原创 用ReentrantReadWriteLock把谁锁起来

核心架构思想:通过 “位拆分” 复用 AQS 的 state 变量,用最小的内存开销实现 “读写分离”,兼顾原子性和可见性;并发控制核心:读锁(共享模式)+ 写锁(独占模式),通过 AQS 的双向链表和 CAS 保证并发安全,遵循 “读读共享、读写 / 写写互斥”;读极多、写极少 → CopyOnWrite 结构;读多写少、键值对存储 → ConcurrentHashMap;非键值对、需灵活锁控制 → 拆分锁粒度的 RWL + Striped 优化;写频率中等、需避免饥饿 → 公平模式 RWL。

2026-03-04 21:37:09 371

原创 Elasticsearch之线上问题合集——下

ES 的哲学:     它不会阻止你犯错,每个男人女人(放心女人也不会拉下)都会犯错,但会让你为每个错误付出“集群挂掉”的代价。    所以,敬畏配置,尊重原理,监控先行。嗯…… 接下来你们说吧,舞台交给大家~

2026-03-03 21:58:38 82

原创 数据总线——计算机血管系统

“数据总线就像 公司里的电梯。宽度:电梯能站多少人(64 位 = 一次进 8 个大汉)。频率:电梯跑得有多快(3200MHz = 每秒跑 32 亿趟)。三态门:电梯门的开关。别人进的时候,你必须把门关好(高阻态),不然两拨人在门口打架(短路)。时序:电梯必须有节奏地停和走,不能乱来。瓶颈:哪怕你的办公室(CPU)里有爱因斯坦在工作,如果电梯(总线)太慢或者太窄,资料(数据)送不上来,爱因斯坦也只能发呆摸鱼。所以:买电脑别只看 CPU 核心数,看看电梯(内存带宽)够不够宽、够不够快!

2026-03-03 21:57:18 406

原创 翻身路上的好帮手CAS

“CAS 就像一个强迫症保安:他站在仓库门口(内存地址),手里拿着登记本(寄存器)。每次有人想搬东西,他都要:瞪大眼睛看:‘现在的库存是 10 吗?’ (Compare)如果 yes:‘好,立马改成 9!’ (Swap) —— 动作快如闪电,还要拉警戒线 (LOCK) 不让别人靠近。如果 no:‘滚回去重来!’ (Retry)

2026-03-03 13:10:43 839

ELK6.1.2,filebeat及es的常用head和ik插件

ELK6.1.2,filebeat及es的常用head和ik插件,ELK6.1.2,filebeat及es的常用head和ik插件

2018-04-03

Highcharts

Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。HighCharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。

2017-03-05

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

TA关注的人

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