自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YourBatman

专注Java领域分享、成长,拒绝浅尝辄止。公众号搜索:BAT的乌托邦

原创 【小家Spring】Spring中读取配置的方式,@Value、@PropertySource、@ConfigurationProperties使用详解

每篇一句: 世界很公平,你有多努力,就有多特殊。你必须很努力,才能看起来毫不费力 前言 Spring (Boot)获取参数的方式有很多,其中最被我们熟知的为@Value了,它不可谓不强大。 今天就针对我们平时最长使用的@Value,以及可能很少人使用的@PropertySource、@Conf...

2018-11-24 19:57:39 1400 0

原创 【小家Spring】一篇文章彻底搞懂Spring Boot配置文件的加载顺序(项目内部配置和外部配置)

每篇一句 天上非的理念,必定有落地的实现,而且一般都不止一个 说在前面 Spring这么流星很重要的一个思想是:配置化思想。从而达到解耦的目的,很多都不需要硬编码,配置一下即可完成,可谓大大提高了编码的效率。 Spring支持的配置文件加载的方式繁多,一方面是扩大了灵活性,另一方面其实也带来了...

2018-11-23 18:05:05 4436 12

原创 【小家java】Java之Apache Commons-IO使用精讲(FileUtils、IOUtils、FileFilter全覆盖)

概述 Commons IO是针对开发IO流功能的工具类库。 主要包括六个区域: 工具类——使用静态方法执行共同任务 输入——用于InputStream和Reader实现 输出——用于OutputStream和Writer实现 过滤器——各种文件过滤器实现 比较器——各种文件的java.util....

2018-11-18 11:30:21 680 0

原创 【小家java】Java之Apache Commons-Collections4使用精讲(Bag、Map、List、Set全覆盖)

前言 虽然JDK提供给我们的集合框架已经足够强大,基本能解决我们平时的绝大所述问题,并且效率还挺高。 本文针对于Apache提供的Collections4组件提供的一些特殊数据结构,通过例子解决一些实际问题的讲解。 ® bag接口 ® 固定大小的map、lru (最近最少使用算法)map和双重(d...

2018-11-15 18:45:00 4098 0

原创 【小家java】一个基于POI的Excel导入、导出工具处理类(支持xls,xlsx格式),另有SpringMVC的导入、导出案例讲解

前言 表格的导入、导出可谓开发过程中经常会碰到的功能。然后这种模版化的东西并不需要每次都去编码一次,因此我就整理了一个Excel的万能处理类。能够实现兼容2003、2007的各种Excel格式的导入导出功能,使用起来也非常的方面,适用于所有业务场景,下面会有案例讲解 Excel导入、导出工具类源码...

2018-11-14 15:40:24 650 2

原创 【小家Spring】借助Springfox整合SpringBoot和Swagger(API接口神器)

背景 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框...

2018-11-14 11:51:08 659 0

原创 【小家SQL】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释

说在前面 在这一路学习过来,每次不管看书还是网上看的资料,对于MySQL数据类型中的时间日期类型总是一扫而过,不曾停下来认认真真的研究学习。最近看了一本关于MySql的书籍,打算全面的学习研究一遍。 虽然每次都没有怎么注意,但是使用起来确实非常的糟糕。每次都转换起来非常不便。比如明明我只需要日期,...

2018-11-13 17:06:24 1391 2

原创 【小家java】SortedMap和NavigableMap的使用介绍---TreeMap的源码简单分析

TreeMap 简介 TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。 // Red-black mechanics private static final boolean RED = false; private static final boolean BLAC...

2018-11-12 19:16:58 983 0

原创 【小家思想】通俗易懂版讲解JWT和OAuth2,以及他俩的区别和联系(Token鉴权解决方案)

什么是OAuth OAuth是一个关于授权(authorization)的开放网络协议,在全世界得到广泛应用,目前的版本是2.0版。 OAuth是一种安全的授权框架,提供了一套详细的授权机制。用户或应用可以通过公开的或私有的设置,授权第三方应用访问特定资源。它详细描述了系统中不同角色、用户、服务前...

2018-11-10 16:36:17 10148 3

原创 【小家java】Java中主线程(父线程)与子线程的通信和联系

进程和线程(和协程) 通俗的讲, 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位(比如QQ是个进程、微信是个进程) 进程和线程的主要差别在于它们是不同的操作系统资源管理方式。 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,...

2018-11-05 18:47:22 1558 1

原创 【小家java】Java线程池之---ForkJoinPool线程池的使用以及原理

Java 7 引入了一种新的并发框架—— Fork/Join Framework。同时引入了一种新的线程池:ForkJoinPool(ForkJoinPool.coomonPool) @sun.misc.Contended public class ForkJoinPool extends Abs...

2018-11-05 15:00:33 4324 2

原创 【小家java】Java定时任务ScheduledThreadPoolExecutor详解以及与Timer、TimerTask的区别(执行指定次数停止任务)

定时任务就是在指定时间执行程序,或周期性执行计划任务。Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求。 Timer和TimerTask 本文先介绍Java最原始的解决方案:Timer和TimerTask Timer和TimerTask可以作为线程实现的第三种方...

2018-11-04 17:12:09 1346 0

原创 【小家java】Java中的线程池,你真的用对了吗?(教你用正确的姿势使用线程池,Executors使用中的坑)

在【小家java】用 ThreadPoolExecutor/ThreadPoolTaskExecutor 线程池技术提高系统吞吐量(附带线程池参数详解和使用注意事项)这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理。 在文中末尾有这样一句描述: 可以通过Executors静态工厂构...

2018-11-04 11:16:12 2197 0

原创 【小家java】BlockingQueue阻塞队列详解以及5大实现(ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue...)

前言 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 ...

2018-11-03 21:43:20 2016 1

原创 【小家Java】深入理解Java枚举类型(enum)及7种常见的用法(含EnumMap和EnumSet)

前文 这次当我入职一家新公司的时候,编写代码发现,里面还在大量的使用public static final…这种语句来神马一些状态常量。 很多时候,虽然都能暂时完成一样的功能,但武功高低,一看便知。因此我加入之后,迅速全面引入枚举类型,并且指定枚举的使用规范、统一实现的接口。。。 什么是枚举类型 ...

2018-11-03 17:05:27 300 0

原创 【小家Java】一次Java线程池误用(newFixedThreadPool)引发的线上血案和总结

这是一个十分严重的线上问题 自从最近的某年某月某天起,线上服务开始变得不那么稳定(软病)。在高峰期,时常有几台机器的内存持续飙升,并且无法回收,导致服务不可用。 给出监控中GC的采样曲线: 内存使用曲线如下: 如上两张图显示:18:50-19:00的这10分钟阶段里,服务已经处于不可用的状态了...

2018-11-02 15:28:41 4527 0

原创 【小家java】Java8新特性之---CompletableFuture的系统讲解和实例演示(使用CompletableFuture构建异步应用)

异步 传统单线程环境下,调用函数是同步的,必须等待程序返回结果后,才可进行其他处理。因此为了提高系统整体的并发性能,引入了异步执行~ jdk中已经内置future模式的实现。Future是Java5添加的类,用来描述一个异步计算的结果。可以用isDone方法来检查计算是否完成,或者使用get阻塞住...

2018-11-01 11:59:28 1059 0

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