java
C&Z
这个作者很懒,什么都没留下…
展开
-
从请求的body中获取参数数据
private String getBodyString(HttpServletRequest request) {StringBuilder sb = new StringBuilder();InputStream inputStream = null;BufferedReader reader = null;try {inputStream = request.getInputStream();reader = new BufferedReader(new InputStreamReader原创 2022-05-16 10:17:41 · 964 阅读 · 1 评论 -
cglib代理,出现cannot be cast to java.lang.Number
测试类public class SampleClass { public String test(String input){ return "hello world"; }}用cglib对代码进行增强public static void main(String[] args) { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(SampleClass.class); en原创 2021-07-15 14:38:36 · 1494 阅读 · 0 评论 -
连接mongodb时出现host/port/credentials/replicaSet must be specified
连接mongodb的时候出现问题 host/port/credentials/replicaSet must be specified配置文件的配置内容如下:报错信息如下:如果你也有一样的错误,请检查你的配置,mongodb ,uri 和username ,password 是不能同时进行配置,到底为何呢,接下来我们进入源码进行查看,根据错误信息,追踪到报错的行进行查看,如下图:可以看到这是一个校验参数的方法,该方法的意思是,如果配置了, host , port , 获取配置认证信息 如 us原创 2021-03-02 15:29:09 · 3241 阅读 · 0 评论 -
logback分环境配置
使用 SpringBoot 开发项目,日志一般使用 logback,配置文件默认名字就是:logback-spring.xml,也可以用logback.xml。所有日志配置都有个基本的诉求:不同环境输出到不同目标。比如,开发环境输出到控制台,方便在 IDEA、Eclipse 等 IDE 里直接查看;测试、生产环境则输出到日志文件。这时 logback-spring.xml 或者logback.xml 配置文件就需要根据环境配置:<?xml version="1.0" encoding="UTF-原创 2020-10-27 11:04:10 · 4603 阅读 · 0 评论 -
restful鉴权白名单匹配url
需求在我们开发的中会遇到这样一种情况,在鉴权的时候,需要过滤掉白名单,例如:定义有这样一个url:good/detail/{id},需要判断uri是否能通过,传统的equals方法似乎有点难(PS:如果能用equals方法解决的请在评论区告诉我)幸好spring提供了一个很好用的类,用于匹配AntPathMatcher antPathMatcher = new AntPathMatcher(); // path路径是否符合pattern的规范 boolean match = antPathMatc原创 2020-10-16 11:23:43 · 2024 阅读 · 0 评论 -
在发送邮件的时候出现《命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !》解决方案
下面以QQ邮箱为例进行说明1、首先要在邮箱的设置中,开启,POP3服务,如下图所示2、生成授权注意不能用密码,用密码则会提示标题中的错误3、用生成的授权码进行第三方登录发送邮件,成功...原创 2020-09-07 14:21:07 · 5431 阅读 · 0 评论 -
简单统计代码小程序
import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class StatisticCodeLines { public static int normalLines = 0; //有效程序行数 public static int wh.原创 2020-08-25 15:31:15 · 1180 阅读 · 0 评论 -
javac、java命令调用jar包
简单的问题,但是长期依赖于IDE工具,基本的java命令生疏了,将此次的过程简单记述如下。我们写的类不可避免的要引用第三方jar,如果用javac进行编译则需要告诉编译器要到哪里去找jar包,如果没有指定则到默认的地方进行查找具体位置如下:${JRE_home}/lib/ext如果想直接指定jar包路径也是可以的一、利用javac进行编译window环境:对于需要依赖的jar包使用-cp ,多个jar包之间使用分号;java命令运行时注意.;javac -encoding UTF-8 -cla原创 2020-07-04 15:21:55 · 3272 阅读 · 1 评论 -
Java内存泄漏分析系列之五:常见的Thread Dump日志案例分析
原文地址:http://www.javatang.com症状及解决方案下面列出几种常见的症状即对应的解决方案:CPU占用率很高,响应很慢按照《Java内存泄漏分析系列之一:使用jstack定位线程堆栈信息》中所说的方法,先找到占用CPU的进程,然后再定位到对应的线程,最后分析出对应的堆栈信息。在同一时间多次使用上述的方法,然后进行对比分析,从代码中找到问题所在的原因。如果线程指向...转载 2019-12-25 10:07:42 · 842 阅读 · 0 评论 -
Java内存泄漏分析系列之四:jstack生成的Thread Dump日志线程状态
原文地址:http://www.javatang.com Thread Dump日志的线程信息 以下面的日志为例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...转载 2019-12-25 10:06:03 · 484 阅读 · 0 评论 -
Java内存泄漏分析系列之三:jstat命令的使用及VM Thread分析
原文地址:http://www.javatang.com使用jstat命令当服务器CPU100%的时候,通过定位占用资源最大的线程定位到VM Thread: 1 "VM Thread"prio=10tid=0x00007fbea80d3800nid=0x5e9runnable 这个时候需要使用jstat -gc <pid>...转载 2019-12-25 10:04:26 · 318 阅读 · 0 评论 -
Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析
原文地址:http://www.javatang.com一个典型的thread dump文件主要由一下几个部分组成:上图将JVM上的线程堆栈信息和线程信息做了详细的拆解。第一部分:Full thread dump identifier这一部分是内容最开始的部分,展示了快照文件的生成时间和JVM的版本信息。 1 2 2017-10-19 10...转载 2019-12-25 10:03:42 · 499 阅读 · 0 评论 -
Java内存泄漏分析系列之一:使用jstack定位线程堆栈信息
原文地址:http://www.javatang.com前一段时间上线的系统升级之后,出现了严重的高CPU的问题,于是开始了一系列的优化处理之中,现在将这个过程做成一个系列的文章。基本概念在对Java内存泄漏进行分析的时候,需要对jvm运行期间的内存占用、线程执行等情况进行记录的dump文件,常用的主要有thread dump和heap dump。thread dump主要...转载 2019-12-25 10:02:22 · 250 阅读 · 0 评论 -
Java获取包或jar下面的所有class文件
import java.io.File;import java.io.IOException;import java.net.JarURLConnection;import java.net.URL;import java.net.URLDecoder;import java.util.*;import java.util.jar.JarEntry;import java.util....转载 2019-06-28 10:26:43 · 3188 阅读 · 0 评论 -
java.util.zip.ZipException:invalid distance distance too far back
java.util.zip.ZipException:invalid distance distance too far back这个错误,对于使用maven的童鞋来说应该是可能会遇到过。。。这个原因就是maven下载相关jar包时未下载完全,导致服务器进行加载解压时出错。这个就需要查看相关日志,找到没有下载完全的包进行手动下载。原文:https://blog.csdn.net/xi...转载 2019-06-21 16:38:12 · 8130 阅读 · 0 评论 -
canal学习
什么是canal阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。canal是用java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前,canal主要支持了MySQL的b...原创 2019-06-20 11:29:02 · 316 阅读 · 0 评论 -
为何要使用单例模式而不是静态方法
我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。 一、静态方法常驻内存,非静态方法只有使用的时候才分配内存? 一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个理解是错误的。为什么会这样,先从内存分配开始说起:托管堆的定义:对于32位的应用程序来说,应用程序完...转载 2018-06-03 22:15:20 · 1559 阅读 · 0 评论 -
成为Java顶尖程序员 ,看这11本书就够了
学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料2.对着书上的代码自己敲的时候方便“看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳...转载 2018-03-22 08:55:58 · 601 阅读 · 2 评论