自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 自定义注解文件导入导出

自己写的,就是利用反射和自定义注解实现的。直接上代码目前只支持Integer、String、Long、Date类型,如果需要别的类型需在ExportExcelUtils类readExcel方法中,switch里新增所需类型工具类public class ExportExcelUtils { public static void exportExcel(HttpServletResponse response, String fileName, ExcelData data) thro.

2021-04-12 16:02:50 138

原创 JMM和Volatile

https://www.jianshu.com/p/8a58d8335270

2021-04-01 18:10:35 70

原创 手写SpringBootStarter组件

Starter组件原理SpringBootStarter笔记实践创建自定义Starter自定义一个可以打包的jar工程配置自定义配置在META-INF下配置spring.factories扫描文件配置yaml自动提示配置引入自动配置jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration

2021-03-30 17:08:20 122

原创 SPI机制

SPI机制SPI全称为(Service Provider Interface)服务提供接口SPI是在服务器加载根据指定的配置或默认的配置,找到对应的实现类进行加载。这样做可以动态更改接口实现类。例如java定义类一套数据库链接,根据JDBC的配置,动态选择要加载的实现类、以及dubbo中Protocol、LoadBalance等都是通过SPI机制扩展。流程新建个可以打jar的工程自定义一个接口在src/main/resource目录下新建/MET-INF/xxx文件(xx为自定义名称)

2021-03-30 11:33:51 199

原创 SpringBoot自动装载原理

SpringBoot自动装载流程比如加载Redispom配置对应的Starter jar包扫描jar包中必然存在@Configuration注解和XXConfiguration类;不管任何插件都会存在该配置类(注入IOC容器)通过Spring的装载接口进行对Bean动态装载SpringBoot的动态Bean的加载importSelector实现importSelector接口对意义是告诉Spring引擎配置类在哪里。实现类配置类,那如何怎样使用?有两种方式,一种是自定义注解,第二

2021-03-30 11:30:43 474

原创 Linux下更改Mysql时差8小时

--查看时间格式mysql> select now() from dual;mysql> show variables like '%time_zone%'+------------------+--------+| Variable_name | Value |+------------------+--------+| system_time_zone | CST || time_zone | SYSTEM |+------------------

2021-03-19 17:15:09 134

原创 SpringCloud Hystrix

SpringCloud Hystrix文章目录SpringCloud Hystrix前言一、服务熔断降级二、Hystrix引入配置三、Hystrix服务端使用四、Hystrix消费端使用1.引入库2.读入数据总结前言服务熔断作用在于保护整个系统不会崩溃,假如A服务请求B服务,由于B服务请求出现负荷或响应慢的情况,有大量A服务请求到B服务,待上次请求尚未执行完,B服务产生请求积累递增,导致B服务宕机。从而提供fallback(回路)方案,保证整个服务稳定性和可用性。提示:以下是本篇文章正文内容,下

2021-03-01 10:57:17 94 1

原创 SpringCloud Hystrix Ribbon超时时间和重试机制

Hystrix和Ribbon配置hystrix和ribbon配置如下ribbon: ReadTimeout: 2000 #秒 ConnectTimeout: 2000 #秒 MaxAutoRetries: 1 #同一台实例最大重试次数,不包括首次调用; MaxAutoRetriesNextServer: 1 #重试负载均衡其他的实例最大重试次数,不包括首次 OkToRetryOnAllOperations: false #是否所有操作都重试 , 设置为false时,则是对get请求

2021-02-26 17:23:49 582 1

原创 雪花算法

全局ID要求全局唯一性有序的递增性高可用时间上的特性雪花算法组成代码/** * @author zby * @version 1.0 * @description: 雪花算法 * @date 2021/2/21 下午4:51 */public class SnowFlakeGenerator { /** * 机房ID */ private long roomId; /** * 机器ID */ priva.

2021-02-23 16:18:16 107

原创 MySql架构与SQL执行流程

MySql架构与SQL执行流程文章目录MySql架构与SQL执行流程MySql的发展历史和版本分支一、MySql语句的执行流程1. 客户端其它2.查询缓存3. 语法解析和预处理器4.查询优化与查询执行计划5.存储引擎存储引擎区别MyISAM:InnoDBMemoryCSVArchive如何选择存储引擎6.执行引擎二、MySql的架构与内部模块1.架构分层2.一条SQL是如何执行的三、BinlogMySql的发展历史和版本分支一、MySql语句的执行流程一条查询sql语句是如何执行![在这里插

2020-11-29 16:27:41 70

原创 Mybatis一级缓存和二级缓存

Mybatis一级缓存和二级缓存一级缓存一级缓存使用的时候,因为缓存不能跨会话共享,不同的会话之间对于相同的数据可能有不一样的缓存。在有多个会话或分布式环境下,会查到过时数据的问题。如果要解决这个问题,就需要用到二级缓存。一级缓存是基于SqlSession,SqlSession销毁或执行Update、insert、Delete会清除一级缓存。一级缓存默认SESSION,默认是开启状态;通过localCacheScope设置STATEMENT即可关闭二级缓存二级缓存是用来解决一级缓存不能跨会话共

2020-11-14 11:24:36 107

转载 list交集、差集、并集、去重并集

// 交集 List<String> intersection = list1.stream().filter(item -> list2.contains(item)).collect(toList()); System.out.println("---得到交集 intersection---"); intersection.parallelStream().forEach(System.out :: println); ..

2020-11-10 18:03:43 225

SSH上传下载(国际化)

用SSH框架编写上传下载,使用到国际化。 简单明了。

2012-08-09

java反编译器

*.class格式文件快速编译成*.java格式,可用文本阅读

2011-11-12

行政区划表sql脚本

行政区划表sql脚本行政区划表sql脚本行政区划表sql脚本行政区划表sql脚本

2011-11-09

空空如也

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

TA关注的人

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