![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 61
九龙冰室083
hello world
展开
-
阿里开源的缓存框架JetCache
阿里开源的缓存框架JetCache之前一直在用Spring Cache进行接口数据的缓存,主要是Spring Cache在对具体key缓存失效时间的设置不是很方法,还要自己去扩展,无意中发现了阿里的JetCache。大部分的需求都能满足,并且有一些很实用的功能,今天给大家介绍下。JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口原创 2021-09-23 15:04:36 · 1047 阅读 · 0 评论 -
Spring-RabbitMQ源码解读
一、知识点1、RabbitListenerEndpoint :Endpoint为终端,像电脑、手机都是终端,他们都可以接受外部信息并响应,如手机来短信了就有提示。这里也用了终端的概念,例如:被@RabbitListener注解修饰方法也有终端的特点 可以接受外部信息并响应。public interface RabbitListenerEndpoint { /** * the id of this endpoint */ String getId(); /**...原创 2021-09-06 15:11:47 · 1813 阅读 · 1 评论 -
设计模式三之其他模式
参考https://www.runoob.com/design-pattern/design-pattern-tutorial.html原创 2021-08-17 13:58:25 · 90 阅读 · 0 评论 -
Swagger 按照枚举类自定义展示
场景Spring项目中,使用swagger去自动生成接口文档.当存在一个enum枚举时,会有很多VO和param的DTO去引用它.如果修改这个enum,相关联的很多DTO和其他文件的注释description就需要关联修改,否则就会造成前后端掌握的枚举值不一致的情况.话不多说,直接上代码.1.实现.package cn.king.core.configuration;import cn.king.core.enums.BusinessEnum;import com.goog.原创 2021-01-28 20:25:30 · 2098 阅读 · 0 评论 -
解决Apollo加载顺序问题
记一次Apollo加载顺序问题问题描述 @FeignClient(url="${basic.member.path-url}")这里的basic.member.path-url项目启动时获取了yml文件的值....而且不能获取apollo配置的值我想要它获取apollo的值.应该怎么做?我调试了一下...feign在初始化的时候apollo配置还没有注入environment...我想可不可以调整一下apollo的加载优先级.想问问...有办法解决这个优先级么?问题解决...原创 2020-12-09 17:31:32 · 4631 阅读 · 3 评论 -
【JVM】JVM参数性能调优 -Xms -Xmx -Xmn -XX:NewRatio -XX:SurvivorRatio
原文链接:http://unixboy.iteye.com/blog/174173/堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -Xmn2g -Xs.转载 2020-10-13 15:38:08 · 901 阅读 · 0 评论 -
用一个过滤html实例来说明HttpServletRequestWrapper类的使用
引入实例的功能:对用户输入的敏感字眼进行过滤应用场景:评论功能有时候需要对用户输入的某些敏感字眼进行过滤实现架构:模块一:前端页面:提供用户输入的界面,展示用户输入的内容模块二:过滤器:对某些敏感字眼的过滤功能在此实现模块三:servlet:在本实例中,因为用户的输入最终显示在用户输入的界面,因此servlet需要将用户输入的内容保存到request中,并且用requestDispatcher类请求转发到首页示意图为:源码:首页index.jsp的源码如下:转载 2020-09-29 11:16:41 · 347 阅读 · 0 评论 -
Java动态代理InvocationHandler和Proxy学习笔记
java动态代理机制中有两个重要的类和接口InvocationHandler(接口)和Proxy(类),这一个类Proxy和接口InvocationHandler是我们实现动态代理的核心;1.InvocationHandler接口是proxy代理实例的调用处理程序实现的一个接口,每一个proxy代理实例都有一个关联的调用处理程序;在代理实例调用方法时,方法调用被编码分派到调用处理程序的invoke方法。看下官方文档对InvocationHandler接口的描述: {@code Invo转载 2020-09-10 17:02:53 · 345 阅读 · 0 评论 -
SpringBoot项目配置Tomcat和JVM参数
SpringBoot项目配置Tomcat和JVM参数设置Tomcat端口号和连接数等使用application.properties配置文件有一些参数无法设置,所以推荐创建一个类文件来配置,如下: import org.apache.catalina.connector.Connector; import org.apache.coyote.http11.Http11NioProtocol; import org.springframework.boot.context.em转载 2020-07-05 20:40:08 · 3212 阅读 · 0 评论 -
[springboot] 基于Spring Task实现定时任务
[springboot] 基于Spring Task实现定时任务原文链接:https://blog.csdn.net/w47_csdn/article/details/84971870转载 2019-12-13 11:56:56 · 113 阅读 · 0 评论 -
[转]订单售后表数据结构设计
订单售后表数据结构设计一、主要业务点 1、申请售后对象:订单为单位,不能选择数量(必填)、订单中某个商品为对象,可选择数量(选填) 2、用户申请售后时机:已支付未发货/已收货(必填)、除退款后任何情况都可以申请售后(一种商品仅能申请一次 特殊商品不可申请售后) 3、售后流程:用户申请/取消<-->平台通过/拒绝<-->供应商...转载 2019-08-02 10:14:33 · 1541 阅读 · 0 评论 -
Maven聚合项目一键生成版本号
目的:实现一键生成日期格式版本号,并打包,最后还原版本号.首先,讲过程我们需要有一个packaging类型为pom的pom.xml文件即我们的parent项目pom文件<packaging>pom</packaging>在这个parent项目中配置好groupId,artifactId,version以及properties,prerequisite...原创 2019-07-31 12:01:32 · 2513 阅读 · 0 评论 -
简记Charles网络抓包操作(俊俊分享)
Charles网络抓包操作文档电脑创建无线局域网打开电脑移动热点查看无线局域网配置器信息IPv4地址:192.168.137.1(例)Charles下载与安装去Charles的官方网站(http://www.charlesproxy.com)下载最新版的相应操作系统的Charles安装包安装即可端口:8888(与Charles代理端口保持一致)手机连接本地无线局...原创 2019-07-30 15:03:14 · 240 阅读 · 0 评论 -
Java架构开发能力模型
一、能力模型二、框架设计原则:就是规则+反射1.高内聚,低耦合2.少用继承,多用组合(组合和继承,都能获取额外的功能或数据) 前提:在当前类中获取别的数据或功能 继承:extends 组合:用类的属性方式组合,也可以用方法的参数组合3程序维护性强(低耦合)4程序扩展性强(在不影响旧代码的前提下,添加新功能...原创 2018-11-08 11:26:12 · 679 阅读 · 0 评论 -
集合 iterator.remove()方法详解
直接上代码:public class test { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); for (int i = 0 ; i < 10 ; i++ ) { list.add(...转载 2019-12-09 15:34:15 · 367 阅读 · 0 评论 -
Lambda 对List集合多字段组合去重
public static void main(String[] args) { List<QrCodeBaseDTO> saveDTOList = new ArrayList<>(); QrCodeBaseDTO baseDTO = new QrCodeBaseDTO(); baseDTO.setAppId("AppId...原创 2019-11-09 18:48:38 · 2786 阅读 · 0 评论 -
list 三种的遍历方法
list 的三种遍历方法,list list=new ArrayList();list.add("a");list.add("b");list.add("c");list.add("d");方法一:for(String str:list){system.out.printIn(str);}方法二:Iterator it=list.ite原创 2017-02-19 19:11:30 · 271 阅读 · 0 评论 -
MyEclipse中Tomcat控制台打印中文乱码解决方案
通常大家都知道,Java虚拟机中字符串编码默认跟随操作系统,中文版的Windows系统编码为GBK,Linux系统为UTF8,如果需要手动设定编码,可以在JVM启动时添加以下参数:-Xms512m-Xmx1024m-XX:PermSize=64M-XX:MaxPermSize=128M-Dpwp.enabledBundles=scriptide-DSCRIPT_D转载 2017-06-02 12:05:45 · 724 阅读 · 0 评论 -
【未解决】idea的hibernate生成实体类其属性变成了驼峰式
昨天通过idea的hibernate生成实体类,发现一个问题,超级坑。我在数据库中是XX_XX这样定义的,如图通过idea 的hibernate生成对应的实体类,其属性变成了驼峰式命名,导致实体字段不一致。度娘未果后,我只有手动根据数据库表中字段进行修改实体类属性名。记录是为了知道。需要什么配置规则么?还是Hibernate的BUG?以后会解决麽?...原创 2018-03-14 09:57:51 · 1709 阅读 · 2 评论 -
java8的小特性一(默认方法)
1.接口的默认方法.默认方法允许为接口方法定义默认实现..默认方法的主要作用是,在不破坏现有代码的情况下.提供一种扩展接口的方式...另一个作用是定义接口中的方法.默认方法包括了默认实现.所以实现类不一定要实现重写它. 2.默认方法的实际应用.假如定义了一个MyObj的接口示例.public interface MyObjA{int getAge();defa...原创 2018-08-09 20:24:41 · 139 阅读 · 0 评论 -
ServiceLoader的使用
刚刚研究携程的apollo时发现ServiceLoader是个类似spring的东西,可以指定接口和实现,通过ServiceLoader去载入。 下面是我的一个例子: package com.example.demo.ctrl;import java.util.ServiceLoader;/** * @author KING * @date 2018/10/12...原创 2018-10-12 21:32:54 · 669 阅读 · 0 评论 -
从SpringBoot源码分析 配置文件的加载原理和优先级
从SpringBoot源码分析 配置文件的加载原理和优先级本文从SpringBoot源码分析 配置文件的加载原理和配置文件的优先级 跟入源码之前,先提一个问题: SpringBoot 既可以加载指定目录下的配置文件获取配置项,也可以通过启动参数(VM Options)传入配置项,为什么通过启动参数传入的配置项会“顶掉”配置文件中的配置? 示例: applica...转载 2018-10-17 17:34:33 · 500 阅读 · 0 评论 -
cglib BeanCopier 使用
包路径import org.springframework.cglib.beans.BeanCopier;原文:https://blog.csdn.net/liangrui1988/article/details/41802275转载 2018-11-08 11:09:45 · 1018 阅读 · 0 评论 -
Lombok介绍及使用方法 lombok简介
原文:http://www.cnblogs.com/holten/p/5729226.html转载 2018-11-08 11:12:02 · 102 阅读 · 0 评论 -
swagger作为restful api的doc文档生成
本文作者:@Ryan Miao 本文链接:https://www.cnblogs.com/woshimrf/p/swagger.html 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!原文: http://www.cnblogs.com/woshimrf/p/5863318.html...转载 2018-11-08 11:16:27 · 148 阅读 · 0 评论 -
RestTemplate 的使用与封装
package com.ruiyibd.edp.cloud.consumer.rest;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.support.spri...原创 2018-11-08 11:22:26 · 2421 阅读 · 0 评论 -
探索: mybatis在mysql中自增主键是如何赋值
今写代码的时候突然好奇.mybatis在mysql中自增主键是如何赋值的?mybatis在mysql自增主键使用: useGeneratedKeys=true 表示将自增主键返回给keyProperty="id",参考https://www.cnblogs.com/nuccch/p/9069644.html验证代码: <!-- mysql新增 : mysql自增主键使用:...原创 2019-01-26 16:17:42 · 1093 阅读 · 0 评论 -
记阿里云安装redis踩过的坑
先不说问题...先走步骤:1、先安装gccyum -y install gccredis的安装和使用步骤https://redis.io/download安装时小心翼翼的按照官网上面的步骤执行命令.$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz$ tar xzf redis...原创 2019-04-27 18:19:19 · 1002 阅读 · 1 评论 -
简记Java8 Lambda表达式的使用
package com.king.lambda;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import org.junit.Assert;import java.util.*;import java.util.stream.Collectors;impo...原创 2019-05-15 11:29:57 · 345 阅读 · 0 评论 -
mongoVUE:未将对象引用设置到对象的实例
未将对象引用设置到对象的实例转载 2016-05-10 18:04:30 · 1130 阅读 · 0 评论