- 博客(137)
- 资源 (6)
- 收藏
- 关注
原创 HTTPS实现内容加密的逻辑
讲解视频:https://www.bilibili.com/video/BV1uY4y1D7Ng。为了防止CA机构错发证书,引入CT机制,对CA机构证书进行监管(了解即可)
2025-03-09 21:10:37
348
原创 联合索引关于In和范围查询影响索引使用的情况分析
索引类型1、unique ,唯一索引2、normal,普通索引3、fulltext, 全文索引4、spatial,空间索引。
2025-03-07 22:21:42
199
原创 netty常见的面试问题整理
Bytebuf(字节容器):网络通信最终都是通过字节流进行传输的。ByteBuf 就是 Netty 提供的一个字节容器,其内部是一个字节数组。Bootstrap 和 ServerBootstrap(启动引导类)Channel: 是 Netty 对网络操作抽象类。Channel可以理解为是socket连接,在客户端与服务端连接的时候就会建立一个Channel。EventLoop(事件循环):实际就是责监听网络事件并调用事件处理器进行相关 I/O 操作(读写)的处理。
2025-02-23 11:06:25
779
原创 netty优雅的无锁化设计
线程绑定:每个Channel绑定到一个EventLoop,避免多线程竞争。无锁数据结构:使用高效的并发队列(如MpscQueue)和 CAS 操作。内存管理:通过内存池和ByteBuf的无锁化设计提升性能。高性能工具:如和无锁化的计数器。这些设计使得 Netty 在高并发场景下能够高效运行,同时避免了锁带来的性能瓶颈和复杂性。
2025-02-22 21:03:21
766
原创 netty基础知识梳理和总结
ChannelHandler对使用者而言,可以说是最重要的组件了,因为对于数据的入站和出站的业务逻辑的编写都是在ChannelHandler中完成的。这个对象可以看作是一个异步操作的结果的占位符,它将在未来的某个时刻完成,并提供对其结果的访问。Bootstrap是引导的意思,它的作用是配置整个Netty程序,将各个组件都串起来,最后绑定端口、启动Netty服务。Netty是基于NIO2的IO模型(IO多路复用模型,非循环进行read的系统调用的原始NOBlock IO模型)。
2025-02-22 17:07:24
1213
原创 网络原理:一直搞不清的socket是什么?
Socket 不是应用层协议,而是一种用于网络通信的编程接口(API)。它位于传输层和应用层之间,为应用程序提供了访问网络协议(如 TCP 和 UDP)的能力。
2025-02-21 17:29:20
612
原创 hostspot的默认垃圾回收器
Java 8 及更早版本:默认使用。Java 9 到 Java 18:默认使用G1 GC。Java 19 及更高版本:可能默认使用ZGC或,具体取决于配置。如果你有特定的性能需求,可以根据应用场景选择合适的垃圾回收器并进行配置。
2025-02-17 17:43:47
322
原创 NGINX相关的知识点
NGINX 的负载均衡功能非常强大,支持多种负载均衡策略、健康检查、会话保持、SSL/TLS 终止等功能。通过合理配置,可以显著提高系统的性能和可靠性。
2025-02-13 17:03:34
949
原创 Spring:Spring实现AOP的通俗理解(有源码跟踪)
AOP (Aspect Orient Programming):直译过来就是 面向切面编程。AOP 是一种编程思想用途:Transactions (事务调用方法前开启事务, 调用方法后提交关闭事务 )、日志、性能(监控方法运行时间)、权限控制等。也就是对业务方法做了增强。
2025-02-12 20:18:57
818
原创 Mysql知识梳理(数据库的锁梳理,Mysql优化)
写入磁盘:事务提交时,InnoDB 会将 redo log 缓冲区的内容持久化到磁盘中的 redo log 文件中(即“预写日志”原则,WAL,Write-Ahead Logging),确保即使系统崩溃,仍可以通过 redo log 恢复事务。innodb_log_buffer_size决定了innodb重做日志缓存的大小,对于可能产生大量更新记录的大事务,增加innodb_log_buffer_size的大小,可以避免innodb在事务提交前就执行不必要的日志写入磁盘操作。
2025-02-07 18:43:07
892
原创 spring解决循环依赖的通俗理解
众所周知,Spring的容器中管理整个体系的bean对象。每个bean对象是java中的一个实例化的完整对象。一个完整对象就包含属性和方法,一个对象中的属性可以是另外一个对象的引用。所以在这时就会出现A对象的属性是B,B的属性如果是A的话,则两个对象相关依赖,都无法完成实例化的属性赋值。
2025-01-13 09:48:05
724
原创 大模型的任务型应用优化
最近在做大模型的应用,也遇到一些问题,虽然通过各种骚操作解决了问题,但是没有一个体系的结构,通过学习文章对解决方案有了新的认识,总结一下。任务型应用,主要指帮助用户完成特定任务,例如预约餐馆、预定机票、给出规划等,与用户的交互大多是结构化的,我们通常要求它输出结构化数据以便进行下一步处理。
2024-11-28 14:18:42
334
原创 Spring MVC 为什么是 MVC 而不是 MVP
例如,使用 JSP 视图时,通过 JSP 的表达式语言(EL - Expression Language)可以访问模型中的数据并在 HTML 页面中展示。在 MVP 中,Presenter 起到了一个中间人角色,它从模型中获取数据,然后将数据格式化后传递给视图。而在 Spring MVC 中,视图可以直接通过表达式语言等方式访问模型数据,不需要这样一个中间角色来进行数据的格式化和传递。它通过DispatcherServlet(前端控制器)来统一分发请求,然后由控制器、模型和视图协同完成请求的处理和响应。
2024-10-23 17:22:09
395
1
原创 Springboot中的设计模式:根据设计模式的类型
行为型:负责对象间的高效沟通和职责委派。创建型:为了解决创建型问题,结构型:为了解决结构问题,
2024-08-26 14:57:28
416
原创 MySQL编码细节问题:utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_0900_ai_ci
标准的UTF-8字符集编码:是可以使用1-4个字节去编码21位字符,这几乎包含了世界上所有能看见的语言。MySQL实现的utf8:最长使用3个字符,包含了大多数字符但并不是所有。例如emoji和一些不常用的汉字,如“墅”,这些需要四个字节才能编码的就不支持utf8mb4(utf8 most bytes 4 ):Utf8最大字节数4,MySQL 5.5.3之后增加了utfmb4字符编码,支持BMP(Basic Multilingual Plane,基本多文种平面)和补充字符,最多使用四个字节存储字符。
2024-07-22 10:18:52
1139
原创 红黑树和平衡二叉树的区别
红黑树:每个节点都有一个颜色属性,可以是红色或黑色。在树中没有任何两个相邻的节点是同色的,即父节点和子节点颜色不同。AVL树:每个节点的左子树和右子树的高度最多差1,即平衡因子的绝对值不超过1。红黑树和AVL树各有优势,选择使用哪一种取决于具体的应用场景和性能需求。
2024-07-21 14:12:30
210
原创 对零拷贝技术的思考过程
可以看出,无论是传统的 I/O 方式,还是引入了零拷贝之后,2 次 DMA(Direct Memory Access) 拷贝是都少不了的。因为两次 DMA 都是依赖硬件完成的。零拷贝主要是减少了 CPU 拷贝及上下文的切换。也就是零拷贝技术的原理原理:减少「用户态与内核态的上下文切换」和「数据拷贝」的次数。
2024-07-20 17:13:13
358
原创 面试问题梳理:项目中防止配置中的密码泄露-Jasypt
想起面试的时候,面试官问我现在大家用Spring框架,数据库、ES之类的密码都是配置在配置文件中的,有很大的安全隐患,你有考虑过怎么解决嘛?当时我回答是可以在项目启动的过程中的命令行追加的方式,感觉面试官不太满意,让我回去等通知~所以才想起来查了下Jasypt这个组件,有了这篇文档。
2024-07-14 10:57:00
511
原创 APP开发的野路子-FinClip
非软文,只是JAVA开发者在当前浪潮下的一丝摸索和有一个自己做一个移动端APP的想法。小程序使用过吧,但是小程序一般都依赖于一个平台(容器)中,例如微信、支付宝。小程序确实不用考虑太多硬件兼容性问题,但是它不自由啊,不能单独安装使用,必须依托于第三方。
2024-07-11 16:49:48
438
原创 记录一次服务器一直向外发送大量请求(挖矿病毒)排除
2、原因1、大概率是因为Redis没有认证密码,通过aof设置定时任务,拉取病毒脚本http://oracle.zzhreceive.top/b2f628/b.sh2、相关分析看3、病毒是TeamTNT变种。
2024-07-08 17:10:38
583
原创 SOLR数据导入和导出
1、solr中的类型修改导致solr的core无法加载,只能删除core,重新创建。但是solr中的数据,只能从core心中导出,在导入新建的核心中。2、试了几种方案,还是通过第三方freedev / solr-import-export-json的组件更加灵活。3、其中几种方案也做了试错。
2024-06-25 16:14:24
763
原创 关于老iPad 能够重新使用经过的一些列折腾
https://imacos.top/2022/10/25/rdrwindows-macos/ Windows环境下快速安装黑苹果双系统,我就是用这个教程安装成功的,不过提供的镜像版本太高,卡的用不了,我就花了钱开了会员,下载10.15.7镜像。https://www.ccmacos.cn/ UP:嘿我叫聪聪的黑苹果网站,如果是老电脑,2016年左右的,大概率是不行的,不过可以试试,成本很低。采用LeetDown实现降级很简单,一次成功,最好使用LeetDown下载的镜像,用爱思下载的镜像校验失败。
2024-04-18 11:06:47
1132
原创 SOLR分组聚合的相关技巧
使用SOLR的时候我是抗拒的,又应为项目只能用SOLR实现需要,没有办法只能硬着头皮来做,如果实现没办法可以看看下文。在做的过程中,SOLR这个技术栈可能用的少,国内的文字写的都是基本应用,facet query都很少使用,我的需求也无法满足,只能自己找两本去读,来研究SOLR,也把成果记录下来,分享给大家。
2023-09-08 11:47:01
780
原创 处理异常格式下时间串无法转换成Date对象问题
火狐浏览器66版本,通过tolocalString()方法,获取的2021-05-20 上午11:30:00类似的格式,导致通过无法转成Date。
2023-04-21 11:59:50
270
原创 Springboot使用Maven将本地依赖打包到war包
1、环境Springboot项目,打包工具使用Maven2、需要WAR包部署到国产中间件3、项目依赖了一些JAr包,非Maven库中依赖。
2023-02-24 17:50:22
1896
原创 char类型和varchar的区别和选用
2. varchar字段,存储的空间根据存储的内容变化,空间长度为L+size,存储内容长度加描述存储内容长度信息,优点就是空间节约,缺点就是读取和存储时候,需要读取信息计算下标,才能获取完整内容。缺点是空间冗余,对于数据量大的表,非固定长度属性使用char字段,空间浪费。3.1 固定长度的属性选用char类型,如ID字段长度固定都是36,就选char(36).3.1 对于字段长度小的且固定长度的属性,例如长度为3的,选char(3)3.2 对于较长的且不固定长度的属性,用varchar(36).
2022-09-16 11:21:36
3492
原创 操作系统学习
BIOS大家应该都见过,但具体的功能可能说不清,其实BIOS中放置的代码是对基本硬件的测试代码,以及一些让用户调用硬件基本输入输出功能的子程序。大家要明确,BIOS的输入输出功能也是以中断调用形式提供给用户的,在第三阶段操作系统接管中断以前,都是用的BIOS中断。(2)另外一个原因是实模式对于内存的访问不会有任何保护,谁来了也能访问,而保护模式可以对内存的访问进行一定的限制。不同的操作系统遇到不同中断反应是有差别的,所以操作系统是必须要接管中断的,设置中断表。把该读入的文件读入后,要为。...
2022-07-25 15:36:01
165
原创 兼容国产化神通数据库遇到的问题适配
问题一com.oscar.sql.Timestamp cannot be cast to java.time.LocalDateTime环境:神通数据库是通过Timestamp 存储的时间,但是查询的时候实体类是通过LocalDateTime接受的,业务中抛出异常。解决:由于实体这个类型的字段使用比较多,我们无法不想修改业务代码去兼容,求助神通官方,官方给了一个JDBC的工具包,使用这个工具包就解决了无法转换问题。本来使用的数据库安装包中的oscarJDBC16.jar,后来官方说这个不是最新的,
2022-06-25 16:25:33
2240
3
原创 记一次服务器修改jar包中的静态文件
一、背景由于网络原因,每次上传jar包就要半天,仅需要修改一个静态文件,每次都更新jar包,然后更新半天,得不偿失。所以直接通过服务器解压,修改静态文件,然后重新压缩,运行jar包。二、命令2.1 全部解压然后重新打包解压jar -xvf xxx.jar重新压缩jar -cvf0m xxx.jar META-INF/MANIFEST.MF ./2.2 只解压修改文件,然后替换解压jar xf test.jar BOOT-INF/classes/application.yml会把
2022-04-18 10:58:05
1397
原创 数据库范式通俗理解
写在前面数据库范式一直是一种很难理解的,各种翻译版本讲解的方式都比较难理解,在这重新梳理下自己的理解范式一、范式NF (normal from) 规范的形式二、1NF要求我们表中的每个字段都必须是最基本的属性,即原子属性(不可再拆分)。例如:学生表中,有学号,姓名,联系方式,这个联系方式就不满足1NF,因为联系方式还可以拆分为手机号,微信号,QQ号等。三、2NF要求表中所有的属性都依赖于主键。所有的字段只有因为主键才会变得有意义。例如:学生表,姓名,性别不能确定是那个学生,反而我们能通
2022-03-28 21:59:21
1604
原创 openXMl
w:pStyle 定义样式IDw:keepNext :段落是否在一个页面上w:keepLines :此元素指定在页面视图中呈现该文档时,尽可能将该段落的所有行维护在单个页面上w:widowControl :这个元素指定消费者是否应该通过将该行移动到下一页,来阻止该段中的一行显示在与剩余内容分开的页面上。w:outlineLvl :此元素指定大纲级别,大纲级别应与文件的当前段落相关联。w:pPr: 这个元素指定了段落属性,这些属性将作为父编号定义中给定编号级别的一部分应用。这些段落属性适用于任何引
2021-12-21 09:03:22
4150
神通数据库最新连接驱动
2022-06-25
常见的疾病数据数据库,SQL格式可以直接导入数据库
2020-04-28
Windows6.1-KB2533623--x64.rar
2021-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人