![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
QMCoder
这个作者很懒,什么都没留下…
展开
-
zookeeper zab 简述
【代码】zookeeper zab 简述。原创 2023-03-14 18:57:05 · 101 阅读 · 0 评论 -
kafka 参数 batch.size、linger.ms, max.request.size、 message.max.bytes、fetch.....
kafka 大小配置参数原创 2023-02-02 19:30:36 · 1961 阅读 · 0 评论 -
java Thread 不捕获异常 默认处理逻辑
java Thread默认异常处理逻辑原创 2023-02-02 17:09:42 · 196 阅读 · 0 评论 -
max.in.flight.requests.per.connection保证顺序的实现
max.in.flight.requests.pre.connection = 1 顺序保证原创 2023-01-13 16:31:34 · 1065 阅读 · 0 评论 -
AsyncProfiler error: No access to perf events. Try --fdtransfer or --all-user option or ‘sysctl kern
arthasAsyncProfiler error: No access to perf events. Try --fdtransfer or --all-user option or 'sysctl kernel.perf_event_paranoid=1'原创 2022-09-19 16:33:04 · 1753 阅读 · 0 评论 -
NestedConfigurationProperty的作用
NestedConfigurationProperty作用spring-configuration-metadata.jsonspring-boot-configuration-processor原创 2022-09-09 16:59:21 · 1213 阅读 · 0 评论 -
输出logback的状态信息
在configuration标签下面新增 <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />原创 2021-01-26 22:17:10 · 299 阅读 · 0 评论 -
logback异步内存溢出导致程序卡死
logback异步日志需要一个Worker线程消费日志队列, 线程名称是AsyncAppender-Worker-(AppenderName)当有大量请求进来, 日志打的也比较多, 而且单行日志很长, 程序运行一段时间后失去响应, 查看线程栈发现都卡在了写入队列的地方只剩下了一个debug的Appender, info的Appender没有了导致所有的http线程都卡死在写队列...原创 2021-01-10 23:32:28 · 4756 阅读 · 3 评论 -
traceId丢失的一个case
/** 线程池的拒绝策略是在当前线程继续执行 刚开始traceId = 123 提交任务, 等待任务结束, 当前线程的traceId也没了 原因就是他是在当前线程执行, 而包装策略是run方法执行完清掉变量, 所以当前线程的变量就没有了 */// 创建任务, 包装任务Runnable task = new Runnable() { private String id = traceId; public void run() { try { MDC.put("traceId"原创 2020-12-30 16:16:26 · 574 阅读 · 0 评论 -
CompletableFuture理解实现原理
import java.util.concurrent.Executor;import java.util.concurrent.Executors;import java.util.function.BiFunction;import java.util.function.Consumer;import java.util.function.Supplier;public class MyFuture { Object result; // 当前future执行完成之后原创 2020-08-17 20:35:07 · 1331 阅读 · 0 评论 -
protobuf不可为空的一个解决方案
import com.sun.source.tree.Tree;import com.sun.tools.javac.api.JavacTrees;import com.sun.tools.javac.code.TypeTag;import com.sun.tools.javac.processing.JavacProcessingEnvironment;import com.sun.tools.javac.tree.JCTree;import com.sun.tools.javac.tree..原创 2020-08-15 10:58:14 · 3944 阅读 · 0 评论 -
Access-Control-Allow-Credentials为true时Access-Control-Allow-Origin必须指定一个确定的域名
如果服务器端开启了Access-Control-Allow-Credentials为true,假设服务器端设置了Access-Control-Allow-Origin为* 那意味这将cookie开放给了所有的网站,假设当前是A网站,并且在cookie里写入了身份凭证 用户同时打开了B网站, 那么B网站给A网站的服务器发的所有请求都是以A用户的身份进行的, 这将导致CSRF问题那为啥只能指定一个呢???...原创 2020-07-19 17:50:43 · 22298 阅读 · 3 评论 -
spring boot access_log 配置
server.tomcat.basedir=.server.tomcat.accesslog.enabled=trueserver.tomcat.accesslog.directory=logsserver.tomcat.accesslog.pattern=%t %h %r%q %s %b %D设置base dirbaseDir + 相对路径确定access log file...原创 2020-01-17 17:47:45 · 617 阅读 · 0 评论 -
maven 编译时指定多个source
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <...原创 2019-11-05 13:13:59 · 1027 阅读 · 0 评论 -
String.split不用正则的情况
/* fastpath if the regex is a (1)one-char String and this character is not one of the RegEx's meta characters ".$|()[{^?*+\\", or (2)two-char String and the first char is the backslas...原创 2018-08-13 16:49:50 · 1281 阅读 · 0 评论 -
打印初始参数
-XX:+PrintFlagsInitial原创 2019-04-19 22:13:26 · 118 阅读 · 0 评论 -
spring为mapper生成一个单例FactoryBean
class: org.mybatis.spring.mapper.ClassPathMapperScannerprivate void processBeanDefinitions(Set<BeanDefinitionHolder> beanDefinitions) { // beanDefinitions 就是扫描出来的Mapper接口bean定义 GenericBea...原创 2019-05-09 19:14:52 · 875 阅读 · 0 评论 -
Null陷阱
public class Null { public static void g() { System.out.println("hello, world"); } public static void main(String[] args) { Null x = null; ...原创 2019-05-10 11:04:39 · 582 阅读 · 0 评论 -
线程池默认异常处理会打到控制台上
原创 2019-06-22 22:52:20 · 355 阅读 · 0 评论 -
mybatis通过注解打印日志 与Spring boot集成
我们的目的是通过在mapper方法上打注解@SqlLog来判定sql需不需要打印首先定义一个注解, 可以打在方法上, 也可以打在类上, 来判定是否打印, 方法上具有更高优先级/** * @author npj * @date 2019-08-02 * 打印sql */@Target({ElementType.TYPE, ElementType.METHOD})@Retention(...原创 2019-08-04 13:54:37 · 654 阅读 · 0 评论 -
@RequestParam 参数偶尔丢失
改动过一版代码之后, 发现@RequestParam注解的参数经常丢失.首先确认前端确实把参数传过来了,用curl直接请求接口, 发现有时候会出现参数丢失, 重启后再用curl请求某个都是参数的接口, 无论怎么重试都不会有问题.没办法了, 只好去跟tomcat的源码, 因为@RequestParam的参数会从request.getParameterMap()方法里取对应的值, 然后打个断...原创 2019-08-11 00:10:57 · 3337 阅读 · 2 评论 -
maven生命周期
https://maven.apache.org/ref/3.6.1/maven-core/lifecycles.html原创 2019-08-28 10:31:59 · 63 阅读 · 0 评论 -
spring boot url中含有中括号报400
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;import org.springframework.boot.web.server.WebServerFactoryCustomizer;import org.springframework.boot.web.servlet.se...原创 2019-09-17 21:52:07 · 3699 阅读 · 0 评论 -
Java Web打印request body
默认的ServletInputStream不支持reset,所以默认的流只能读取一次,但是如果我们要打印body就需要读取inputStream,这会导致Spring无法读取body体,所以通过HttpServletRequestWrapper包装重新定义getInputStream(),让输入流从我们读出来的body体中读取数据。@Slf4jpublic class RequestWrapp...原创 2019-03-18 09:51:18 · 3111 阅读 · 0 评论 -
Spring boot 统一处理Filter异常
由于Filter异常Spring MVC无法进行统一处理,所以需要手动处理一下异常定义一个Filter,这个Filter位于所有Filter的最前面,当其他Filter发生异常,捕获异常栈,然后转发到ErrorController@Slf4jpublic class ExceptionFilter implements Filter { @Override public vo...原创 2019-03-18 09:39:15 · 8778 阅读 · 10 评论 -
zk curator-recipes分布式锁InterProcessMutex详解
public class Lock { public static void main(String[] args) { CuratorFramework client = CuratorFrameworkFactory.newClient("127.0.0.1:2181", new RetryOneTime(1000)); client.start()...原创 2018-10-11 19:53:41 · 2696 阅读 · 0 评论 -
Tomcat JUL日志配置文件
${catalina.base}/conf/logging.properties# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for ...原创 2018-09-06 13:51:48 · 798 阅读 · 0 评论 -
从Spring集成mybatis了解Spring事务
Spring集成mybatis配置<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" p:dataSource-ref="dataSource" p:configLocation="classpath:SqlMapConfig.xml" ...原创 2018-09-03 21:01:38 · 1898 阅读 · 1 评论 -
2. Tomcat之catalina.sh和setclasspath.sh
#setclasspath.sh# 如果JAVA_HOME和JRE_HOME都没有设置if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then # 如果是mac if $darwin; then # Bugzilla 54390 if [ -x '/usr/libexec/java_home' ] ; then exp...原创 2018-09-08 23:44:08 · 1306 阅读 · 0 评论 -
1. Tomcat之startup.sh
#判断操作系统os400=falsecase "`uname`" inOS400*) os400=true;;esac# 取脚本名称PRG="$0"# 判断是否是软连接while [ -h "$PRG" ] ; do # 查看脚本信息 ls=`ls -ld "$PRG"` # 获取真实脚本路径 link=`expr "$ls" : '.*-> \(.*\..原创 2018-09-08 21:15:38 · 532 阅读 · 0 评论 -
日志重复打印增加additive参数
for (Logger l = this; l != null; l = l.parent) { writes += l.appendLoopOnAppenders(event); if (!l.additive) { break; }}原创 2018-09-05 15:06:48 · 553 阅读 · 0 评论 -
Jdk8中的函数式编程接口类型
流继承关系, DoubbleStream IntStream LongStream是针对于基本类型double int long,其他基本类型没有对应的流1. 谓词接口 接受一个T 返回boolean有Predicate<T> IntPredicate LongPredicate DoublePredicatePredicate 除了有谓词的意思,还有断...原创 2018-07-20 16:38:27 · 2088 阅读 · 0 评论 -
spring Cannot load JDBC driver class '${DRIVER}' 问题
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:sqlSessionFactory-ref="sqlSessionFactory" p:basePackage="hx.nan.dao"/>由于MaperScannerConfigrer会提前初始化sqlSessionFacto原创 2016-10-22 18:18:11 · 621 阅读 · 0 评论 -
Java中内部类揭秘(一):外部类与非静态内部类的”相互可见性“
转载自:http://www.2cto.com/kf/201405/304482.html我们都知道,非静态内部类可以访问外部类的私有成员(包括私有变量和方法),这也正是使用非静态内部类与普通类的一个重要区别:非静态内部类是依赖于外部类对象而存在的,这种依赖就包括它要能自由地访问外部类对象的所有成员(因为private成员都可以访问了,其他权限的成员更不在话下。不过一般来说一个内部类只会访转载 2016-05-09 14:23:52 · 460 阅读 · 0 评论 -
Web工程目录和tomcat目录
转载自:http://blog.163.com/love_wangchao/blog/static/212519308201371114131695/在Eclipse中只要创建一个Dynamic Web Project,就可以根据创建向导创建出一个典型Java Web站点的目录结构。除非有特殊需要,在大多数情况下都没有必要修改这个目录结构,这也是Web容器的缺省目录结构,我们只转载 2016-04-16 20:17:42 · 511 阅读 · 0 评论 -
HttpClient 教程
前言超文本传输协议(HTTP)也许是当今互联网上使用的最重要的协议了。Web服务,有网络功能的设备和网络计算的发展,都持续扩展了HTTP协议的角色,超越了用户使用的Web浏览器范畴,同时,也增加了需要HTTP协议支持的应用程序的数量。尽管java.net包提供了基本通过HTTP访问资源的功能,但它没有提供全面的灵活性和其它很多应用程序需要的功能。HttpClient就是转载 2016-04-16 15:10:54 · 406 阅读 · 0 评论 -
java解析XML Node与Element的区别
对Element和Node有困惑是因为对xml整个结构不了解,以下作为一个简要概述:原创 2016-04-12 21:31:58 · 7763 阅读 · 1 评论 -
Java按值传递
http://www.javadude.com/articles/passbyvalue.htm原创 2018-11-07 15:31:06 · 120 阅读 · 0 评论 -
Mybatis代码简单生成 maven插件
git地址:https://github.com/563809169/mgen原创 2019-03-20 18:05:52 · 81 阅读 · 0 评论 -
spring 统一处理包装返回值为Result, 并打印
@Slf4j@ControllerAdvicepublic class JsonResponseBodyAdvice implements ResponseBodyAdvice<Object> { @Override public boolean supports(MethodParameter returnType, Class<? extends Htt...原创 2019-03-08 14:25:46 · 2987 阅读 · 0 评论