自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小哥骑单车

爱好:健身、游泳、骑车。

  • 博客(128)
  • 资源 (7)
  • 收藏
  • 关注

原创 Java各类技能知识点学习链接大全:一、Java基础

以下内容均为其它网站学习链接,收藏以便随时复习翻阅:(如有不妥,可联系本人删除链接,感谢!)一、Java基础二、Java并发三、JVM相关1、使用 VisualVM 进行性能分析及调优https://www.ibm.com/developerworks/cn/java/j-lo-visualvm/四、数据库相关五、Sping系列六、Linux七、缓存八、消息队列九、...

2020-07-17 09:26:46 967 2

原创 Nacos 配置中心

SpringCloud Nacos 配置中心

2022-12-02 00:24:02 259

原创 如果服务器出现内存泄漏,堆内存缓慢上涨,一段时间后触发了fullGc,如何快速定位?

1、最近有没上过线,最近历史记录,代码改动有没可能造成泄露2、如果需要快速定位: jmap -histo 18640|head -20-histo[:live] to print histogram of java object heap; if the "live" suboption is specified, only count live objects3、如果不考虑系统会被暂停,导致stop th...

2021-10-20 11:07:50 281 2

原创 生产异常 Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceed

1、程序中报错日志:Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction; Lock wait timeout exceeded; try restarting transaction; nested exception is com.mysql.cj.jdbc.exceptions.MySQLT..

2021-09-14 16:38:51 11980

原创 生产一次RedisCommandTimeoutException问题分析

1、在某个时间段,生产日志大量出现RedisCommandTimeoutException,一共98次:grep "RedisCommandTimeoutException" *_2021-09-10.5.log |wc -l2、查看第一次出现的位置:grep -C 100 "RedisCommandTimeoutException" *_2021-09-10.5.log |head -201完整异常信息如下:2021-09-10 14:50:33.423 INFO [h...

2021-09-13 21:16:45 5545

原创 Mybatis传入参数类型不匹配导致的报错:

1、先来看错误异常:com.cfc.common.utils.TranFailException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'bussNo' in 'class java.lang.String'-->nested exception is org.apache.ibatis.reflection.Refle

2021-09-07 14:56:13 749

原创 mybatis 如果if test 标签里面需要判断字段,是否具体等于某个值的时候, 得用双引号,同时if test 标签需要改成单引号

1、当常常根据if test 标签,拼接mybatis字段动态字段时,通常外面用双引号,如下:2,但是如果需要判断是否具体等于某个值的时候:如果再继续用这样的写法是错误的,不会生成对应拼接的sql:需要改成如下的写法,请注意单双引号:...

2021-09-03 11:01:17 602

转载 GC Roots 是什么?哪些对象可以作为 GC Root?看完秒懂!

什么是是可达性分析算法?现代虚拟机基本都是采用可达性分析算法来判断对象是否存活,可达性算法的原理是以一系列叫做 GC Root的对象为起点出发,引出它们指向的下一个节点,再以下个节点为起点,引出此节点指向的下一个结点。这样通过 GC Root 串成的一条线就叫引用链),直到所有的结点都遍历完毕,如果相关对象不在任意一个以GC Root为起点的引用链中,则这些对象会被判断为垃圾对象,会被 GC 回收。如图示,如果用可达性算法即可解决上述循环引用的问题,因为从GC Root出发没有到达 ...

2021-08-05 21:40:49 3851

转载 彻底搞懂 MySQL 事务的隔离级别

简介:MySQL的事务隔离级别一共有四个,分别是读未提交、读已提交、可重复读以及可串行化。事前准备数据mysql> create table city( -> id int(10) auto_increment, -> name varchar(30), -> primary key (id) -> )engine=innodb charset=utf8mb4;insert into city(name) values('武汉市'.

2021-08-02 22:30:07 118

原创 一道sql题,case when 配合 sum 求总和

1、表结构,三张表,流程表wf_task、法人表cust_legal,订单表CREATE TABLE `wf_task` ( `id` varchar(32) NOT NULL, `buss_no` varchar(128) NOT NULL DEFAULT '' COMMENT '订单号', `cust_id` varchar(32) DEFAULT NULL COMMENT '客户ID', `cust_name` varchar(64) DEFAULT NULL COMMENT '

2021-07-22 15:46:09 866

原创 一道sql题case when 的用法

1、表结构,三张表,流程表、自然人表、账户表、订单表(订单表此处没有数据关联);CREATE TABLE `wf_task2` ( `id` varchar(32) NOT NULL, `buss_no` varchar(128) NOT NULL DEFAULT '' COMMENT '订单号', `cust_id` varchar(32) DEFAULT NULL COMMENT '客户ID', `cust_name` varchar(64) DEFAULT NULL COMMEN

2021-07-22 14:36:23 264

原创 一个Mybatis异常,引发出来的知识点:泛型类型擦除问题

1、Mybatis中配置为 listBussOrdersForShouXinLEGTotalBussNo方法 返回类型 resultType="map":2、java代码中dao层,访问数据库Mapper的配置返回类型为 List<String>:3、在dao层调用数据方法,执行sql完毕以后,返回类型到List<String>集合中,此时没有报错,继续调用下面的calculateShouXinTotal(list,listStringBussn...

2021-07-19 10:30:07 292 8

原创 grep -F 用法

1、我

2021-05-31 22:08:15 5166

原创 git命令,对比查询修改历史记录

1、有时候在IDEA,开发工具中,查询git 的修改log,好像不是很正确,如下图右下角中,圈红的是没有改过的,圈黄的才是修改历史记录:2、通过git命令来查询对比记录,如下圈红的部分,需要跟该版本对比一下 git log 3、查询与上一天 Wed May 26,17:09:57 的该版本对比,修改过哪些文件,只有这几个文件是修改过的: git diff f8ff25b077 --name-only ...

2021-05-27 17:33:40 548

原创 Mysql不同存储引擎,在不指定order by时,查询结果默认排序方式

如题,mysql常用的存储引擎有 innodb 和myisam,其他不做讨论;一、先来看myisam引擎:1、建表语句:create table test_myisam( id int(11), name varchar(10) character set utf8, KEY `testIndex` (`id`)) ENGINE=MyISAM;INSERT INTO `test_myisam`(`id`, `name`) VALUES (5, 'jack5');IN..

2021-05-21 09:42:21 441

原创 mysql间隙锁(gap锁)初探

关于mysql的4种隔离级别,我们可以参考下面文章,已经介绍的很详细了:https://www.cnblogs.com/huanongying/p/7021555.htmlhttps://developer.aliyun.com/article/743691那么在mysql默认的隔离级别,可重复读(通过SELECT @@tx_isolation查询),探讨一下gap锁的情况:1、准备测试数据:CREATE TABLE `test_gapLock` ( `id` int(11)

2021-05-11 21:44:18 1908 1

原创 JVM调优思路(CMS 和 G1对比)

一、JVM中堆和栈的设计思想:在Java中一个线程就会相应有一个线程栈与之对应,这点很容易理解,因为不同的线程执行逻辑有所不同,因此需要一个独立的线程栈。而堆则是所有线程共享的。栈因为是运行单位,因此里面存储的信息都是跟当前线程(或程序)相关信息的。包括局部变量、程序运行状态、方法返回值等等;而堆只负责存储对象信息。为什么要把堆和栈区分出来呢?栈中不是也可以存储数据吗?1、从软件设计的角度看,栈代表了处理逻辑,而堆代表了数据。这样分开,使得处理逻辑更为清晰。分而治之的思想。这种隔离、模块化的思想

2021-05-10 14:27:39 941

原创 Java各类技能知识点学习链接大全:十五、金融业务相关

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)十五、金融业务相关:1、核心银行系统 之一 历史与发展https://www.jianshu.com/p/87e5ce0b75f62、如何设计一套支付系统–对账模块http://www.woshipm.com/pd/4094069.html3、支付系统设计http://doc.cocolian.cn/essay/ (篇幅较长)...

2021-04-08 12:13:39 28

原创 Java各类技能知识点学习链接大全:十四、开放型项目问题

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)十四、开放型项目问题:1、互金账户系统如何应对高并发、热点账户等问题https://www.cnblogs.com/yixinjishu/p/11526167.html2、简要介绍下从浏览器输入 URL 开始到获取到请求界面之后 Java Web 应用中发生了什么https://blog.csdn.net/wlk2064819994/article/details/79.

2021-04-08 12:12:50 56

原创 Java各类技能知识点学习链接大全:十三、线上生产问题分析

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)十三、线上生产问题分析:1、Java如何生成Heap Dump及OOM问题排查:https://www.jianshu.com/p/91ee6476848c2、在JVM出现内存溢出或泄露时,为便于排查和定位,需要JVM的启动上增加相应的参数。主要是GC日志和内存DUMP参数:Oracle JVM-Xloggc:${目录}/managed1_gc.log-XX:...

2021-04-08 12:11:51 70

原创 Java各类技能知识点学习链接大全:十二、通信相关

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)十二、通信相关1、MSL、TTL和RTT简介https://blog.csdn.net/wangfeng2500/article/details/76499722、三次握手、四次挥手视频:https://www.bilibili.com/video/BV1si4y137pa/?spm_id_from=333.788.videocard.0(视频后20分钟)(http...

2021-04-08 12:10:37 72

原创 Java各类技能知识点学习链接大全:十一、设计模式

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)十一、设计模式1、建造者(Builder)模式https://www.jianshu.com/p/afe090b2e19c (jdk源码中建造者模式,java.lang.StringBuilder,StringBuffer,HttpClientBuilder,还有HystrixCommand的构造方法,都是这种设计模式)StringBuffer: append...

2021-04-08 09:46:49 22

原创 Java各类技能知识点学习链接大全:十、算法数据结构

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)十、算法数据结构1、LeetCode题解:https://www.zybuluo.com/Yano/note/2506812、反转单项链表:https://panjinquan.blog.csdn.net/article/details/511194993、二叉树遍历、广度优先 深度优先 (非递归方式):https://blog.csdn.net/XTAOTWO/art...

2021-04-07 10:25:33 18

原创 Java各类技能知识点学习链接大全:九、消息队列

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)九、消息队列1、消息中间件部署及比较:rabbitMQ、activeMQ、zeroMQ、rocketMQ、Kafka、redis:https://juejin.cn/post/68449036261717606532、Kafka如何保证消息的顺序性https://www.cnblogs.com/windpoplar/p/10747696.html3、Kafka如何保.

2021-04-07 10:23:17 76

原创 Java各类技能知识点学习链接大全:八、Redis 缓存

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)八、Redis 缓存1、Redis命令参考大全http://doc.redisfans.com/index.html2、Redis分布式锁的实现原理https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247483893&idx=1&sn=32e7051116ab60e41f72e6c6e2.

2021-04-07 10:22:34 174

原创 Java各类技能知识点学习链接大全:七、Linux命令

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)七、Linux1、awk+uniq+sort 统计字符串出现次数并排序https://www.jianshu.com/p/7f2a6575839ehttps://my.oschina.net/yuanshic/blog/16204882、Linux 下清空或删除大文件内容的 5 种方法# > access.log# echo "" > access..

2021-04-07 10:20:48 108

原创 Java各类技能知识点学习链接大全:六、SpringCloud

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)六、SpringCloud全家桶1、springCloud面试题大全:https://juejin.im/post/6844904125717544973(链接中还要其它全面的面试题)2、Spring Cloud Netflix项目进入维护模式https://www.cnblogs.com/doit8791/p/10206867.html3、springcloud入.

2021-04-07 10:20:14 105

原创 Java各类技能知识点学习链接大全:五、Sping、Mybatis系列

五、Sping、Mybatis系列1、Spring事务Transactional和动态代理(三)-事务失效的场景https://www.cnblogs.com/qizhelongdeyang/p/12418386.html2、springIoc:https://www.zhihu.com/question/23277575/answer/8531799503、Spring AOP——Spring 中面向切面编程https://www.cnblogs.com/joy99/p/10941

2021-04-07 10:19:31 144 2

原创 Java各类技能知识点学习链接大全:四、数据库Sql,Mysql相关

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)四、数据库相关1、MySQL中锁详解(行锁、表锁、页锁、悲观锁、乐观锁等)https://www.cnblogs.com/jpfss/p/8890250.html2、一张图彻底搞懂MySQL的 explainhttps://segmentfault.com/a/11900000214581173、select for update使用详解https://zhua.

2021-04-07 10:15:57 191 1

原创 Java各类技能知识点学习链接大全:三、JVM相关

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)三、JVM相关1、使用 VisualVM 进行性能分析及调优https://www.ibm.com/developerworks/cn/java/j-lo-visualvm/2、JDK8中JVM堆内存划分https://www.cnblogs.com/jtlgb/p/10276258.html3、Jvm调优系列https://www.cnblogs.com/andy.

2021-04-07 10:15:00 171

原创 Java各类技能知识点学习链接大全:二、Java并发

以下内容大多是学习链接,他人整理,个人收藏以便复习,同时归纳分享出来(如有不妥,原作者可随时联系本人删除,感谢!)二、Java并发1、【JUC】JUC锁框架综述https://www.cnblogs.com/leesf456/p/5344133.html2、深度解析Java 8:JDK1.8 AbstractQueuedSynchronizer的实现分析(上)https://www.infoq.cn/article/jdk1.8-abstractqueuedsynchronizer.

2021-04-07 10:13:25 148

转载 有哪些道理是你当了程序员后才知道的?

有哪些道理是你当了程序员后才知道的?1.当你明白了技术永远是为了业务服务的时候,不再技术至上的时候,你就成长到程序员的下一个阶段了。2.业务第一,产品第二,技术第三。3.盈利了,是业务部门把钱搞来的,技术部门是支出部门。4.年轻的时候什么都想学,后来发现学的速度永远跟不上技术迭代的速度。5.不要想着在自媒体上进行学习。买几本书系统地学习不好吗?公众号鱼龙混杂,有优质的,但是很难碰到。上面只适合查漏补缺。6.学一个技术的时候,永远不要问看哪本书比较好,特别是两本书口碑差不多的情况下。最

2021-04-02 17:15:02 42

转载 分布式环境下如何保证数据库和缓存的双写一致性

如何保证数据一致性?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分组成:1、讲解缓存更新策略2、对每种策略进行缺点分析3、针对缺点给出改进方案正文先

2021-03-31 20:13:18 222

原创 linux查看磁盘空间

1、先由于mysql报错,执行信息如下:Got error 28 from storage engine2、上述错误,是因为磁盘空间满的问题:查看剩余磁盘空间:df:3、找占磁盘空间大的文件或者文件夹:4、找出前多少个最大文件:find / -type f -exec du -Sh {} + | sort -rh | head -n 10 (10个)上述命令对应参数详解:详解:find:在目录结构中搜索文件的命令 /:在整个系统(从根目录开始...

2021-03-31 12:14:59 102

原创 使用redis进行搜索自动补全

参考《Redis In Action》:1、自动补全最近联系人在Web领域里面,自动补全(autocomplete)是一种能够让用户在不进行搜索的情况下,快速找到所需东西的技术。自动补全一般会根据用户已输入的字母来查找所有以已输入字母为开头的单词,有些自动补全甚至可以在用户输入句子开头的时候自动补充完整个句子;第一个自动补全通过使用联系人列表来记录用户最近联系过的100个人,并尝试尽可能地减少实现自动补全所需的内存;并且和Redis提供的其他结构相比,列表占用的内存是最少的,所以我们选择使用

2021-03-29 20:41:31 270

原创 Redis性能方面的注意事项

参考《Redis In Action》:1、Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]2、针对.

2021-03-29 14:59:38 39

原创 diff 和 vimdiff

1、在linux下,使用diff比较两个文件的时候,不是特别直观的感觉:2、使用vimdiff时,更加直观:

2021-03-24 17:54:00 86

原创 jdk 1.7 HashMap 多线程导致的死循环问题

一、先来看1.7 HashMap,里面的扩容代码void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length; for (Entry<K,V> e : table) { while(null != e) { //代码1:获取e指向的Entry Entry<K,V> next = e.next;

2021-03-04 12:02:55 94 1

原创 系统通过redis防止重复请求

一、大概思路如下:(1)、后台有一个单独获取token接口 A,token是一个随机唯一字符串,可以是uuid,每次调用获取返回不一样; (token也可以前端生成,减少一次前后台交互);还有一个提交业务数据的接口B(就是为了防止这个接口B,重复操作提交);(2)、在进入需要提交页面时,调用后台接口A,例如获取token = 123,并且返回给前端token(3)、前端点击提交按钮时,只调用提交接口B,此处不能再次调用获取token接口A,...

2021-02-05 10:39:25 816 4

转载 遇到“面试时造火箭,入职后扭螺丝”这个事怎么办?

转载自:https://baijiahao.baidu.com/s?id=1649739679559182746或https://www.pmcaff.com/discuss/2614808855984192?newwindow=1面试造火箭,入职拧螺丝?今天,我要跟大家聊一个很有意思的话题,很多朋友,特别是入职一些大厂的朋友都容易有这样的感受:面试时,过五关、斩六将,几轮面试问出的问题一个比一个刁钻,一个比一个专业,一不小心就会曝出一切奇奇怪怪的冷门问题。从面试的氛围上,就让人觉得..

2021-01-11 10:18:52 382

60余种各种程序经典算法

「常見程式演算」主要收集一些常見的程式練習題目,您可以藉這些題目培養自己程式設計邏輯的感覺,對題目的分類只是個大概,方便索引而已,實作的部份是使用 C 及 Java。

2012-11-27

Java题大全 java的很多题

整理Java经典题目整理,整理Java学习方法,制作简历方法,笔试答题技巧与若干问题等,资料内容齐全,值得一看!

2012-11-27

800个有趣英文句子记7000单词

800个有趣句子帮你记忆7000个单词,学习是件苦差事,自己不努力,资料再好也白搭。不过还是希望这些有趣的句子能给你的学习带去些许的乐趣。坚持每天坚持记1~2页,一个月完成任务,提升词汇量!

2012-11-27

购物车功能模拟实现HIbernate与JSP实现

购物车功能 Hibernate Mysql数据库 JSP

2011-05-17

JavaScript特效大全手册Api

JavaScript特效Api文档,里面有许多各种JavaScript特效,有页面特效、源代码, 希望对大家有用

2010-10-26

J2ee中文Api文档

javaee中文Api文档,.chm格式文档,文件小,有查找索引功能!

2010-10-26

JavaEE Api文档

java最新版Api文档,.chm格式文件,文件较小,有索引查找功能,比一般文档好用,希望对大家有帮助!

2010-10-26

空空如也

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

TA关注的人

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