自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (5)
  • 收藏
  • 关注

原创 JDK 版本选择

JDK 版本选择最近在做新系统架构的时候,准备将架构做个整体的更新。整个技术栈以spring-could-alibaba 为主,能后围绕它做第三方组件搭配。大概的系统架构图 可以浏览 基于Spring Cloud Alibaba 的微服务系统架构在进行版本选择的时候,一般都是最新的稳定版本,但是现实情况,可能并不是那么美好,所以,JDK 17 虽然已经出来了,但我的这个规划里,并不适用。主要步骤选择 spring-cloud-alibaba 版本因为其他都要围绕 spring-cloud-al

2021-11-12 17:28:51 3381 1

原创 基于Spring Cloud Alibaba 的微服务系统架构

基于Spring Cloud Alibaba 的微服务系统架构公司以前的微服务都是直接基于spring cloud的,最近几年,由于阿里巴巴的微服务架构兴起,社区活跃度和维护的比较及时,顾准备搭建基于 Spring Cloud Alibaba 的微服务作为公司新系统的架构。架构图 v 0.0.1:Spring Cloud Alibaba: https://github.com/alibaba/spring-cloud-alibaba...

2021-11-11 17:20:39 2116

原创 groovy 自动生成entity、mapper/service类代码

本文主要讲述如何通过idea 的script 插件 自动生成 entity、mapper/serivice 等一写简单类。减少低质量的工作任务,提高工作效率。创建数据库连接新增entity、mapper、serivce 类自动生成代码的groovy 脚本文件下面我已 生成实体类的脚本为例,大家可以根据自己的实际情况,进行修改主要关注点java 类创建人基本信息 在 87~91 行需要引入的注解。 在93~ 103 行实体类是否要保留表名的统一前缀 175 行实体类后缀 在第36 行

2021-08-18 15:53:47 868

原创 获取 一个时间周期内 周几的次数

标题获取 一个时间周期内 周几的次数应项目需要,计算一个时间周期内、周几的次数。来计算用户购买的视频,是否到了观看时间。通过网上查找资料和总结,找到了下面两个比较不错的算法。记录下来,供后期学习方法一通过Stream.iterate 生成一个从开始日期到结束日期的日期流,能后通过过滤器过滤出符合要求的日期,统计总数,返回缺点: 因为要把时间段内的时间都计算出来,比较消耗时间和内存,时间差距不大的情况下可以使用优点: 可以通过扩展,快速的查询出具体的日期。public static int get

2021-07-14 15:40:16 361

原创 cors error cross-Origin resource sharing error PreflightMissingAllowOriginHeader 问题排查

标题cors error cross-Origin resource sharing error PreflightMissingAllowOriginHeader在chrome 浏览器中,部分接口调用会报 cors error cross-Origin resource sharing error PreflightMissingAllowOriginHeader 错误跨域问题?刚开始以为是跨域的问题,但是其他同一服务器下的接口,能正常调用,所以应该不是这个问题,应该问题在请求头丢失仔细看了下报

2021-02-25 10:13:21 18138

原创 spring mvc 时间格式序列化,反序列化配置

spring mvc 时间格式序列化,反序列化配置在spring mvc 项目中使用 LocalDateTime、LocalDate、LocalTime等时间类型时,为了统一般会使用 @JsonFormat、 @DateTimeFormat 注解进行格式化。但是项目当前一般使用的地方都比较多,每一个地方都加上注解,太麻烦了。所以为了简便,特意总结了下面一套配置时间格式化的配置。方便以后使用/** * 时间格式序列化,反序列化,格式处理 */@Configurationpublic clas

2020-07-28 18:03:01 900

原创 activiti 7 生成流程图

activiti 7 生成流程图有一个根据流程图的bpmn 文件 生成png 图片,提供给前端预览主要代码: /** * Get Process instance diagram */ public InputStream getProcessDiagram(String processInstanceId) { ProcessInstance p...

2020-03-05 18:53:30 8647 35

原创 activiti表名统一修改为小写

activiti表名统一修改为小写activiti表名统一修改为小写activiti表名统一修改为小写activiti 自动新建的表默认是大写的,但是我们数据库定义的规则是表名得小写。所以就得手动的把他改为小写,(activiti 暂时好像还不支持通过配置参数实现表名大小写)下面我通过查询本数据库中带有act 前缀的表 并通过 CONCAT 函数来拼接,修改表名的sqlSELECT CON...

2020-01-21 16:18:08 4552

原创 postman设置环境变量,简化操作步骤

postman设置环境变量,简化操作步骤,提高工作效率最开始使用postman 只是做一下简单的接口调试,所有也就没太研究怎么用,最近因为接口调用复杂了很多(token 信息过期快,header 里面需要设置一些必须信息)。如果还是和以前一样,一个一个的去操作,很麻烦,所有想着postman这么流行的工具,应该有相应的功能了。所有花了些时间,研究了下。下面把自己的一些操作。记录下来。权当学习和分...

2019-12-05 10:48:12 348

原创 spring mvc @NotNull 传参验证

spring mvc @NotNull 传参验证在spring mvc开发 配合前端同时进行创建,修改操作的时候,需要验证参数的有效性。传统的方案是在代码里面通过 if else 实现if (user.gietNmae() is null) { // xxx }else if user.getNum is null // xxx以上是比较传统的方案,如果有多个地方判断参数的有效性,...

2019-11-09 18:47:58 936

原创 docker rpm离线安装

docker rpm离线安装由于公司服务器的问题,阿里云上的部分服务器不能上外网,但是有需要安装docker运行环境,所以没办法,只能通过离线安装的方式进行安装。主要步骤是:下载相应的rpm 包并上传到服务器上去依赖包(都选择最新的):下载地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/audit-libs-pythonc...

2019-10-18 17:31:29 4861

原创 spring boot admin 2.1.6 监控搭建总结

最近在做新系统的框架搭建,想要给系统加一个监控应用的模块,感觉 spring boot admin 不错,就把他集成进来了。做个简单总结我这里采用的是 maven 多module 形式,新起 一个spring boot admin 微服务,能后在其他服务器中导入相关jar 和配置就可以了,简单方便。新建spring boot admin 服务端新起一个叫 admin 的 module其中 ...

2019-09-07 17:18:53 1303 11

原创 spring aop DefaultAopProxyFactory 默认代理源码解析

本文主要分析 spring aop DefaultAopProxyFactory.java 里面 选择默认代理逻辑主要方法@Override public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException { // 如果指定了 optimize为true 或者是proxyTargetClass...

2019-08-07 21:09:04 913

原创 hashmap 源码解析 扩容

这篇文章是针对 前两篇hashmap 实现原理总结hashmap 源码解析 new HashMap()的补充,主要是讲解hashmap 是怎么进行扩容的。先大概说下总结,后面在进行详细描述如果使用的无参的构造函数申明的hashmap 在第一次put 数据的时候回进行初始化扩容,初始化map 大小是16, 扩容阈值是 12如果使用了带参数的构造函数申明的hashmap, 在第一次put...

2019-08-06 18:03:10 203

原创 hashmap 源码解析 new HashMap()

hashmap 源码解析 new HashMap<>(7)hashmap 实例化有四个构造方法 分别是:默认构造函数: 最常用 public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted }指定初始化大小的public HashMa...

2019-08-02 20:59:25 672

原创 mysql like '%key' 查询优化

mysql like 优化假设给表中字段A 建了索引在做 like 查询的时候 有如下四种情况:1. SELECT * FROM TABLE LIKE 'XXX' 走索引 2. SELECT * FROM TABLE LIKE 'XXX%'走索引3. SELECT * FROM TABLE LIKE '%XXX'全表扫描,不走索引4. SELECT * FROM TABLE LI...

2019-07-31 21:00:16 528

转载 Spring IOC 的原理及详解

这里感谢 CSDN 的原博客:http://blog.csdn.net/m13666368773/article/details/7802126https://www.cnblogs.com/wang-meng/p/5597490.html看后 受益匪浅,这里再重温一遍Spring IOCIoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,...

2019-07-25 11:11:20 1030

原创 Arrays.asList() add UnsupportedOperationException 问题解析

问题代码: String[] str = new String[]{"a","b","c"}; List<String> list = Arrays.asList(str); list.add("d");这是一个很多人在使用aslist 会遇到的坑,自己也踩过几次,今天翻阅了下源码,做个笔记,加深印象。第一步先查看下 asList 方法的实现。...

2019-07-23 11:51:20 1150

原创 jackson can not deserialize from Object value (missing default constructor or creatorn

jackson + PageImpl redis 缓存,反序列报JsonMappingException: Can not construct instance of org.springframework.data.domain.PageImpl: no suitable constructor found,can not deserialize from Object value (mis...

2019-07-12 20:27:57 2761

原创 java 三种代理模式

代理(Proxy)是一种设计模式,定义:为其他对象提供一个代理以控制对某个对象的访问,即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.  这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法静态代理在编译期确定代理对象。静态代理在使用是时,需要定义接口类,并且被代理...

2019-07-10 21:05:13 227

原创 客户端字符集不一致 导致 相同sql在不同客户端 运行时间相差很大的问题

今天在优化sql的时候,发现了一个其他的问题,同一个sql 在自己这里运行正常 3s 左右,返回数据,但是发给同事运行,速度特别慢,一分钟都没返回结果,所有kill 掉了。刚开始还以为是发给同事的时候,丢数据了,通过仔细排查发现是因为 客户端字符集的问题造成没有走索引。所有运行的特别慢问题sql正常情况下的解析有问题情况下的解析通过执行explain 比较。第二种情况下 studnet...

2019-07-02 17:29:03 661

原创 Spring boot快速集成RabbitMQ

Spring boot快速集成RabbitMQ本篇文章记录在现有的spring boot 项目里面,快速的基础rabbitmqpom 文件中添加对 spring-boot-starter-amqp 的支持 <dependency> <groupId>org.springframework.boot</groupId> ...

2019-03-22 15:48:32 138

原创 spring boot启动流程图

本文是自己在学习网上关于spring boot 启动源码研究的总结return new SpringApplication(primarySources).run(args);主要分两步 第一步new 一个 SpringApplication 应用,第二步 运行SpringApplication 对象第二步 运行 springboot 应用总图...

2019-01-28 21:08:04 5401

原创 python 三元表达式

python 三元表达式因为python 的三元表达式和java的相差很大。在这里做下记录。a if 判断条件 else b 结果: 如果判断条件为 true 返回a 否则 返回 bJAVA 版本a &gt; b ? a:b...

2019-01-26 19:57:29 178

原创 使用 logrotate 配置 supervisor 进行日志管理按天备份

supervisor 默认的日志备份策略是按大小备份,经常不知道去哪个文件查日志的烦恼。本文通过设置 logrotate 来进行日志安排备份logrotate 的配置文件默认存放在 /etc/logrotate.d 下。新建一个文件vim /etc/logrotate.d/log-file/var/log/supervisor/log_file*.log { daily ...

2019-01-25 15:36:40 6133

原创 解压版本 rabbitmq安装 使用

解压版本 rabbitmq安装 使用因为个人喜好,能使用解压版的坚决不用安装版的。刚好 rabbitmq也提供了解压版。所有我这里已解压版为例。rabbitmq 安装需要erlang 的支持,所有安装rabbitmq 之前需要现安装erlang下载 erlang https://www.erlang.org/downloads下载 rabbitmq http://www.rabbitm...

2019-01-11 20:58:57 3142 7

原创 local class incompatible: stream classdesc serialVersionUID = -6513709415809811854, local class seri

local class incompatible: stream classdesc serialVersionUID = -6513709415809811854, local class serialVersionUID = -7166464393377422509今天在更新项目后,接口报 local class incompatible: stream classdesc serialVe...

2019-01-09 16:11:40 24867 7

原创 java8 List<Map> 转Map

最近在做一个按天统计数据的功能的时候,需要将返回的一个 List 对象转换为map 返回给前端。 List&amp;lt;Map&amp;gt; list = new ArrayList(); Map map1 = new HashMap(); map1.put(&quot;staticDay&quot;,&quot;11-15&quot;); map1.put(&quot;total&a

2018-11-15 14:32:08 17457 2

原创 ssm项目 已纯注解的方式 引入spring cache+ redis

通过纯注解的方式引入redis,这样可以简单的通过 @Cacheable、@CacheEvict、@CachePut 来操作缓存在pom.xml 文件中引入相关jar 包&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifact

2018-11-14 21:12:24 1390

原创 ssm 项目缓存研究

mybatis 一级缓存mybatis 默认开启一级缓存一级缓存是SqlSession级别的缓存,在操作数据库时需要构造SqlSession对象,在对象中有一个(内存区域)数据结构(hashmap)用于存储数据,不同SqlSession之间缓存的数据互不影响注:在常见的项目当中(mybatis+spring)spring 对mybatis的sqlserssion 的使用是由 template...

2018-11-12 11:58:26 850 2

原创 postman文件上传测试

postman 文件上传测试postman 文件上传测试常见问题postman 文件上传测试选择请求方式,并输入请求地址body 选择form-data 模式,并且key的类型选择file输入key: file value 选择文件发送常见问题Required request part 'file' is not presentkey 的值输入错误,或者是没有输入Mul...

2018-11-08 20:50:46 751

原创 RestHandlerExceptionResolver 设置 handler

spring mvc 项目中,在使用 RestHandlerExceptionResolver 做统一异常处理的时候,有时候需要设置 handler 来解决跨域的问题。 公司现有的项目实现的逻辑是如果请求失败,通过 RestHandlerExceptionResolver 的 builder 方法 返回一个状态码为400 的错误信息给调用方。 @Bean publ...

2018-08-16 20:19:05 1942

原创 MockMvc 测试web 项目 用户登录问题

再用 MockMvc 写 web 项目 controller 层的测试用例的时候,碰到登录的问题。 背景: 项目是ssm 架构,权限是用的 keycloak。 在使用 MockMvc 写测试用例,发送http 请求的时候,服务器需要验证用户信息。最开始使用过 header(HttpHeaders.AUTHORIZATION,basicDigestHeaderValue) 和 with(http...

2018-07-18 20:42:23 5781 10

原创 mysql 按周统计数据

mysql 按周统计数据在做数据统计的时候,经常会有按周统计的要求,刚好mysql 有一个week的函数,可以使用,比原来的 通过 DATE_FORMAT进行转换简单方便多了。实例:按周统计新增客户数 SELECT week(c.CREATED_DATE),count(0) from customer c GROUP BY WEEK(c.CREATED_DATE)其中会出现周...

2018-07-11 17:20:24 15462 3

原创 mysql 调优

最近发现mysql 服务器的cpu 使用率 经常保持在 99% 因为是 16核的机器,所以起初没太当回事,因为有其他更紧急的事情需要处理,就没有管他,后来有时间了,就静下心来执行的排查了下, 现在把排查的过程记录下来,作为比较。供以后查看通过htop 命名 查看 mysql 的cpu 使用率 特别高 连上mysql 数据库 mysql -u root -p 使用 show proce...

2018-03-24 16:13:40 223

原创 有两个有序的数据,将他们合并并保持排序顺序不变

有两个有序的数据 a[],b[], 他们都是升序的,将他们合并成数据c[] ,要求也是升序的 要求时间复杂度是 O(n) 请考虑边界条件,避免程序出现异常package xyz.songxl;public class mergeArray { public static void main(String[] args) { int a[] ={1,3,5,...

2018-03-23 12:23:39 2042

原创 hashmap 实现原理总结

HashMap 实现原理数据结构是基于哈希表实现的 (数据+链表+二叉树 (红黑树))默认的加载因子是0.75 默认大小是 16存储元素 put(key,value) a. 计算key 的hash 值, hash b. 根据上面得到的hash 值和数据的长度进行 取余操作,计算出 该元素在数据组的位置 i c. 如果位置i 没有元素 直接存储, ...

2018-03-17 18:18:07 246

原创 el 表达式无效

最近大家在开发新项目的时候,经常会出现el 表达式无效,页面直接以字符串的形式输出结果的问题。最后发现是因为我们使用的jsp 版本,他默认是不开启el 表达式的,需要手动开启。或者是升级jsp 的版本。 方案一 : 手动开启 el 表达式, 在页面加入如下代码 这个方案简单,但是需要在每一个jsp 页面都需要进行这个操作,就显得特别繁琐了,那么可以采用第二种方案更新jsp

2018-01-08 18:54:05 543

原创 查看class 文件编译的jdk 版本号

查看编辑class 文件的版本号,可以通过能以16进制打开class 文件的软件 例如(nodepadd++,sublime) 也可以通过使用javap -v 来查看版本号以16进制的形式打开文件其中 cafe base 是java的文件头 0000 表示次版本号 0033 表示主版本号(十六进制) 2. 通过 javap -v xxx.class 命令查看版本号 版本号列表

2017-12-21 17:36:18 852

原创 spring boot 学习 热部署

热部署使用场景 优点: 1. 本地和线上都可以使用 2. 无需重启服务器 提高开发、调试效率 提升发布、运维效率,降低运维成本----------热部署与热加载的区别 热部署:在服务器运行时重新部署项目 热加载 : 运行时重新加载修改的class文件实现原理 热部署 重新加载整个应用

2017-12-16 19:21:54 342

WinRAR v4.00 注册机

这个是WinRAR 软件的注册机。输入用户名后可以得到注册码。很方便。

2012-07-30

Spring 3.1.1 src(Spring 3.1.1源码,无api文档)

Spring 3.1.1 src(Spring 3.1.1源码,无api文档) 还有一个有api文档的spring源码的压缩包,但是太大了。传不上来,有需要的朋友可以给我留言。

2012-04-09

Oracle 10 Driver(Oracle 10g驱动包)

这是我在oracleg官网上下载的oracle 10g 的驱动包。 他适用于jdk1.4/1.5 下载的时候请看清自己的jdk版本及Oracle版本。 下面是官网的下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html

2012-03-26

空空如也

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

TA关注的人

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