自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小旋风_亮宇

永远不要停止前进的脚步!做个勤奋的程序员

  • 博客(65)
  • 收藏
  • 关注

原创 企业微信回调验证

参考博文1:企业微信回调验证、消息交互、审批状态回调及审批查询参考博文2:企业微信通讯录回调模板-XML转JSON-让回调不再难!//主要参考实现XML转JSON企业微信设置接收事件服务器url微信官方提供的示例代码(工具)包:下载地址其中的异常及:1、java.security.InvalidKeyException:illegal Key Size官方网站下载JCE无限制权限策略文件,oracle下载地址如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\securi

2021-09-06 20:28:50 1817

原创 数据库SQL优化方法

SQL语句及索引的优化数据库表结构的优化3.系统配置的优化4.硬件的优化​总的说:①PreparedStatement比Statement性能高②外键约束会影响查删性能,如果程序能够保证数据完整性,设计数据库时就要去掉外键;③表中允许有适当冗余;④姓名和密码单独从用户表单独出来;⑤索引有利于查询性能地改进mysql:1、确定的列名,少用*号;2、尽量少嵌套子查询,这样会消耗大量cpu;3、避免使用消耗资源的操作(distinct、unnion union all、minus);.

2021-07-04 01:21:16 700

原创 数据库分库、分表、分区及其原则和目的?

分库分表分为垂直和水平两个方式,一般来说我们拆分的顺序是先垂直后水平。垂直分库基于现在微服务拆分来说,都是已经做到了垂直分库了​。垂直分表如果表字段比较多,将不常用的、数据较大的等等做拆分。水平分表首先根据业务场景来决定使用什么字段作为分表字段。...

2021-07-03 14:49:51 736

原创 数据库设计三大范式

第一范式:1NF是每列保持原子性,不可再分解;第二范式:2NF是每列都和主键相关,对列的惟一性约束,即实体的惟一性;第三范式:3NF是每列都和主键列直接相关,而不是间接相关,对列冗余性的约束,即任何列不能由其他列派生出来,列没有冗余。...

2021-07-03 14:49:02 71

原创 数据库事务中的四大特性

A:原子性(Atomicity):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,发生错误,会被回滚(Rollback)到事务开始前的状态。C:一致性(Consistency):在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功,所有变化将正确地应用,系统处于有效状态;反之则回滚,回到初始状态。买东西要么交钱收货一起都执行,不然就是发不出货,然后就退钱。I:隔离性(Isolation):在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有

2021-07-03 14:48:48 198

原创 分布式事务的理解

分布式事务就是为了保证不同数据库的数据一致性。基于消息列来最终一致性的方案。是否真的要分布式事务?出现分布式事务的两个原因:1、微服务过多。一个人维护几个微服务,或过度设计而微服务拆分过过多,搞得所有人疲劳不堪,而就会引出分布式事务,这个时候我不会建议你去采用下面任何一种方案,而是请把需要事务的微服务聚合成一个单机服务,使用数据库的本地事务。因为不论任何一种方案都会增加你系统的复杂度,这样的成本实在是太高了,千万不要因为追求某些设计,而引入不必要的成本和复杂度。...

2021-07-03 14:46:47 56

原创 Spring的IOC和AOP

IOC:控制反转,是一种设计模式。通过把控制权交给Spring来管理对象的创建、配置和生命周期,不需要人工来管理对象之间复杂的依赖关系,从而解耦。主要提供了 BeanFactory(Bean工厂) 和 ApplicationContext(应用上下文) 两种 IOC 容器,通过他们来实现对 Bean 的管理。AOP 叫做面向切面编程,它是一个编程范式,目的就是提高代码的模块性。基于动态代理的方式实现,如果是实现了接口的话就会使用 JDK 动态代理,反之则使用 CGLIB 代理。要体现在事务、日志、

2021-07-02 13:24:16 53

原创 Spring框架的作用和优点

1.Spring是一个开源的轻量级的应用开发框架,其目的是用于简化企业级应用程序开发,减少侵入;2.Spring提供的IoC和AOP应用,可以将组建的耦合度降至最低,即解耦,便于系统日后的维护和升级;3.Spring为系统提供了一个整体的解决方案,开发者可以利用它本身提供的功能外,也可以与第三方框架合计数整合应用,可以自由选择采用哪种技术进行开发....

2021-07-02 13:11:20 984

原创 Spring事务的传播行为和隔离级别?什么是脏读、不可重复读、幻读?以及MVCC?

事务传播机制:1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,这也是通常我们的默认选择。2、PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。3、PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则按REQUIRED属性执行。4、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。5、

2021-07-02 12:59:52 332

原创 springboot starter的原理,soringboot的核心注解是什么?它主要由哪几个注解组成的?

原理:组件的META-INF文件下均含有spring.factories文件,自动配置模块中,SpringFactoriesLoader收集到文件中的类全名并返回一个类全名的数组,返回的类全名通过反射被实例化,就形成了具体的工厂实例,工厂实例来生成组件具体需要的bean。核心注解:@SpringBootApplication组成注解:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan...

2021-07-02 12:55:25 95

原创 redis中主从、哨兵和集群这三个有什么区别

主从模式是最简单的实现高可用的方案,核心就是主从同步。哨兵(sentinel)的功能比单纯的主从架构全面的多了,它具备自动故障转移、集群监控、消息通知等功能如果说依靠哨兵可以实现redis的高可用,如果还想在支持高并发同时容纳海量的数据,那就需要redis集群。redis集群是redis提供的分布式数据存储方案,集群通过数据分片sharding来进行数据的共享,同时提供复制和故障转移的功能。...

2021-07-02 12:53:29 1435

原创 redis的概念与原理

基本数据类型:1、字符串对象string:int整数、embstr编码的简单动态字符串、raw简单动态字符串2、列表对象list:ziplist、linkedlist3、哈希对象hash:ziplist、hashtable4、集合对象set:intset、hashtable5、有序集合对象zset:ziplist、skiplistRedis为什么快:1、完全基于内存操作2、C语言实现,优化过的数据结构,基于几种基础的数据结构,redis做了大量的优化,性能极高3、使用单线程,无上下文的切换

2021-07-02 12:47:51 57

原创 dubbo的原理

1、服务启动的时候,provider和consumer根据配置信息,连接到注册中心register,分别向注册中心注册和订阅服务2、register根据服务订阅关系,返回provider信息到consumer,同时consumer会把provider信息缓存到本地。如果信息有变更,consumer会收到来自register的推送3、consumer生成代理对象,同时根据负载均衡策略,选择一台provider,同时定时向monitor记录接口的调用次数和时间信息4、拿到代理对象之后,consumer通过

2021-07-02 12:46:03 70

原创 mybatis的缓存机制和常见的坑是什么?

一级缓存也叫本地缓存,MyBatis 的一级缓存是在会话(SqlSession)层面进行缓存的。MyBatis 的一级缓存是默认开启的,不需要任何的配置。二级缓存是用来解决一级缓存不能跨会话共享的问题的,范围是namespace 级别的,可以被多个SqlSession 共享(只要是同一个接口里面的相同方法,都可以共享),生命周期和应用同步。坑一、嵌套结果如果是collection的话,分页总数会存在问题坑二、延迟加载失效坑三、批量插入语句会因数据库不同而不同...

2021-07-02 12:43:33 259

原创 内存溢出的原因和解决办法? 一直执行正常的定时任务突然不执行了,可能是哪些原因导致的?如何判断以及解决?

情况一、堆内存溢出​ 一般的排查方式可以通过设置-XX: +HeapDumpOnOutOfMemoryError在发生异常时dump出当前的内存转储快照来分析,分析可以使用Eclipse Memory Analyzer(MAT)来分析情况二、方法区(运行时常量池)和元空间溢出​​ String对象情况三、直接内存溢出常见的比如在NIO中可以使用native函数直接分配堆外内存就容易导致OOM的问题。​情况四、​栈内存溢出如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflo

2021-07-02 12:41:48 656

原创 排查jvm故障的思路

故障一、频繁FullGC的排查方法:发生FGC有可能是内存分配不合理,比如Eden区太小,导致对象频繁进入老年代,这时候通过启动参数配置就能看出来,另外有可能就是存在内存泄露,可以通过以下的步骤进行排查:1、jstat -gcutil或者查看gc.log日志,查看内存回收情况​2、dump出内存文件在具体分析,比如通过jmap命令jmap -dump:format=b,file=dumpfile pid,导出之后再通过Eclipse Memory Analyzer等工具进行分析,定位到代码,修复​故

2021-07-02 12:37:26 152

原创 Centos7 docker安装Gitlab

安装docker安装docker-composedocker-compose.yml:version: '3'services: gitlab: image: 'twang2218/gitlab-ce-zh:11.1' restart: always container_name: gitlab #可以是域名 hostname: '10.9.119.178' environment: TZ: 'Asia/

2021-04-02 12:58:03 257

原创 Hutool读取Excel表数据

public static void main(String[] args) { File file = new File("D:\\excel\\项目信息.xls"); ExcelReader reader = ExcelUtil.getReader(file); List<Map<String, Object>> maps = reader.readAll(); //List<Person> all =

2020-08-07 17:40:48 4496

原创 Hadoop单机安装

参考core-site.xml:<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name&gt

2020-07-03 15:47:40 456

原创 springboot集成quartz框架遇到的问题

Spring Boot@Component注解下的类无法@Autowired的问题

2020-04-15 19:16:33 163

原创 判断MultipartFile、List<MultipartFile>是否为空

判断MultipartFile是否为空,用null==voice为空、null!=voice不为空。判断List是否为空,用voice.size()==0为空、voice.size()>0不为空。

2019-12-28 11:14:56 4965 1

原创 记录报错,spring boot热部署工具导致

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'createController' defined in file [D:\WorkSpace\zkwork\oa-notice\oa-notice-web\target\classes\cn\sino\controller...

2019-09-18 17:23:09 372

转载 Java实现文件夹下文件名批量修改

package rename;import java.util.*;import java.io.*;public class FileOperator{ public static void main(String[] args)throws IOException{ String fileStr=""; String rStr=""; ...

2019-06-15 23:28:42 1117

原创 SVN工具将本地代码导入SVN资源库

SVN工具:TortoiseSVN+Visual Server

2019-04-18 14:45:55 1413

转载 Oracle本地建三个用户

--建三个用户create user loc_emos_routine identified by Emos_2018;create user loc_emos_common identified by Emos_2018;create user loc_emos_sec identified by Emos_2018; create tablespace loc_emos_commo...

2019-01-27 00:09:23 397

转载 codeMirror代码编辑器使用学习

常用API教程/中文信息官方API

2019-01-15 14:25:03 364

转载 Mybatis模糊查询

mybatis+oracle实现模糊查询注意:在oracle中 concat不支持三个参数的 如concat(’%’,#{studentName},’%’)三个参数必须嵌套:(如下)select * from gather_config where sid_servername like concat(concat('%','cr'),'%')...

2019-01-09 16:52:32 389

转载 idea激活方法

先下载激活jar包置于安装目录bin中。idea.exe.vmoptions和idea64.exe.vmoptions文件中都分别配上:-javaagent:(jar包路径)C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.1\bin\JetbrainsCrack-2.10-release-enc.jar...

2018-12-21 22:47:04 336

转载 Java线程学习

啃碎并发(一):Java线程总述与概念//挂起、休眠、阻塞与非阻塞;内核态与用户态;线程优势;线程代价;Main线程与子线程关系;并发与并行啃碎并发(二):Java线程的生命周期啃碎并发(三):Java线程上下文切换啃碎并发(四):Java线程Dump分析啃碎并发(五):Java线程安全特性与问题//线程安全特性;线程安全问题;如何确保线程安全特性;关于线程安全的几个为什么;啃碎并发(六...

2018-11-12 23:14:38 124

转载 Oralce SQL语言常用函数

Oralce SQL语言常用函数(一)Oralce SQL语言常用函数(二)数字函数Oralce SQL语言常用函数(三)日期函数Oralce SQL语言常用函数(四)转换函数Oralce SQL语言常用函数(五)聚合函数...

2018-10-30 19:43:09 195

转载 设计模式学习

设计模式之工厂模式、单例模式–来自郝文龙【java设计模式】之 单例(Singleton)模式【java设计模式】之 工厂(Factory)模式【java设计模式】之 抽象工厂(Abstract Factory)模式【java设计模式】之 模板方法(Template Method)模式【java设计模式】之 建造者(Builder)模式【java设计模式】之 代理(Proxy)模式【...

2018-10-28 13:26:07 373

转载 Lucene学习

【Lucene】Apache Lucene全文检索引擎架构之入门实战【Lucene】Apache Lucene全文检索引擎架构之构建索引【Lucene】Apache Lucene全文检索引擎架构之搜索功能【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示...

2018-10-28 12:26:55 198

转载 Shiro学习

【Shiro】Apache Shiro架构之身份认证(Authentication)【Shiro】Apache Shiro架构之权限认证(Authorization)【Shiro】Apache Shiro架构之集成web【Shiro】Apache Shiro架构之自定义realm【Shiro】Apache Shiro架构之实际运用(整合到Spring中)...

2018-10-28 12:20:44 1829

转载 WebServie学习

WebService–BlogChat【WebService】带你走进webservice的世界–eson-15【WebService】自定义WebService服务及其调用

2018-10-28 12:15:37 1653

转载 排序算法学习

【数据结构和算法11】基础排序【数据结构和算法12】希尔排序【数据结构和算法13】快速排序【数据结构和算法14】归并排序【数据结构和算法15】二叉树排序【数据结构和算法16】堆排序【数据结构和算法17】拓扑排序常用数据结构和算法操作效率的对比总结...

2018-10-28 11:30:09 678

转载 SpringMVC学习

【SpringMVC学习01】宏观上把握SpringMVC框架【SpringMVC学习02】走进SpringMVC的世界【SpringMVC学习03】SpringMVC中注解和非注解方式下的映射器和适配器总结【SpringMVC学习04】Spring、MyBatis和SpringMVC的整合【SpringMVC学习05】SpringMVC中的参数绑定总结【SpringMVC学习06】Sp...

2018-10-28 10:47:18 1465

转载 MyBatis学习

【MyBatis学习01】宏观上把握MyBatis框架【MyBatis学习02】走进MyBatis的世界【MyBatis学习03】原始dao开发方法及其弊端【MyBatis学习04】mapper代理方法开发dao//面向接口编程【MyBatis学习05】SqlMapConfig.xml文件中的配置总结【MyBatis学习06】输入映射和输出映射【MyBatis学习07】动态sql【M...

2018-10-27 20:51:01 160

转载 Ajax+Json实现百度自动补全

search.jsp&amp;lt;%@ page language=&quot;java&quot; import=&quot;java.util.*&quot; pageEncoding=&quot;UTF-8&quot;%&amp;gt;&amp;lt;%String path = request.getContextPath();String basePath = request.getScheme()+&quo

2018-10-27 13:55:38 262

转载 json学习

JSON字符串解析json在前后端数据交互中的应用

2018-10-27 13:46:17 81

转载 工厂设计模式--简单工厂、抽象工厂、工厂方法

简单工厂模式public interface Car { public void drive();}public class Benz implements Car { public void drive() { System.out.println(&amp;quot;今天我开奔驰&amp;quot;); }}public class BMW implements Car { public void dr...

2018-10-22 21:00:25 104

空空如也

空空如也

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

TA关注的人

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