- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 MAC OS使用docker部署RocketMQ,解决宿主机无法访问broker
MAC OS使用docker部署RocketMQ,解决宿主机无法访问broker
2022-08-18 16:51:26 2297
原创 分布式事务一致性的保证 2PC和3PC和PAXOS
2PC两阶段提交,包含两个角色(协调者与参与者)分为准备阶段以及提交阶段准备阶段协调者发送提交请求给各个参与者参与者执行事务,并记下undo,redo日志执行者将执行结果告诉协调者提交阶段第一阶段中所有的参与者均执行成功协调者发送提交信息参与者执行事务提交参与者发送提交完成消息执行者向各个参与者发送执行完成消息第一阶段中存在执行失败的参与者协调者发送回滚信息参与者执行事务回滚参与者发送回滚完成消息执行者向各个参与者发送回滚完成消息2PC存在的问题同步堵塞:
2022-02-15 17:51:42 847
原创 浏览器number精度问题(js)
问题前几天测试接口功能的时候,发现了一个奇怪的问题。一些店铺创建并上架的商品,能正常查看详情,有一些则报错。排查首先看一下整体的业务流程其中前一二三步是没有问题的,到第四部查看商品详情就开始出问题了,有一些商品查看时会报错。首先查看报错原因因为在搜索数据库数据的时候,搜索不到,导致了业务报错。然后查看搜索条件直接按照id搜索商品详情。然后找id哪来的在第三步返回商品分页数据的时候返回的。用arthas查看服务器中的商品返回数据发现id居然是正确的!!!然后用postman模
2022-01-05 11:37:26 1354
原创 Spring的事件通知机制探究(publish-event)
背景项目中用到了spring的事件发布,在用完之后,对其中的原理和实现做一些了解和记录。DEMO首先新建一个事件public class DemoEvent extends ApplicationEvent { private Demo demo; public TestEvent(Demo demo) { super(demo); this.demo = demo; } public Demo getDemo(){
2021-12-15 20:30:49 2398 1
原创 抽象类和接口的区别
在语言层面上,抽象类和接口的区别是抽象类使用extend去继承,而接口是使用implement去实现一个类只能继承与一个抽象类,但是却可以实现多个接口在使用层面上呢举个栗子public abstract class animal{ public void eat(){}; public void sleep(); }public class dog extend animal{}public class bird extend animal{}动物都会吃饭睡觉,那么我们
2021-09-29 16:03:05 131
原创 jetcache的@CreateCache注解不生效
背景最近在帮另外一个项目组的同学解决一些产品搭建的环境问题,商品模块早已正常启动,但访问类目查询接口,出现了空指针错误。解决流程先找到空指针的代码位置通过堆栈日志,找到出现空指针的代码,大概是这个样子@CreateCache( name = "BackCategory:ancestor", expire = 1800)private Cache<Long, List<BackCategory>> cache;public List<BackCa
2021-09-16 12:48:09 3572
原创 搞懂网络I/O模型
什么叫做I/OI/O在计算机中指的是Input/Output,可以直接被翻译为输入输出。因为程序运行时的数据是在内存中驻留,并由CPU来进行处理的。所以涉及到数据交换的地方,如和硬盘或者是网络进行数据交换等,就需要I/O接口。现在计算机架构现代计算机都是基于冯诺依曼体系结构的,由输入设备,处理器,运算器,控制器,输出设备组成。...
2021-06-19 16:28:14 594
原创 ArrayList并发场景下出现NULL元素
起因早上收到通知,负责的模块中有一个借口出现了借口超时的问题,通过阿里云的Arthas监控接口的调用情况,发该接口中有一段代码循环了4000次,每次循环耗时在0.3ms到6ms之间,最终导致了接口的整体超时List<Result> results = new ArrayList<>();ids.forEach( it -> { Result result = findSomeThingFromRedis(it);
2021-03-11 00:27:26 1910 1
原创 Dubbo踩坑记录 ImmutableCollection不支持序列化导致的接口调用失败
由于业务需要,因此在接口的实现过程中调用了其他模块的接口,碰巧请求参数是一个List,所以就用了如下方法进行参数调用public List<DicResponse> getDicListByCode(String dicCode){ try{ Request request = new Request(); List<String> codes = ImmutableList.of(dicCode); request.setC
2021-02-04 18:24:12 1072
原创 数据库设计的三大范式
三大范式第一范式(所有字段不可拆分)违反第一范式姓名年龄居住地张三17浙江省宁波市李四20江苏省无锡市所有的字段都是不可拆分的,这里的居住地字段就可以接着拆分为居住地省,居住地市改进姓名年龄居住地省居住地市张三17浙江省宁波市李四20江苏省无锡市第二范式(字段需依赖主键中的全部信息,而不能只依赖部分信息)这里的主键是理解为姓名 + 订单号姓名年龄居住地省居住地市淘宝订单号商品
2021-02-02 14:16:55 230
原创 http请求失败问题排查
ping + ip地址检查是否在同一局域网内telent + ip地址:80检查能否建立tcp连接(是否能够握手)curl + 域名内否建立http连接
2020-11-12 15:43:06 4199
原创 service和dao层是否一定需要实现接口呢?
大多数项目中的架构都如下图所示其中facade和manager层可以根据业务需要选择是否保留通常在项目中我们会选择对facade和service做先写接口,再做实现的处理,但是在实际开发中,好像并没有体现出先写接口的必要性,写篇文章,总结一些接口的好处,以及分析在实际开发中是否一定要接口化处理接口的好处可以开发人员明确改类实现的功能在多实现的场景下,对实现类起规范作用在多人协作开发的场景下可以快速提供还未实现的方法java动态代理是基于接口去增强的思考实际工程开发中,功能从设计到实
2020-11-05 11:44:16 1462
原创 java多态,继承特性(子类和父类中的方法调用顺序)
父类public class ModelA { int x = 5; int y = 2; public ModelA(){ System.out.println("父类无参构造函数"); } public ModelA(int a) { x = a; System.out.println("父类构造函数 x = " + x); } int getz() { System.out.
2020-09-17 11:05:12 954
原创 maven仓库配置,镜像,私服,远程仓库,本地仓库
镜像概念解释maven的镜像是在setting文件中配置的,镜像的作用相当给其他仓库中做的一个代理,假设A_repository中的资源是B_repository中资源的子集,那么就可以把B_repository配置成A_repository的代理镜像,也就可以吧B_repository称为A_repository的镜像。适用场景(用途)为什么需要镜像呢,在不做任何处理的场景下,我们利用maven拉包(),会到A_repository仓库去拉,但如果是这个repository不在国内,会导致拉包的
2020-08-27 15:42:57 1500
原创 docker 常用命令,查看镜像,查看容器,查看网络,进入退出容器bash,启动失败问题查看,容器内文件复制到容器外
docker images列出所有的镜像docker ps -a列出所有存活未存活的容器
2020-08-17 10:30:29 479
原创 maven依赖冲突,产生原因及解决方法
在做工程项目的时候,出于解耦等方面的考虑,我们会吧一个大工程分解成许多的子工程。然后在一个工程中通过添加依赖的方式来引用其他的工程。在依赖关系及其复杂的情况下,就容易产生依赖冲突。依赖冲突(包冲突)表现形式通常的表现形式为抛出异常如下异常1.java.lang.NoSuchMethodError2.java.lang.ClassNotFoundException3.java.lang.NoClassDefFoundError所以当出现上述异常但是项目编译却能通过的时候我们就要考虑是不是出现了
2020-08-13 19:23:28 1024 3
原创 spring事务异常---Transaction rolled back because it has been marked as rollback-only
问题出现最近在重构之前同事的代码,完成重构后对代码进行调试的过程中,出现了服务调用异常的错误,而不是在项目中我们自定义的异常错误信息,所以怀疑这是框架层面的错误,而非业务代码上的错误。问题排查通过排查日志发现,具体的错误信息是Transaction rolled back because it has been marked as rollback-only,很明显是一个和事务相关的错误。且通过对业务逻辑中日志答应状况的排查,发现,业务正确执行到了最后,但是最后进行事务提交的时候进行了错误。开启spr
2020-08-03 10:21:02 13618 3
原创 Git常用指令,撤销提交,分支删除,版本回退,代码合并,代码暂存,配置查看
提交代码到远程仓库git add . 或者是git add XXX //XXX为文件名,多个文件之间用空格分隔git commit -m "提交注释"git push撤销commit版本回退远程拉取代码
2020-03-25 11:02:25 275
原创 springboot连接mysql异常 Caused by: java.net.ConnectException: Connection refused (Connection refused)
通过springboot连接数据库时抛出下列主要异常信息com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver h...
2020-01-19 17:26:42 9684
原创 mysql聚集索引索引,非聚集索引,覆盖索引,回表,及索引生效场景
聚集和非聚集索引聚集索引就是他在数据库中的数据和物理存储顺序是一致的,非聚集索引就是不一致的,聚集索引的结果包含了索引列以及表中的数据,非聚集索引中存放了主键的信息和索引列的信息回表->只会发生在非聚集索引下非聚集索引,先更具条件,查到信息,这个信息只包含了主键信息和列信息,可能不包含非主键信息,然后再更具主键去走主键索引,然后拿到所有数据。联合索引(多列组成的索引)的生效失...
2019-12-05 17:47:32 280
原创 在一个项目中引用另一个项目,导致mybatis提示找不到某个类
问题Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias ‘XXXXXXXXXXX’.Cause: java.lang.ClassNotFoundException: Cannot find class: XXXXXXXX2019-12-04 10:45:13 at org.apache....
2019-12-04 14:28:39 748
原创 Java反射无法获取构造函数
通过反射获取对象的方式有很多,由于之前一直是用Class clazs = Class.forName(类路径);Object obj = Class.newInstance();但是这个方法有很大的弊端,由于Class.newInstance()算是一个无参的构造函数,所以当你的类中没有无参的构造函数时,是无法调用这个方法的。所以今天就尝试了一下通过先获取构造函数的方式来创建对象。...
2019-08-21 15:46:37 1184
原创 多个请求共用一个Servlet
之前在练习的时候因为请求少一直没注意过这个问题,就直接一个请求新建一个Servlet,但是如果请求多了以后就会发现,需要不停的创建新的servelet以及不停的在web.xml中配置servelt,会导致项目看起来十分的杂乱,严重降低效率。于是就需要去思考,如何将一系列的请求用一个servelt封装起来。实现多个请求公用一个servelt有两种方法方法一 在每一个请求后面跟上?me...
2019-07-29 17:26:49 964
原创 jsp与servlet之间的中文乱码问题解决
当我们在直接在servlet中用reponse.getWrite()直接往浏览器打印消息时,发现打印出来的消息是???等乱码,那么通常是由于我们服务器的编码与浏览器的编码不同所引起的。也就是说服务器客户端编码不一致。因为英文字符是占一个字节的,但是中文占两个字节,所以有一些解码方式就会把我们发送的中文改成另外一个样子。相当于一个字被拆成两半了,那肯定和原来的不一样了。我们常用的服务器Tomca...
2019-07-11 10:48:06 317
原创 资金管理系统,页面不兼容问题
通常资金管理系统都是只能用ie浏览器来查看的,现在世面上的大多浏览器为了追求速度,都是用chrome的内核,但是用chrome内核浏览各种涉及金融的系统的话,会导致页面无法完全显示以及控件摆放杂乱的问题,因此可能需要使用ie浏览器。但是即使是用ie浏览器,界面可能也会出现问题,控件摆放的位置也会很乱,控件可能出现遮挡,十分影响界面效果,甚至导致有些功能无法使用,然后我们需要自己修改一下浏览器与...
2019-07-05 11:25:02 629 1
原创 toj 2741 Hotel booking (spfa+bfs+巧妙构图)
DescriptionA transport company often needs to deliver goods from one city to another city. The transport company has made a special deal with a hotel chain which allows its drivers to stay in the ho...
2019-06-19 23:58:24 278
原创 阿里云+php smtp邮件无法发出
虽然之前成功将项目部署到了阿里云上,但是由于环境的不同,依旧会出现一些问题。现在大部分的服务器都会禁用25端口,因为开启25端口的话会导致垃圾邮件数量的增加,但是我们的项目在本地时通常是利用25端口进行发送的,于是部署到服务器上你就会发现邮件无法发送,查看nginx的错误日志,它也会告诉你,邮件发送超时。对于这个问题,暂时有两种解决方法,而且服务器文档中也有明确说明方法一:申请解封...
2019-06-03 22:26:19 871
原创 nginx+阿里云部署项目,安装nginx后访问服务器的IP地址无法出现nginx的界面
主要是因为80端口并未开启,于是我们去配置安全组然后选择安全组配置然后我们点击配置规则由于是80端口无法访问,因此需要选择入方向,然后点击添加安全组规则。最后按下图所示配置如方向的80端口即可...
2019-06-03 20:42:23 1869
原创 php网站 阿里云服务器端部署 ubuntu16.0+php7.0+mysql+nginx
由于最近的php期末作业要求中有部署项目到服务器的要求,在大致浏览了一遍老师的部署过程中,通过尝试与摸索,终于成功把项目部署了上去,然后来记录一下自己部署项目的的错误与心得,方便以后温故知新。 因为本人的阿里云服务器在下午的尝试过程中搞的乱七八糟的,改不回来了(重启冷却中),于是换了个腾讯云重新实验。唯一的区别就是阿里云可以直接登录root用户,但是腾讯云不行。当...
2019-05-28 00:30:06 459
原创 java web:Tomcat报错:The origin server did not find a current representation for the targe
在给eclipse配置好了tomcat以后,在浏览器中输入localhost:8080却报The origin server did not find a current representation for the targe!!!我碰到的问题的解决方法是,先去Serves下找到serve文件中的Host标签,发现其中的appBase=“webapps”,然后双击serves下的...
2019-05-23 13:10:34 1614 1
原创 toj 2793:石子归并_区间dp
Description有n堆石子排成一条直线,每堆石子有一定的重量。现在要合并这些石子成为一堆石子,但是每次只能合并相邻的两堆。每次合并需要消耗一定的体力,该体力为所合并的两堆石子的重量之和。问最少需要多少体力才能将n堆石子合并成一堆石子?Input输入只包含若干组数据。每组数据第一行包含一个正整数n(2<=n<=100),表示有n堆石子。接下来一行包含n个正整数a1,a2...
2019-04-17 21:37:42 302
原创 ZOJ 2972 TOJ 1545 Hurdles of 110m(一般dp)
描述In the year 2008, the 29th Olympic Games will be held in Beijing. This will signify the prosperity of China and Beijing Olympics is to be a festival for people all over the world as well.Liu Xia...
2019-04-12 21:03:49 254
原创 HDU 1069 TOJ 1322 Monkey and Banana(贪心+dp)
DescriptionA group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks...
2019-04-08 21:25:34 238
原创 hdu 2089 不要62, 动态规划
题目描述杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数...
2019-04-07 22:23:36 188
原创 Graph’s Cycle Component 并查集
Graph’s Cycle Component Description In graph theory, a cycle graph is an undirected graph that consists of a single cycle, or in other words, some number of vertices connected ...
2019-03-25 19:59:47 271
原创 URL stl map
1715: URLTime Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByteDescriptionWHU ACM Team is working on a brand new web browser named "Whu-Super-Browser". You're in response for a power...
2017-08-17 14:10:16 312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人