- 博客(227)
- 资源 (3)
- 收藏
- 关注
原创 软考- 数据库系统工程师
控制总线的宽度决定了CPU对外部设备的控制能力,宽度越大,能发送的控制指令就越丰富。简单来说,数据总线负责数据的传送,地址总线负责找到数据的位置,而控制总线则负责发出控制指令来指挥其他设备如何操作。数据总线的宽度决定了数据传送的快慢,宽度越大,一次能传送的数据就越多,速度也就越快。流水线是指将一个较复杂的处理过程分为 m 个复杂程度相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动,在同一时间,m个部件同时进行不同的操作,完成对不同对象的处理。
2024-04-07 09:28:49
422
原创 @Transactional是如何工作的 事物
https://juejin.im/post/59e87b166fb9a045030f32ed在需要进行事务操作的时候,Spring会在调用目标类的目标方法之前进行开启事务、调用异常回滚事务、调用完成会提交事务。Spring并不会对所有类型异常都进行事务回滚操作,默认是只对Unchecked Exception(Error和RuntimeException)进行事务回滚操作。如果是J...
2023-08-06 22:55:59
293
原创 DDD的一些笔记
软件会随着变更而越来越复杂、代码也越来越多,这样就不能在原有的简单程序结构里塞代码了,而是要调整程序结构,该解耦的解耦,该拆分的拆分,再实现新的功能,才能保持设计质量。当系统变更时,将变更业务透过领域模型,还原到真实世界,再根据真实世界去变更领域模型,根据领域模型的变更指导程序变更。,就能做出正确的设计,从而低成本地持续维护一个系统。其中订单是实体、商品是值对象、订单与订单明细是聚合,其中订单是聚合根。建模过程中的都有对象都是领域对象,如何通过领域建模确认和规划系统边界。,就可以正确地指导软件开发。
2023-07-24 09:49:30
210
原创 正则表达式学习
总之,正则是无处不在的,已经渗透到。正则常见的三种功能,它们分别是:校验数据的有效性(如校验手机号 邮箱)、查找符合要求的文本内容(查找符合某规则的号码)以及对文本进行切割和替换(比如用连续的空白符切割)等操作。比如我们要删除掉文本中的所有数字,不知道正则的话,你可能会想到从 0 到 9 这样一个个替换,操作 10 次,但如果知道正则,那么只需要替换一次就可以搞定这个问题。比如英文的点 . 表示换行以外的任意单个字符,\d 表示任意单个数字,\w 表示任意单个数字或字母或下划线,\s 表示任意单个。
2023-06-11 22:38:50
1526
原创 要不你给我说说什么是长轮询吧?
配置中心最核心的能力就是配置的动态推送,常见的配置中心如 Nacos、Apollo 等都实现了这样的能力。Nacos 和 Apollo 恰恰都没有使用长连接,而是使用的长轮询。数据交互有两种模式:Push(推模式)和 Pull(拉模式)。推模式指的是客户端与服务端建立好网络长连接,服务方有相关数据直接通过长连接通道推送到客户端。其优点是及时,一旦有数据变更,客户端立马能感知到;另外对客户端来说逻辑简单,不需要关心有无数据这些逻辑处理。
2023-04-05 00:09:23
533
转载 idea解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错
idea解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错找到 .idea\workspace.xml;如果找不到.idea是就更好显示目录,就能找到。找到,在里面添加即可https://blog.youkuaiyun.com/yjh314/article/details/116938684...
2021-06-24 14:44:51
1260
转载 spring 获取接口实现类 map set list
spring会自动将IndexService 接口实现类 注入到map和set中 @Componentpublic class MyService { @Autowired private IndexService indexService; @Autowired private List<IndexInterface> indexList; @Autowired private Map<String, IndexIn
2021-02-09 16:58:37
629
转载 List 转换成以逗号分割的String字符串
1、使用谷歌的Joiner(代码超级短)import com.google.common.base.Joiner; import java.util.ArrayList;import java.util.List; public class Convert { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.
2021-01-04 16:35:53
12758
原创 java list排序的三种方式
1.使用 Collections 工具类中的 sort() 方法 参数不同: void sort(List list)在自定义类User里面实现Comparable<User>接口,并重写抽象方法compareTo(Student o); void sort(List list, Comparator c) 第二个参数为了省事,可以直接使用匿名内部类 //studentsList本身元素会改变 studentsList.sort(Com.
2020-12-10 10:30:51
3363
1
转载 feign.RetryableException: Read timed out executing xxx
问题介绍:服务之间调用报错超时(读取超时时间长 ),截取部分报错,Read timed out executing POST http://****** , Feign底层使用Ribbon调用请求,ribbon的默认超时时间为1s,所以超过1s没有数据返回就会报错原因及解决办法:明显可以看到是http请求报错超时,feign的调用分两层,ribbon的调用和hystrix的调用,高版本的hystrix默认是关闭的,所以在application.properties配置文件中设置ribbo...
2020-12-02 14:48:24
2563
原创 springboot list 接参 Failed to instantiate [java.util.List]: Specified class is an interface
@GetMapping("getHomeworkTotalUserState") Result<List<HomeworkUserStateVO>> getHomeworkTotalUserState(@RequestParam(value="homeworkIdList")@NotEmpty(message="作业id不能为空") List<Long> homeworkIdList, ...
2020-10-22 21:18:45
685
转载 SourceTree推送分支时,没有分支可以选择
问题:提交代码准备推送的时候,发现无分支列表解决:1.百度发现可能跟SrouceTree 的内嵌git 版本有关系,就更新了内嵌git和SourceTree(如图)【但是并没得到解决,或许有些人的这个问题就是这个导致的】2. 尝试选择用 System 的git (如图)【我选择了 System 就成功了】...
2020-10-13 10:43:53
1588
转载 yapi安装部署及使用
window下部署yapiYApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台。环境要求nodejs(尽量最新版本) mongodb(尽量最新版本)1、安装nodehttps://www.runoob.com/nodejs/nodejs-tutorial.html2、安装mongodbhttps://www.runoob.com/mongodb/mongodb-tutorial.html3、下载Yapihttps://gitee.com/mirrors/
2020-10-10 14:39:12
9629
1
原创 通过父级id查询子类下所有的id
表结构:CREATE TABLE `dy_category_manage` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1班会课 2教学师训 3 德育师训 4 问题手册 ', `category_name` varchar(20) CHARACTER SET utf8 NOT NULL COMMENT '分.
2020-09-29 18:35:36
990
转载 mybatis批量更新/插入数据
探讨批量更新数据三种写法的效率问题。实现方式有三种,1> 用for循环通过循环传过来的参数集合,循环出N条sql,2> 用mysql的case when 条件判断变相的进行批量更新(推荐使用)3> 用ON DUPLICATE KEY UPDATE进行批量更新注意第一种方法要想成功,需要在db链接url后面带一个参数 &allowMultiQueries=true即:jdbc:mysql://localhost:3306/mysqlTest?chara....
2020-09-28 11:43:17
8996
转载 Hibernate Validator学习笔记
Hibernate Validator 是 Bean Validation 的参考实现 。Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。在日常开发中,Hibernate Validator经常用来验证bean的字段,基于注解,方便快捷高效。1.Bean Validation 中内置的 constraint 注解 .........
2020-09-01 09:33:14
263
转载 windows下用bat批处理同时启动多个redis
举例要启动三个redis 一主用端口6379 一从用端口6380 一从用端口63811)两个从redis的配置文件redis.windows.conf中 要设置 slaveof localhost 6379,同时一个从的port 端口为6380 另一个从的port端口为6381如果主服务器设置了密码,还要在从服务器的 masterauth 主服务器密码 进行设置2)编写bat脚本,即用txt写命令脚本并另存成后缀名为bat的文件bat脚本命令如下:start "redis_a" ...
2020-08-25 14:29:24
903
3
转载 如何完整离线保存网页,包括网页完整特效?
https://www.zhihu.com/question/22263777Save Page WE插件保存为htmlChrome 75不支持保存成mhtml的解决方法在Chrome 75之前,可以设置chrome://flags -> save as mhtml来保存网页为mhtml。75之后,flags里去掉了这个功能。可以设置快捷方式执行参数来达到相应的目的。如下图所示:加到引号后面,引号内提示无效,"…\chrome.exe" --save-page-as-m..
2020-07-06 15:37:30
1914
原创 myabtisplus执行方法异常 Cause: java.lang.IndexOutOfBoundsException: Index: 22, Size: 22
调用自带方法 selectById()### The error occurred while handling results### Cause: java.lang.IndexOutOfBoundsException: Index: 22, Size: 22解决办法方法一:去除@Builder注解。方法二:增加构造函数,如Lombok提供的@NoArgsConstructor、@AllArgsConstructor。...
2020-06-30 09:59:57
1418
3
原创 docker 环境搭建
https://www.cnblogs.com/yanwu0527/p/12666520.htmlhttps://www.cnblogs.com/yy-cola/p/11226924.html docker安裝mysql
2020-05-16 03:07:04
167
原创 mac安装mysql遇到的坑
https://downloads.mysql.com/archives/community/官网下载地址 版本和mac系统版本对应,否则会出些稀奇古怪问题,再此记录血的教训 官网下载 mysql-5.7.15-osx10.11-x86_64.dmg MySQL 5.7.15 官网下载有点慢,于是下完后放到百度网盘了。 https://pan.baidu.com/s/1o7UUi4y <注:dmg安装方式,新版本的安装包内,只有一个...
2020-05-11 23:08:51
1145
转载 Zookeeper客户端的命令操作
http://blog.sina.com.cn/s/blog_790c59140102w6ho.htmlZookeeper客户端的命令操作ls,列出某一节点下的子节点信息stat,查看节点的状态信息在zookeeper中,每一次对节点的写操作都认为是一次事务,每一个事务,系统都会分配一个唯一的事务ID,czxid代表该节点被创建的事务ID,ctime表示创建的时间,mzxid表示最后一次被更新的事务ID,mtime是修改时间,pzxid表示子节点列表最后一次被更新的事务ID,cversio
2020-05-09 00:17:20
397
转载 mybatis 自定义分页插件
https://blog.youkuaiyun.com/weixin_37139197/article/details/101539995
2020-03-29 13:55:31
302
转载 MySQL InnoDB数据表缺少主键会怎样
InnoDB索引MySQL数据表使用InnoDB作为存储引擎的时候,数据结构就是使用B+树,而表的所有数据存储在主键索引上,也就是通常所说的聚簇索引,也就是每个表都需要有个聚簇索引树,对于InnoDB,主键对应的索引就是聚簇索引,表的所有数据都存储在聚簇索引上,而除了聚簇索引的普通索引存储的只是主键的引用,所以,查询的时候对于普通索引需要进行回表才能取到具体数据。缺少主键MySQL如何处理...
2020-03-26 17:58:15
2960
3
原创 docker的基本应用
docker ps 查看docker运行的容器docker run --name fee -v /etc/localtime:/etc/localtime -v /etc/hosts:/etc/hosts -v /home/java/fee:/opt/fee -v /home/java/fee/logs:/opt/fee/logs --net=host -p 40013:40013 -d o...
2020-03-26 13:46:01
193
转载 Semaphore 源码分析
源码解析Semaphore有两种模式,公平模式和非公平模式。公平模式就是调用acquire的顺序就是获取许可证的顺序,遵循FIFO;而非公平模式是抢占式的,也就是有可能一个新的获取线程恰好在一个许可证释放时得到了这个许可证,而前面还有等待的线程。Semaphore有两个构造方法,如下: public Semaphore(int permits) { syn...
2020-03-07 16:41:13
107
转载 Java中什么样的对象才能作为gc root,gc roots有哪些
所谓“GC roots”,或者说tracing GC的“根集合”,就是一组必须活跃的引用。GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理,因而选择这些区域内的对象作为GC roots,被GC roots引用的对象不被GC回收。在Java语言里,可作为GC Roots对象的包括如下几种: a.虚拟机栈(栈桢中的本地变量表)中的...
2020-03-05 21:46:32
2671
1
转载 BeanFactory和ApplicationContext有什么区别?
BeanFactory和ApplicationContext有什么区别? BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是BeanFactory的子接口。(1)BeanFactory:是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理...
2020-03-04 09:34:26
2418
原创 分布式锁的几种实现方式
https://blog.youkuaiyun.com/allensandy/article/details/89676301?from=groupmessage&isappinstalled=0synchronized和lock都是jvm级别锁,作用范围在一个jvm进程内,分布式下是多jvm进程,所以不起作用...
2020-03-01 16:06:59
60
转载 Maven中关于jar包冲突的2种排查方案及3种解决方式
https://www.toutiao.com/a6762381950838637067
2020-02-29 22:25:57
773
转载 红黑树 TreeMap
红黑树是一种近似平衡的二叉查找树,它能够确保任何一个节点的左右子树的高度差不会超过二者中较低那个的一陪。具体来说,红黑树是满足如下条件的二叉查找树(binary search tree):每个节点要么是红色,要么是黑色。 根节点必须是黑色 红色节点不能连续(也即是,红色节点的孩子和父亲都不能是红色)。 对于每个节点,从该点至null(树尾端)的任何路径,都含有相同个数的黑色节点。在树的...
2020-02-24 23:12:42
125
转载 二叉搜索树
http://cmsblogs.com/?p=8031 Java数据结构和算法(十)——二叉树http://cmsblogs.com/?p=4671 二叉搜索树的遍历
2020-02-23 14:35:48
139
转载 多线程求和,计算1到100000000(一亿)的和
public class A { long value = 0; A(long value){ this.value = value; }}//类A用于记录各线程的和public class MultiSum implements Runnable{ private A sum; priv...
2020-02-22 16:26:09
3193
1
转载 这几个 IntelliJ IDEA 高级调试技巧,用了都说爽!
循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置https://mp.weixin.qq.com/s?__biz=MzU3NTMwMTUxMg==&mid=2247484688&i...
2020-02-21 11:34:34
260
转载 SpringCloud各个组件说明
对于SpringCloud来说,首先我们需要认识一些基本的组件,这会让我们之后的讨论和交流更有效率。组件名字和发音如果你都不知道别人再说什么,或者别人都不知道你再讲什么,就很尴尬了。Eureka [jʊ'ri:kə]Ribbon [ˈrɪbən]Feign [fen]Hystrix [hɪst'rɪks]Zuul [zulu]Sleuth [sluθ]Turbine [ˈ...
2020-02-20 14:00:57
257
SpringBoot2.0不容错过的新特性 WebFlux响应式编程.txt
2019-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人