自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(260)
  • 资源 (2)
  • 论坛 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 高级Java开发工程师带你走进原子操作,一篇文章搞清楚原子操作

原子特性: 原子是最小的粒子,不可再分这并不是一个化学课,而是巧妙的借用了化学上的一个概念,即原子是最小的粒子,不可再分;原子操作也是不能再分的操作;为了能把这个讲明白,下文基本都是大白话,其实Java本来并不是很难,而是总有一些人喜欢把简单的概念给复杂化。小编不喜欢那种说辞,所以尽量简单易懂。如有问题,欢迎提出问题。共同交流进步,最后谢谢你的阅读。举例说明原子操作重要性在很多场景中我们需要我们的操作是原子特性的,如果我们写的程序都是单线程的,其实我们没必要考虑原子操作。但是假如我们写多线程.

2020-05-13 23:04:35 97

原创 程序猿到底有没有必要买一台阿里云服务器?

做为一名程序猿多多少少每天都在跟服务器打交道,尤其是后端的小伙伴,那么你是否也有这样的想法呢 ?一、个人服务器究竟能做什么?1. 搭建个人博客软件开发这个行业,知识技术日新月异,作为一名合格专注的程序猿每天都会浏览各种各样的技术网站,在这里我们排出一些大的技术博客网站,我们也经常会看到很多个人的技术博主。一般拥有个人博客网站的都是在某一个领域有很深认识的大牛,会经常把自己的学到的知识积累下...

2019-12-25 19:38:36 2581 10

原创 看Mybatis如何花样设计Cache.md

看Mybatis如何花样设计 Cache为什么说花样设计 Cache , 是因为Mybatis只是对 Map数据结构的封装, 但是却实现了很多挺好用的能力。如果单单从设计模式上的角度来,其实就是典型的装饰器模式, 装饰器模式其实并不难,所以我们不讲设计模式, 本篇文章我们来看看Mybatils 缓存设计巧妙的点。通过简单的代码review来分析下这十个缓存类设计的巧妙点。一、模式分析...

2019-12-23 20:33:32 233

原创 如何设计一款通信层框架

网络世界离不开的就是通信,不管是任何框架只要是提供互联网服务就必须有通信的能力。作为业务开发者可能我们业务中也会遇到这样的需求,或者是有啥好的创意性框架,但是无奈现在通信层框架都太厚重了,想要快速学习使用显然不太可能,所以呢本文就是教你如何来实现一个封装一个通信层框架。当看完本篇你将会对Java技术有一个更深入的了解。你可以利用本文学习的内容去实现一下业务自己设计一个Tomcat容器;自己设计一款RPC框架;也可以在你的应用程序内部去在启动一个通信服务。文章后面有演示。项目githu..

2020-09-04 20:16:20 120

原创 四年经验老开发,总结的Java代码规范全部奉上。

写代码就像写文章, 好的代码就像好的文章,结构严谨,构思清晰。写代码就像写文章, 一不留神就成流水账,为避免这种情况作为软件开发工程师,重要的是设计而不是实现。在一个团队中,由于不同经验的开发导致编程风格可能会出现非常混乱的情况,从而导致开发成本上升。难以维护。所以代码规范就显得异常重要了。本篇文章就是给出编程命名的建议,仅供参考,但是其目的是为了统一规范,提高编程能力,降低开发成本,减少代码维护成本。契约精神: 做到有法可依,有章可循。一、类命名1. 抽象类适用的设计模式为模板模式。抽象..

2020-08-23 16:03:08 90

原创 Dubbo源码解析之服务端Provider

本篇主要讲Dubbo服务是如何注册,导出并接受服务请求。一、启动一个服务端Provider1. 定义一个接口和实现public interface UserService { void say(String message);}public class UserServiceImpl implements UserService { public void say(String message) { System.out.println("say:" + me..

2020-08-10 22:22:46 82

原创 SpringBoot之@Controller和@RequestMapping的实现原理

干货分享,SpringBoot中Web接口资源是如何被管理起来呢?一个请求,通过在浏览器上输入了一个url,是如何被SpringWeb匹配到对应的方法的呢?带着这个疑问我们来学习本篇。浏览器的请求,是如何被映射到后端服务的方法上呢?后端服务使用SpringBoot只使用了一个注解就提供了web服务的实现原理是什么呢?@RestControllerpublicclassTestController{@GetMapping("/name")p...

2020-08-07 14:40:47 283

原创 Java程序员对领域驱动模型的思考与认知

本项目是基于小编的开发经验与心得,分享小编关于领域模型的理解, 个人愚见仅供参考,希望能为渴望进步的你提供帮助。如果你感到有用对你有帮助,请不要吝啬你的关注,求关注,求转发。文章有三个议题,什么是领域模型,为什么需要领域模型设计,以及领域驱动的项目结构是什么样的?一、领域驱动模型是什么?如果你是第一次听到这个词,嗯,多么恐怖的一件事情呀! 什么是领域模型,一种新的技术吗? 领域模型到底有什么用呢?为什么那么多大佬都在讲领域模型。网络上充斥着着各种高端的解释,各种高大上的名字,各种复杂的系统设计.

2020-07-18 21:49:43 212

原创 史上最全AOP切面表达式API使用指南

废话不多说,AOP实战中必须要懂得API语法。API只是工具,无须死记硬背,收藏整理即可文章内容已上传Github: https://github.com/lxchinesszz/spring-learning一、常用注解注解说明@Before前置通知, 在方法执行之前执行@After后置通知, 在方法执行之后执行@AfterRunning返回通知 在方法返回结果之后执行@AfterThrowing异常通知在方法抛出异常之后@Around环绕.

2020-07-05 21:29:19 197

原创 高级Java程序员都必须要清楚的SPI服务扩展思想

一、什么是SPISPI ,全称为 Service Provider Interface,是一种服务发现机制。JDK中的SPI是通过在ClassPath路径下的META-INF/services文件夹查找扩展文件,自动加载文件里所定义的类。在小编的理解来,觉得它更是一种思想。即找到服务的接口, 美其名曰: 服务发现机制思想。很多开源框架都有借用这种思想,比如dubbo、jdbc。二、SPI在JDK中如何使用SPI在JDK中,我们可以使用 ServiceLoader 类进行使用。1. 前提准备p.

2020-05-23 17:46:18 201

原创 高级Java开发者都知道的Hook钩子函数,你还不知道吗?

什么是钩子函数,在学习钩子函数之前,小编先提一个问题。请问在Spring中,如果JVM异常终止,Spring是如何保证会释放掉占用的资源,比如说数据库连接等资源呢?钩子函数非常简单,简单到小编只用摘抄一段Spring代码即可。走你,现在开始。问题Spring 容器中 Bean 在什么时候执行销毁方法?我们知道在Spring中定义销毁方法有两种方式实现 DisposableBean 的 destroy 方法。使用 @PreDestroy 注解修饰方法@Componentpublic c.

2020-05-15 00:30:34 353

原创 程序员快速弄清Java异常体系,拒绝痛苦编程,开发效率加倍

知己知彼方能百战不殆,在小编初学Java时候特别怕程序报异常,经常会因为异常不知所措,相信这个问题应该是所有初学者都会有的心理感受;如果你也有这种感受,那么只有一种解决方法:迎难而上,攻克Java异常体系,长痛不如短痛,只要清楚了Java的异常体系,就不会再有这种感受了。下面跟着小编来窥探Java的异常体系吧。一、Java异常体系其实很简单其实Java的异常体系是非常简单的,简单到只要你看过本文就能明白百分之八九十的样子。当你清楚了Java的异常体系那么在遇到项目执行异常的时候,基本看报错的异常.

2020-05-13 23:14:05 130

原创 Java代码片段工具篇之StreamBinder数据分组简化
原力计划

什么是分组,在写业务代码时候,经常会遇到分组的需求,将数据根据某一个条件分组成一对多,或者拆分成一对一的关系。JDK是对Stream提供了分组的方法但是不是特别好用,代码写起来也不够精简,为了让业务代码更加精简,实现业务更简单。对数据分组抽象出一种分组能力。就是StreamBinder。一、 为什么要精简它因为记不住这个API,分组就是分组,但是方法是collect()。确实记不住,于是乎就...

2020-05-01 00:10:48 105

原创 Java代码片段工具篇之StreamFilter过滤器简化写法

代码片段系列, 前面写了一个日期生成工具,受到很多同学的关注,再次在分享一个小编在业务中简化代码的过滤。并没有技术难度和技巧,仅仅是对原生lambda的封装,简化使用语法。JDK原生过滤器语法其实很简单的过滤,但是使用JDK原生语法时候必须要.collect(Collector.toList)。如果当你已经明确要生成List集合时候,这句就变得很多余,想想一下如果代码中出现很多这种多余的语...

2020-05-01 00:05:48 135

原创 Java代码片段工具篇之DatePatternEnum API
原力计划

作为开发者,每个开发项目中一定有很多的工具类,而其中百分之六七十就有一个DateUtils工具。每次都要写日期格式,yyyyMMdd。每个项目项目中使用的日期格式都不一样。终于有一天,一堆程序猿受不了了。于是把所有的日期格式都写完。放到一个工具里。使用就完了。文尾提供代码。欢迎收藏使用。一、JDK中DateTimeFormatter与SimpleDateFormat的区别旧版的API存在线程...

2020-05-01 00:02:38 85

原创 Java代码片段实战篇之GuavaCache内存缓存

本篇主要是本地缓存代码实战,提供业务中常用的本地缓存使用代码片段(直接跳过看标题五)写在前面: 长在业务系统中做开发,不会点高级知识点,有点不好意思了。在业务系统中,提高系统响应速度,提供系统高并发能力,其实方向很简单,三个方向,六个字而已: 缓存降级限流。当然这是在排除代码质量非常差的情况,如果代码质量很差,都是while循环和高内存占用,那么其实再怎么做都于事无补。除非你有一个马云爸爸,...

2020-05-01 00:00:13 135

原创 程序猿不要在写日期转换工具了,万能代码片段直接拿走使用。

作为开发者,每个开发项目中一定有很多的工具类,而其中百分之六七十就有一个DateUtils工具。每次都要写日期格式,yyyyMMdd。每个项目项目中使用的日期格式都不一样。终于有一天,一堆程序猿受不了了。于是把所有的日期格式都写完。放到一个工具里。使用就完了。文尾提供代码。欢迎收藏使用。目录1.JDK中DateTimeFormatter与SimpleDateFormat的区别2.Date...

2020-03-27 20:26:51 227

原创 「四年总结」一名程序猿的打怪升级之路

感恩有你「四年总结」一名程序猿的打怪升级之路不知不觉,入行已经四年时间了,写博客也写了四年了。在即将步入2020新的一年,写下这一篇文章,对自己过去四年的进行一次分析和总结,既作为自己的年终总结,也希望能对各位读者、各位Developer的成长有些许启发。目录一、为什么要写博客?(爱好由来落笔难,一诗千改始心安)为什么要写博客? 这个问题小编曾经也...

2020-01-19 22:15:06 384

原创 「四年总结」一名程序猿的打怪升级之路

不知不觉,入行已经四年时间了,写博客也写了四年了。在即将步入2020新的一年,写下这一篇文章,对自己过去四年的进行一次分析和总结,既作为自己的年终总结,也希望能对各位读者、各位Developer的成长有些许启发。一、为什么要写博客?(爱好由来落笔难,一诗千改始心安)为什么要写博客? 这个问题小编曾经也在问自己,每次的思索都是片段的,从来没有认真去想过,如果非要我直接来回答,那我可能就会用两...

2020-01-19 20:50:43 1743

原创 「解决方案」幂等并发重复提交探究

在这里插入图片描述一款专门为SpringBoot设计的防重幂等组件本文以下的讨论,都是假设我们数据库没有做唯一约束和乐观锁的场景下的分析。关于防重和幂等判断的讨论,欢迎留言讨论,感谢关注大佬支持。一、问题重现下面这段逻辑,在正常情况下是没有问题的,①也算进行了幂等校验,先判断状态在进行处理。但是当用户重复提交导致并发问题,两次请求都执行到了④步骤,而因为④并没...

2020-01-01 11:55:23 160

原创 「解决方案」幂等并发重复提交探究

一款专门为SpringBoot设计的防重幂等组件本文以下的讨论,都是假设我们数据库没有做唯一约束和乐观锁的场景下的分析。关于防重和幂等判断的讨论,欢迎留言讨论,感谢关注大佬支持。一、问题重现下面这段逻辑,在正常情况下是没有问题的,①也算进行了幂等校验,先判断状态在进行处理。但是当用户重复提交导致并发问题,两次请求都执行到了④步骤,而因为④并没有用乐观锁处理,就会导致幂等性问题。两次提交都...

2020-01-01 11:48:54 153

原创 「强烈推荐」每个程序员都应该收藏的网站

作为一名互联网人必须要知道的网站,建议收藏一、自媒体方向1. 文本排版a. 365编辑器b. 135编辑器2. 图片设计a. 作图怪b. 创可贴c. 搞定设计d. 设计坞二、图片1. 无版权图库a. Colorhubb. 泼辣有图c. 大作d. Pixabay三、前端方向1. CSS样式a. 生成渐变cssc. 配色方案3. ...

2019-12-28 17:02:53 152

原创 程序猿到底有没有必要买一台阿里云服务器?

在这里插入图片描述做为一名程序猿多多少少每天都在跟服务器打交道,尤其是后端的小伙伴,那么你是否也有这样的想法呢 ?一、个人服务器究竟能做什么?1. 搭建个人博客软件开发这个行业,知识技术日新月异,作为一名合格专注的程序猿每天都会浏览各种各样的技术网站,在这里我们排出一些大的技术博客网站,我们也经常会看到很多个人的技术博主。一般拥有个人博客网站的都是在某一个领域有...

2019-12-25 19:42:35 212

原创 Mybatis的插件设计源码分析

在这里插入图片描述Mybatis的插件设计你知道多少?本文主要分为两部分,第一部分我们看插件设计原理和如何从 Mybatis 中学习设计插件,第二部分我们学习如何开发Mybatis插件。一、插件设计原理Mybatis 中的插件都是通过代理方式来实现的,通过拦截执行器中指定的方法来达到改变核心执行代码的方式。举一个列子,查询方法核心都是通过 Executor来进行...

2019-12-24 21:52:24 157

原创 「极客知识」个人服务器到底有什么用?

活动地址个人服务器一般能做些什么?1. 搭建个人博客image记录个人知识笔记,分享知识,作为自己的个人名片https://blog.springlearn.cn/2. 搭建个人知识库image替代有道云笔记,替代印象笔记,作为个人知识库。 同时可以开发给自己的朋友使用。http://doc.springlearn.cn/web3. 搭建...

2019-12-22 19:03:01 596

原创 Mac版本Mysql忘记密码解决思路

Mac版本Mysql忘记密码解决思路:关闭mysql开启mysql无密码登陆,即进入bin目录。./mysqld_safe --skip-grant-tables &SET PASSWORD FOR 'root'@'localhost' = 'a123456'; 修改密码ERROR 1819 (HY000): Your password does not sa...

2019-11-21 10:20:39 137

原创 VUE例子之慕课网

作为一个Java后端开发者,小编已经将近3年没有写过前端了,当年在学校学习时候,H5刚出来,我们都是用纯html标签+bootstrap样式来写网页的,还记得第一个网页写的是小米的官网。时隔3年后,再次有了一个新的念头,写写前端,刚开始小编想用React来写的,奈何React不支持双向数据绑定(其实是太难了,学不会_),于是就考虑了一个国产的VUE,听说VUE是很简单,于是我也跃跃欲试。前期断断...

2019-10-10 22:28:48 87

原创 将博客搬至CSDN

博客管家公告感谢各位技术小伙伴的支持,本人博客将从简书迁移至CSDN。个人博客站点个人博客站

2019-09-29 16:02:52 76

原创 快速理解Java字符串常量池

快速理解Java字符串常量池本篇课程不来虚的,上来就是干活,现在发车。小编通过代码案例及比喻,带你一窥究竟。为什么会有常量池的概念?不知道小伙伴们是否有思考过这个问题? 没有思考也无所谓,小编在这里类比一下,大家就会清晰了。什么是池? 我们听的最多的池,应该是数据库连接池. 为什么会有数据库连接池,其实就是为了节省资源,提高性能,防止重复创建连接,避免占用内存和网络资源。常量池其实就是...

2019-09-06 21:13:16 61

原创 '作为一名电脑发烧友,哪一款桌面是你的理想桌面呢

作为一名电脑发烧友,哪一款桌面是你的理想桌面呢 ?小编最爱第二款,请不要吝啬的评论下来吧。第一款第二款第三款第四款第五款第六款第七款第八款第九款第十款第十一款第十二款第十三款第十四款第十五款第十六款第十七款第十八款...

2019-09-01 21:44:33 180

原创 20位顶级设计师的桌面环境

摘要对一个设计师来说,用来办公的桌面环境的重要性远远超过其他行业,那么看看包括 Dribbble 联合创始人和 Twitter 设计师等在内的 20 位英、美顶尖设计师他们的桌面环境都是怎样的吧。对设计师来说,其办公时间绝大部分都是在办公桌前,可以说我们现在用到的绝大部分产品都是诞生在那一米见方的桌面上。这也是为什么对于设计师来说,一个好的桌面环境对他们很重要的原因。Net Magaz...

2019-09-01 21:42:46 285

原创 让开发者变成平庸者的六个习惯,你中招几条呢?

让开发者变成平庸者的六个习惯,你中招几条呢?一、不锻炼工作只是生活的一部分,而不是生活的全部,工作是为了更好的生活,千万不要为了工作,而失去了自己的全部生活。然而在中国一线城市工作的大多数程序猿基本都是为了工作而放弃了生活,小编也一样,但是我们要尽早的去改变。虽然工作很忙,千万不要忘记锻炼身体。也许只有亲身经历过,你才能了解忽视健康所造成的一系列严重后果。如果不锻炼,你将在变胖的过程中...

2019-09-01 21:41:40 130

转载 中国式“被公司加班”的办公室文化有多可怕

一天工作8小时,一周5天班,勤劳的中国人远不止这个数。为什么永远都有做不完的工作,到底中国式“被公司加班”有多可怕,让我们一探究竟。下班时间如果没事不能准点走,必须装模作样,这是我最反感的办公室文化。我曾经调研走访过许多行业不同的公司,有这种被加班文化的公司还真不少,经常看到一些年轻的员工下班以后在公司里面无所事事的玩的游戏,刷着网页,看似下班还认真留在公司职责呢无聊的做着自己的事情。当...

2019-07-19 16:13:46 200

原创 一个程序猿的自我修炼之独孤九剑

不喜欢读书,却热爱武侠。不喜欢学习,却热爱编程。 以武会友,思考人生

2019-06-27 18:00:56 134

原创 幽你一默:江湖上流传只有程序猿才懂的幽默

亲试只有程序猿知道的梗1.一程序员去面试,面试官问:“你毕业才两年,这三年工作经验是怎么来的?!”程序员答:“加班。”2.某程序员对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world。3.今天在公司听到一句惨绝人寰骂人...

2019-06-19 21:04:59 185

原创 深入浅出Mybatis系列(五)Mybatis事务篇

在学习Mysql事务开始,分为两步。一.先看下Mysql的事务级别都有什么,然后看Mysql的事务级别设置命令。及常见问题。二.JDK是如何处理数据库操作的呢? Mybatis是如何实现JDK定义的事务级别操作。一.Mysql的事务级别及常见概念MySQL事务隔离级别事务隔离级别脏读不可重复读幻读解释读未提交(read-uncommitted)是是是...

2019-04-26 10:41:30 16007 1

原创 深入浅出Mybatis系列(三)Mybatis核心配置解析

在本系列的第二篇文章中小编就说了,Mybatis的配置信息都是由Configuration来保存的,本篇文章我们就重点来看Mybatis的解析过程。在学习完本篇,你会完全掌握对Mybatis配置的认识,是你产生新的认识。本篇的源码就从下面的代码片段中开始。 @Test public void configurationTest() throws Exception { /...

2019-04-26 10:40:33 160

原创 深入浅出Mybatis系列(二)Mybatis核心配置篇

在本篇中小编主要对SqlSession及Configuration重点介绍,这两块知识点可以说是Mybatis中最重要的知识点,只有对SqlSession和Configuration有清醒的认识后,学习效率就翻倍提升。以下所有知识点都是小编所学所悟。如有问题,请留言评论指出,欢迎讨论,一起学习。关键词①SqlSession ②Configuration概念介绍SqlSessio...

2019-04-26 10:39:35 135

原创 Dubbo源码解析之Cluster集群容错策略介绍

前面说过了dubbo中Invoker代表了一个执⾏体,当我们在服务器启动一个dubbo 服务,其指定的每一个服务接口,都会⽣成一个Invoker对象,而在集群中因为我们的dubbo部署在了多个服务器所以会每一个Invoker对象都会有⼀个List集合。 而Cluster就负责对这些Invoker集合进⾏处理而执行。 而Cluster有多个实现类, 每个实现类都是⼀种策略。我们可以在SPI⽂件中...

2019-04-25 20:14:39 131

原创 Logback高级用法

在日常的生产中,尤其是在微服务盛行的今天,我们的服务很可能是作为分布式应用上的一个点,会接受来自不同客户端的请求,那么在服务的为每行日志标记出来自的客户端呢?本篇我们通过介绍Logback的高级用法,来为大家实现。日志扩展扩展知识在分布式应用的今天,如何通过日志把客户端请求的不同应用的日志串起来,展示呢首先分析原理其实很简单,就是为每个线程保存点私有变量,这个私有变量的值,由我们...

2019-04-25 20:13:41 205

javaConcurrentAnimated学习java并发必看

学习java并发库,必看。 1.Semaphore信号量 2.Phaser 3.CyclicBarrier 4.CountDownLatch 等多个并发类,及关于读写锁等机制,动画演示

2017-09-11

Q-Dir多窗口资源管理器

对于经常在系统中找资料多个窗口复制的童鞋来说这个是个好工具,曾经下载这个很不容易,找了很多大的下载网站,结果还是下载下来一堆垃圾,真是对那些自称绿色的网站服了,在这里给大家分享一下,希望大家不要像我那样小心翼翼还下载一些没用的东西。

2016-07-29

工行支付通知验签失败

发表于 2017-03-03 最后回复 2020-04-02

理解不了,这是怎么回事

发表于 2016-09-14 最后回复 2019-10-15

SpringBoot整合Quartz2.2.1遇到的问题,有没有也遇到过

发表于 2016-12-22 最后回复 2016-12-22

做过工行支付的进来

发表于 2016-12-15 最后回复 2016-12-16

spring整合mongodb

发表于 2016-12-08 最后回复 2016-12-15

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

TA关注的人 TA的粉丝

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