摘要: 本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景描述 1、请假审批流程 公司常见的请假审批流程:请假天数 当 day<=3 天,项目经理审批 当 3<day<=5 天,部门经理审批 当 day>5 天,CEO审批 2、流程图解 3、代码实现 publi... 阅读原文
2019-10-22 12:25:05 阅读(2438) 评论(0)
摘要: 在之前的EurekaClient自动装配及启动流程解析一文中我们提到过,在构造DiscoveryClient类时,会把自身注册到服务端,本文就来分析一下这个注册流程 客户端发起注册 boolean register() throws Throwable { logger.info(PR... 阅读原文
2019-10-22 11:47:05 阅读(2385) 评论(0)
摘要: Executor框架 ​ 我们知道线程池就是线程的集合,线程池集中管理线程,以实现线程的重用,降低资源消耗,提高响应速度等。线程用于执行异步任务,单个的线程既是工作单元也是执行机制,从JDK1.5开始,为了把工作单元与执行机制分离开,Executor框架诞生了,他是一个用于统一创建与运行的接口。Executo... 阅读原文
2019-10-22 11:18:02 阅读(2303) 评论(0)
摘要: 线程池 【1】为什么需要线程池?线程池的优点? 1、为什么要使用线程池? 因为创建和销毁线程都是需要时间的,特别是需要创建大量线程的时候,时间和资源的消耗是不可忽略的,而合理的使用线程池中已经创建的线程,可以减少创建和销毁线程而花费的时间和资源。 2、线程池的优点? (1)降低资源消耗:通过线程的重用可以降低... 阅读原文
2019-10-22 10:30:08 阅读(2514) 评论(0)
摘要: 1.线程和进程的区别 进程和线程:可以单独运行的程序,对于传统的计算机操作系统而言,进程是一个进行资源分配和调度的基本单位,但是每次操作系统对不同的进程或者软件进行切换的时候就会产生一次的数据回收和 再次分配新的数据,所以传统的计算机操作系统对于这种情况作出了改进;所以当下的计算机操作系统是仅仅将进程当成一... 阅读原文
2019-10-22 08:30:03 阅读(2452) 评论(0)
摘要: 1. Java 堆空间 2. GC 开销超过限制 3. 请求的数组大小超过虚拟机限制 4. Perm gen 空间 5. Metaspace 6. 无法新建本机线程 7. 杀死进程或子进程 8. 发生 stack_trace_with_native_method ... 阅读原文
2019-10-22 07:54:03 阅读(2544) 评论(0)
摘要: 原文链接:https://blog.csdn.net/shengqianfeng/article/details/102572691  memcache的分布式原理 memcached 虽然称为 “ 分布式 ” 缓存服务器,但服务器端并没有 “ 分布式 ” 功能。每个服务器都是完全独立和隔离的服务。 m... 阅读原文
2019-10-22 06:00:21 阅读(2666) 评论(0)
摘要: 用于javabean中字段的注解 限制 说明 @Null 限制只能为null @NotNull 限制必须不为null @AssertFalse 限制必须为false @AssertTrue 限制必须为true @DecimalMax(value) 限制必须为一个不大于指定值的数字 ... 阅读原文
2019-10-22 00:26:01 阅读(2385) 评论(0)
摘要: 一、MyBatis映射文件 1、简介   MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方... 阅读原文
2019-10-21 22:43:49 阅读(2573) 评论(0)
摘要: 最近公司项目在做SpringBoot的升级,在升级过程中遇到了一些问题,简单记录一下,做个分享。另外,本文中的程序只为示例代码,并非公司生产环境代码。 遇到什么问题 从SpringBoot1.x升级到SpringBoot2.x之后,解决完编译异常,运行程序,在程序启动时报错: 报错信息就已经很直白的告诉了我... 阅读原文
2019-10-21 20:55:23 阅读(2353) 评论(0)