- 博客(194)
- 收藏
- 关注
原创 人可以活很多次,但是七年就是一辈子
       人生就是要不断的成长和不断的进步的,学习也是一样的。而学习讲究方法和方式。        在李笑来老师的《新生——七年就是一辈子》这本书中,有一个重要的观念就是人可以活很多次,而七年就是一辈子。从18岁成年开始算起,25岁刚好是人生的第一个7年。   &
2018-05-20 21:43:27 5606 32
原创 数据结构系列之如何查找单链表中倒数第N个节点
给定一个单链表,查找链表中倒数第n个节点。 示例:给定一个链表:1->2->3->4->5,和 n=2穷举遍历(两次遍历) 先遍历一遍链表,确定链表中节点的个数l。然后再遍历一遍链表,从前往后第(l-n+1)个节点就是倒数第n个节点。public ListNode nthToLast(ListNode head,int n){ ListNode fi...
2019-10-28 20:30:21 4084 4
原创 数据结构系列之如何判断链表有环
给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用证书pos来表示链表连接到链表中的位置(索引从0开始),如果pos是-1,则在该链表中没有环。 示例:输入:head = [3,2,0,-4],pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点 下面列举几种方法。哈希表缓存 创建一个以节点id为key的HashSet集合,用...
2019-10-24 22:58:13 429
原创 并发编程系列之深入理解Synchronized关键字
Java内存模型内存间交互操作 在介绍synchronized之前先简单的介绍一下JMM的交互操作 Java内存模型定义了8个操作来完成主内存和工作内存的交互操作。read:把一个变量的值从主内存传输到工作内存中load:在read之后执行,把read得到的值放入工作内存的变量副本中use:把工作内存中一个变量的值传递给执行引擎assign:把一个从执行引擎接收到的值赋给工作内...
2019-10-23 22:35:27 461
原创 并发编程系列之深入理解volatile关键字
在学习volatile关键字之前先了解一下Java内存模型和happen-before原则。Java内存模型内存模型的特性 线程1写:先写入本地内存,在同步到主内存。 线程2读:先读本地内存,不能存在或失效在读主内存。 这种内存结构是基于操作系统的逻辑虚拟出来的结构,并不是真实存在的,可以屏蔽各种硬件和操作系统的差异性,实现平台一致性。而且和jvm的运行时结构也没关联。主内存...
2019-08-25 21:31:15 271 1
原创 springboot源码分析系列(三)--@EnableAutoConfiguration自动配置加载过程
为什么需要自动化配置 在常规的spring应用程序中,充斥着大量的配置文件,我们需要手动去配置这些文件,如配置组件扫描、视图解析器、http编码等等。常规的配置让开发人员将更多的经历耗费在了配置文件上。而这些配置都是一些固定模式的配置方式,甚至很多都是模板代码。那既然是这样一种情况,有没有一种可能性,让spring自动完成这些模板配置工作呢?答案是肯定的,这就是SpringBoot AutoConfiguration产生的初衷。将开发人员从繁重的配置工作中解放出来,把这些繁琐的配置交由SpringBoo
2019-08-04 21:48:15 1184
原创 springboot源码分析系列(二)--SpringBoot项目启动流程
在上一篇文章中介绍了SpringBoot的核心注解,本篇文章将为大家介绍一下SpringBoot项目启动的一个过程。 众所周知,加@SpringBootApplication注解的类,即为SpringBoot的启动类。一个SpringBoot项目只能有一个启动类。我们来分析一下SpringBoot项目的启动过程,首先看一下启动类里面都包含什么@SpringBootApplicationpublic class HelloWorldMainApplication { public stat
2019-07-28 20:16:52 241 4
原创 springboot源码分析系列(一)--核心注解@SpringBootApplication
SpringBoot项目一般都会有Application的入口类,入口类中会有main方法,这是一个标准的java应用程序的入口方法。@SpringBootApplication用于Spring主类上最最最核心的注解,表示这是一个SpringBoot项目,用于开启SpringBoot的各项能力。 下面我们来分析一下@SpringBootApplication这个注解的组成以及作用/**...
2019-07-21 21:33:34 375 1
原创 Spring源码分析系列(三)--从@EnableAspectJAutoProxy分析Spring AOP加载过程
AOP是面向切面编程,是相当于OOP面向对象编程而言的。Spring的AOP存在的目的是为了解耦。AOP可以让一组类共享相同的行为。而OOP中只能通过继承类和实现接口来实现,但是这样的缺点是会使代码的耦合度增加,且类继承只能为单继承,阻碍更多行为添加到一组类上,AOP的出现弥补了OOP的不足。 使用@EnableAspectJAutoProxy注解开启Spring对AspectJ的支持。 添加@EnableAspectJAutoProxy注解,表示开启AOP代理自动配置,如果使用@EnableA
2019-07-14 21:42:47 399 1
原创 Spring源码分析系列(二)--ioc加载过程
ioc加载过程1.初始化一个空容器2.为容器注册一个要被处理的注解Bean2.1注册自定义注解Bean3.刷新容器3.1调用容器准备刷新的方法,获取容器的当前时间,同时给容器设置同步标识(刷新前的预处理)3.2告诉子类启动refreshBeanFactory()方法,Bean定义资源文件的载入从子类的refreshBeanFactory()方法启动3.2.1刷新(创建)BeanFactory3.2...
2019-06-30 21:23:43 302 3
原创 优雅的编程--开发利器lombok
lombok能以简单的注解形式来简化代码,提高开发人员的开发效率。例如,开发过程正宗经常需要写javabean,需要花时间去添加响应的getter/setter,也许还要写构造器、equals等方法,而且需要维护,当属性很多的时候会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。pom文件添加依赖<depen...
2019-06-23 21:34:41 455 6
原创 springmvc原理
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-06-09 21:49:04 3670 3
原创 java类加载
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-05-26 21:48:04 210 4
原创 基本排序算法
算法直接插入排序核心思想代码示例希尔排序核心思想代码示例堆排序核心思想代码示例快速排序核心思想代码示例归并排序核心思想代码示例直接插入排序核心思想每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。代码示例public class InsertSort{ public static void main(String [] args){ ...
2019-05-19 21:47:20 244 7
原创 java8新特性stream API
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-05-12 20:09:43 246 2
原创 mysql排序后加上排名字段
模板SELECT (@rownum:= @rownum+1) AS rank FROM ( SELECT * FROM (自己的表名) ) a,(SELECT @rownum:=0) b例子SELECT a.userId,a.userName,a.sumInterval, a.tomatoNumber, @rownum := @rownum + 1 as rank ...
2019-04-28 21:18:24 2464 7
原创 SpringCloud通过Feign实现服务间调用线程变量传输
前言 在开发项目的过程中,经常需要跨服务传输一些数据,比如将登录的信息从一个服务传递给另一个服务,那么这种情况下需要尽可能少的去动已有的代码,更加体现了编程的封装思想。 由于SpringCloud并不像dubbo一样,在服务间调用的时候通过本身的线程变量去传输,但是SpringCloud肯定是有它自己的机制可以支持实现的,基于这种考虑,于是有了此篇博客。实现思路准备一个ThreadL...
2019-04-21 21:06:37 4509 5
原创 2019年4月7日21:35:52
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-04-07 21:35:40 217 3
原创 SpringBoot通过HttpClient方式调用Restful接口
前言 HttpClient相比于传统jdk自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送http请求变得容易,而且也方便了开发人员测试接口,提高了开发的效率。HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。由于公司业务发展,需要...
2019-03-31 21:44:59 13376 9
原创 想一想应该写点什么...
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-03-17 16:54:12 216 3
原创 SpringBoot整合Activiti5.22.0
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-03-10 21:34:44 1578 1
原创 2019年2月24日22:02:25
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-02-24 22:02:18 311 2
原创 一步一步学SpringCloud--getway配置详解
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-02-17 21:39:58 2967 2
原创 一步一步学SpringCloud--API网关(gateway)
API网关简述Spring Cloud Gateway特性Spring Cloud Gateway与Netflix Zuul对比Spring Cloud Gateway工作模式简述Spring Cloud Gateway是Spring官方基于Spring5.0,Spring Boot2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway是为了为微服务架...
2019-02-10 21:36:44 1649 3
原创 2018-2019 起风了,唯有努力生存
起风了2018年的展望我的北漂功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入2018年的展望在年初的时候立了几个f...
2019-01-31 21:01:15 2659 8
原创 activiti-explorer修改默认h2数据库为mysql数据库
前言最近由于公司项目需要,在SpringBoot的框架上整合了一下activiti5.22.0,只整合了activiti-rest部分,而activiti-explorer部分用的是activiti自带的war包直接部署的。这时候就出现了一个问题,整合的部分用的数据库是mysql的,自带的部分用的数据库是h2数据库。下面简单介绍一下修改的步骤修改步骤1、在activiti-explorer项...
2019-01-20 19:02:50 879 2
原创 2019年1月6日21:56:39
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-01-06 21:56:54 438 1
原创 2018年12月30日22:16:11
刘子腾是个大傻子啊哈哈哈欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用...
2018-12-30 22:16:44 503 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人