Java
文章平均质量分 60
_Sirius
毕业于清华大学,拥有超过13年的工作经验。 Oracle认证 讲师,拥有6年以上授课经验。精通Oracle数据库、中间 (Weblogic)和大数据Hadoop的管理和开发。 曾为湖北 移动,中国移动,山东教育网进行培训。著有畅销书《IT 必学课》,曾获得xx奖项。
展开
-
使用 Chameleon 进行高性能java类型转换,支持不同类型结构的转换
文章目录解决问题原理支持转换的情景使用dependency方式1(惰性加载)方式2(通过注解预加载)方式3(自定义预加载)代码演示AStruct.javaBStruct.javaCStruct.javaAInnerStruct.javaBInnerStruct.javaGood Luck~Chameleon 是一款基于 javassist 动态字节码生成的高性能类型转换工具。解决问题Spring 的 BeanUtils 类型转换效率相对不太理想;MapStruct 配置太过复杂;原理在首次原创 2021-10-27 11:43:25 · 541 阅读 · 1 评论 -
spring cloud zuul解决文件上传不成功报错 org.springframework.web.multipart.MultipartException
一般是在微服务zuul网关这里报错导致文件上传失败,所以先检查你的zuul文件上传到服务器出现 org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.217069926745995889.18000/w原创 2020-10-09 09:48:33 · 1347 阅读 · 0 评论 -
解决spring-test中Feign问题: No qualifying bean of type ‘org.springframework.cloud.openfeign.FeignContext‘
问题现象:启动测试类(含通过Feign远程调用的组件),报错: No qualifying bean of type ‘org.springframework.cloud.openfeign.FeignContext’ available问题解决:在测试类上加上如下代码:import org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguration;import org.springframework.cloud.openfeign.原创 2020-08-26 16:29:52 · 2898 阅读 · 0 评论 -
AES的256位密钥加解密报 java.security.InvalidKeyException: Illegal key size or default parameters 异常的处理及处理工具
一、出现的现象为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用。我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理;然而,在使用256位密钥加解密的时候,如果不进行特殊处理的话,往往会出现报“java.security.InvalidKeyException: Illegal key size or default parameters”的异常,那么这是为什么呢?今天我们来讲一讲。二、为什么会出现这样的现象我们做Java原创 2020-06-30 09:49:20 · 430 阅读 · 0 评论 -
Spring Cloud - Eureka 多节点 高可用部署 及 unavailable-replicas 问题
Eureka Server除了单点运行之外,还可以通过运行多个实例,并进行互相注册的方式来实现高可用的部署。所以我们只需要将Eureke Server配置其他可用的 serviceUrl 就能实现高可用部署。将 application.yml 文件复制三分:application-9001.yml,application-9002.yml,application-9003.yml,分别添加配置项如下:application-9001.ymlspring: application: nam原创 2020-05-18 00:10:26 · 391 阅读 · 0 评论 -
Spring Cloud - FeignClient 上传文件
Spring Cloud - FeignClient 上传文件场景假设网站后台(ServiceA)、文件服务(ServiceB)与报表服务(ServiceC)分别是三个不同的微服务,需要满足如下两个场景:用户通过ServiceA上传头像到ServiceB。ServiceC将生成的Excel二进制文件上传到ServiceB。分析J2EE架构网站一般通过Form Data上传,然后通过Mu...原创 2020-03-22 12:07:33 · 656 阅读 · 0 评论 -
RocketMQ 解决 No route info of this topic
rocketmq运行时提示 No route info of this topic 异常产生的原因可能是①Broker禁止自动创建Topic,且用户没有通过手工方式创建Topic②Broker没有正确连接到Name Server③Producer没有正确连接到Name Server首先解决①这种情况,启动顺序要先启动nameserver,再启动broker,启动broker时加上autoC...原创 2020-02-27 13:30:22 · 1074 阅读 · 0 评论 -
java 根据泛型创建对象,实例化泛型对象
实例化泛型对象在你发布的代码中,不可能创建一个泛型T,因为你不知道它是什么类型:public class Abc<T>{ public T getInstanceOfT() { // There is no way to create an instance of T here // since we don...原创 2020-02-17 00:53:20 · 21175 阅读 · 2 评论 -
springboot自定义注解,项目启动时扫描注解
1、需求:自定义注解,项目启动时进行注解扫描并存储,便于后面生成对象。类似于@Controller,@Service,自定义的原因是,整个项目会初始化很多流程,每个流程由好多个小模块(对象)串联起来。同一个类会被创建多个对象,被使用在不同的流程里面。以后会根据流程的配置对应切换对象。2、项目结构3、代码和配置pom.xml <parent> <groupId...原创 2020-02-15 10:26:22 · 13529 阅读 · 3 评论 -
SpringCloud集成RocketMQ实现事务消息方案
前边的话当前SpringCloud作为微服务开发的首选开源方案提供了完善的微服务开发技术套件,不过针对分布式领域的难题–分布式事务控制并没有成熟的方案,本篇将介绍作为柔性事务控制的优秀方案RocketMQ的使用原理和方法。通过本案例的学习,掌握SpringCloud集成RocketMQ事务分布式事务控制的方法。RocketMQ事务消息方案RocketMQ 是一个来自阿里巴巴的分布式消息中间...原创 2020-02-15 09:26:28 · 1109 阅读 · 0 评论 -
微信公众号开发框架 For Java —— wechatapi
微信公众号开发框架 For Java微信公共平台API。功能列表公共API发送客服消息(文本、图片、语音、视频、音乐、图文)菜单操作(查询、创建、删除、个性化菜单)二维码(创建临时、永久二维码,查看二维码URL)分组操作(查询、创建、修改、移动用户到分组)用户信息(查询用户基本信息、获取关注者列表)媒体文件(上传、获取)群发消息(文本、图片、语音、视频、图文)客服记录(查询...原创 2019-04-24 17:52:16 · 5130 阅读 · 1 评论 -
Url参数中出现+、空格、=、%、&、#等字符的解决办法
原文链接:http://www.jeffjade.com/2015/04/16/2015-04-16-deal-url-special-char/Url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,抑或是造成不能正常下载文件(作为Download Url时候),如何是好?解决办法:就是需要将这些字符转化成服务器可以识别的字符;但是为何Ur...原创 2018-04-28 10:00:23 · 3028 阅读 · 0 评论 -
Java String.replaceAll "Illegal group reference"异常的分析
String replaceAll(regex, replacement)函数 , 由于第一个参数支持正则表达式,replacement中出现“$”,会按照$1$2的分组模式进行匹配,当编译器发现“$”后跟的不是整数的时候,就会抛出“非法的组引用”的异常。所以我们在使用replaceAll(regex, replacement)函数的时候要特别小心。如果真的要把String中的字符替...原创 2018-04-27 14:06:44 · 588 阅读 · 0 评论 -
查看Java程序运行情况之jconsole远程连接Java应用程序
使用java自带的jconsole远程连接Java应用程序,只需要给j远程的ava应用程序配置jmx参数即可。JAVA_OPTS="-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.rmi.port=8099 -Dcom...原创 2018-05-03 17:53:18 · 1813 阅读 · 0 评论 -
JVM调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置:java -Xmx3550m -Xms355...原创 2018-02-28 14:46:09 · 389 阅读 · 0 评论