自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 软件开发原则

2. 开放封闭原则(Open-Closed Principle) 开放封闭原则是指软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。5. 依赖倒转原则(Dependency Inversion Principle) 依赖倒转原则是指高层次模块不应该依赖低层次模块,而是应该依赖于抽象。这个原则可以减少模块间的耦合性,提高代码的可测试性和可重用性。3. 里氏替换原则(Liskov Substitution Principle) 里氏替换原则是指子类对象能够替换父类对象,并且程序的逻辑不会发生变化。

2023-08-09 22:10:33 92

原创 mybatis批量执行多条sql Mysql

配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙。2 如果使用druid链接池的话,还要去掉防火墙。1 jdbc链接url后面添加。

2023-07-15 22:00:17 223

原创 antdv select组件在鼠标移入的时候会自动滚动定位,本地没事,生产环境有问题。

本地没事,生产环境有问题。通过这个现象基本可以锁定是数据产生的差异性。检查一下你的option有没有value是null的。去除垃圾数据后,正常。

2023-06-27 08:52:20 151

原创 Mybatis分页查询接口 ,返回Record中的对象与xml中写的不一致,会以xml为准,直接返回

接口中定义返回的是Java对象,但xml中返回的却是HashMap,最终运行结果,返回的是map。

2023-04-14 13:17:29 142

原创 Mybatis-plus 的 @TableLogic 注解

TableLogic 注解将会在 update 语句的 where 条件后追加条件,防止更新到已删除数据。@TableLogic 注解会将 delete 语句转变为 update 语句。且使用 wrapper.entity 生成的 where条件会忽略该字段。3.4 删除(delete)更新(update)

2023-04-13 13:38:20 193

原创 Servlet执行流程

客户端发送http请求,web服务器将servlet请求转发道servlet容器,servlet容器解析url,根据web.xml找到对应的servlet处理器,并将request和response传递给servlet,servlet解析request中的请求信息,并将结果保存于response,并相应到客户端。

2023-03-31 11:20:46 60

原创 谈谈你对 MyBatis 的理解

1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 Statement 等繁杂的过程。程序员直接编写原生态 SQL,可以严格控制 SQL 执行性能,灵活度高。中国的程序员对它的理解,甚至不是ORM框架,将其潜意识认为是面向sql的,其实是错误的,面向对象的大方向是恒定不变的。

2023-03-31 08:54:33 475

原创 Java基本类型4类8种

双精度浮点数的表示范围:-1.79E+308~-1.79E+308。单精度浮点数的表示范围:-3.40E+38~3.40E+38。double : 双精度浮点数。单精度浮点数在机内存占4个字节。双精度浮点数在机内存占8个字节。float : 单精度浮点数。01.在内存中占有的字节数不同。双精度浮点数有效数字16位。单精度浮点数有效数字8位。

2023-03-31 08:32:13 53

原创 JVM学习

Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。简单来说JVM是用来解析和运行Java程序的。jdk8的JVM不再有永久代(PermGen),原永久代存储的信息被分成两部分: 1、虚拟机加载的类信息(放在元空间) 2、运行时常量池(放在堆中)要想知道JVM中内存区域的划分,拿首先就要知道JVM中的内存区域从什么地方来,JVM中的内存是JVM向操作系统中申请一块内存,在针对这个内存划分一个区域。

2023-03-29 08:30:46 45

原创 服务器cpu过高排查方法

通过top命令,我们目前已经定位到导致CPU使用率较高的具体线程,比如线程4519, 那么我么接下来就定位下到底是哪一行代码存在问题。通过以上命令,我么可以看到是代码中哪行出现了问题,重构代码即可。$top -Hp23456 进行定位线程。

2023-03-29 07:55:03 343

原创 redis分布式锁

缓存失效时,不是立即去加载db数据,而是先使用某些带成功返回的原子操作命令,如(Redis的setnx)去操作,成功的时候,再去加载db数据库数据和设置缓存。缓存穿透:指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。缓存没命中,就去查数据库,然后把数据库的值更新到缓存,再返回。通俗点说,读请求访问时,缓存和数据库都没有某个值,这样就会导致每次对这个值的查询请求都会穿透到数据库,这就是缓存穿透。

2023-03-28 22:40:54 55

原创 索引下推 回表

回表就是索引中找到了数据id,然后回表去拿到所有数据,再比对另一个过滤条件。mysql 5.6之后引入的一个特性,索引下推。如果使用组合索引,就可以利用。所谓的索引下推,就是。

2023-03-28 21:58:14 93

原创 Mysql cpu飙升排查

从以上找出CPU使用率高的线程ID分别为:21845、61497、61498、61507、7413、7414、7415、7416、7417、7418、7419、7420。使用top观察系统资源,OS负载不高,但是可以看到mysqld进程(PID:21828)的CPU使用率达到了232.6%,其内存使用率也达到了17.7%。6. 根据线程CPU使用率高的TID到threads.log中找出对应的PROCESSLIST_ID。4. 通过pidstat工具观察mysqld线程使用CPU的情况。

2023-03-28 21:42:12 299

原创 Nacos共享配置(shared-configs)和扩展配(extension-config)

日常开发中,多个模块可能会有很多共用的配置,比如数据库连接信息,Redis 连接信息,RabbitMQ 连接信息,监控配置等等。那么此时,我们就希望可以加载多个配置,多个项目共享同一个配置之类等功能,Nacos Config 也确实支持。2、不同种类配置之间,优先级按顺序如下:主配置 > 扩展配置(extension-configs) > 共享配置(shared-configs)1、上述两类配置都是数组,对同种配置,数组元素对应的下标越⼤,优先级越⾼。也就是排在后⾯的相同配置,将覆盖排在前⾯的同名配置。

2023-03-28 21:33:01 1817 1

原创 Nacos是强一致性还是最终一致性

单机模式下不存在这个问题,强一致性。

2023-03-28 21:21:05 2173

原创 2023年3月,噩梦般的一个月,关爱PKU宝宝

代谢异常,我和老婆的心开始提了起来,但网上查询资料,大部分都会复查通过,所以不同太担心,20号下午,带着二宝去复查,医生牛婷婷主任,看了报告单说,“你这个很像了(苯丙酮尿症)”,这句话,直接当场把我干懵,然后说了一大堆话,我都没听进去,又采了足底血,等待结果,这是噩梦般的一周,我查资料,大部分人都会复查通过,但我家二宝的指标比她们高2倍,因此,复查不通过的几率很高,我紧张到不能呼吸,白天出去外面,一个人就在路边哭泣,我接受不了我的女儿会有这样的人生,一辈子不能吃别人爱吃的糖果零食。

2023-03-25 13:41:20 39

原创 Docker笔记

docker ps查看当前运行中的容器查看镜像列表删除指定 id 的容器停止/启动指定 id 的容器删除指定 id 的镜像查看 volume 列表查看网络列表。

2023-02-24 20:37:24 189

原创 程序员通病腰肌劳损,快速有效疗法--凳子小燕飞

给我开了200多的药,内服的,有点蒙,没给膏药,说是内服比外敷效果好,然后让做小燕飞,回家后我在凳子上做的小燕飞,做了几次后,腰部感觉就很好了,完全不用吃药。根据今天看医生的情况,只要趴在床上疼痛部位无扩散现象,腿不疼基本上可以定性为腰肌劳损。唉,白费了医保中200多,各位有腰病的朋友,可以试试小燕飞,还你飞一样的感觉。最近要突然疼起来了,发现是久坐椅子,坐姿不好,驼背低脖子都会引起这些问题。

2023-02-23 20:28:35 115

原创 springboot集成MybatisPlus爬坑记录

3 调整 SqlSessionFactory 为 MyBatis-Plus 的 SqlSessionFactory。2 配置mapperscan,当然也可以不配置,在每个mapper或dao上增加@Mapper的注解也可以。好久没有重新搭建基本框架,因此重新搞了一遍,发现好多东西真能忘记了,因此重新记录一下。接下来的操作恐怕就需要做过架构的人可能才会了解了。1 添加maven依赖,这个都会不会出错。建议参考官方文档集成。

2023-01-29 15:40:47 122

原创 VFS是什么

就像文档里若是出现 URL 时,也没必要专门解释一下这是 Uniform Resource Locator 的意思一样。这个算是约定俗成的专业术语缩写了吧。(虚拟文件系统)的缩写。

2023-01-29 14:45:52 449

原创 技术经理职责反思2023-2-11

经过3年的架构师 技术经理的工作经历,职责在有的领导不太懂的情况下,会工作偏移掉,导致本该是技术经理的工作,转移到程序员身上,但程序员本身技术能力工作经验都不足,进而导致整个产品或项目的技术质量出现严重问题 ,有的时候,一次问题,足够让客户对公司失去信任。上线发版职责,应该由技术负责人处理,后期有足够优秀的程序员可以兼任。表结构设计,代码模块设计,程序员负责模块分工,任务派发,质量跟踪。

2023-01-18 15:04:59 60

原创 MongoDB多个条件查询Java实现实例

最近工作需要查询mongoDB,结果被搞得头大,后来发现是时间的问题,原来mongo中默认存储的是UTC时间,不是东八区时间,而且供应方插入的时间更是离奇,有时需要加8小时,有时需要减8小时,搞得很混乱,特此记录一下mongo的查询方式,其实还是蛮简单的。以上最麻烦的就是时区的处理,因为你不知道会存储什么时区的数据。导致很多程序需要根据实际数据情况做出改动,这是最初架构设计上的失误,以此为鉴,后续数据库设计必须增加时区要求。首先使用Navicat完成2个条件的写法查询。整体的学习,可以参考我另一篇文章。

2023-01-17 16:02:08 2598

原创 JXLS写入一份excel多个sheet实例

为了让打印小哥,不需要一张张频繁打开打印,因此,需要开发将100多人的成绩单写入一份excel,每人一个sheet。由于基础导出技术栈使用的jxls,因此,就直接用到了多个sheet写入了。遇到一麻烦需求,客户需要同时打印多分excel,有的甚至高达100多份,本来excel支持多个excel同时打印,但是很遗憾,客户的打印电脑太久远了,打印失败崩溃。multisheet="sheetNames" 此处决定是否是分sheet。Excel模板 duoSheetTemplate.xlsx。

2023-01-17 15:49:58 697

原创 局域网搭建https 安全证书

重启nginx之后即可,不过链接会提醒不安全以及标红,这个暂时无法解决,牵扯到操作系统底层的东西,因为底层都是国外的,而安全证书的根证书目前操作系统只认国外的几个公司,因此局域网的安全证书暂时无法解决。本地录屏功能要求必须使用https访问,导致本来是内网的应用,必须使用https访问,无奈。然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)因此使用最简单的https ca安全证书搭建,记录如下。密码我使用的最简单的 1234。运行上面的命令即可,等配置完。

2023-01-17 14:04:04 1797 1

空空如也

空空如也

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

TA关注的人

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