java
蜗牛6662035
开发
展开
-
Swagger2用globalOperationParameters新增全局header参数Authorization
在前后端分离开发模式下,java服务端使用swagger为前端提供接口列表说明已经成为最佳实践,并且也可以用swagger作为服务端开发人员自测接口入口。由于大部分接口是需要登录鉴权才能通过的,此时在swagger提供一个通用的全局的token传输header参数,先调用登录接口,获取到登录token,用swagger自测时后续的接口再传该token参数,来通过服务端鉴权显得尤为必要。在 Swagger2 中,globalOperationParameters 可以用于在全局范围内设置操作参数。原创 2023-03-08 20:38:07 · 1872 阅读 · 0 评论 -
解决java发邮件错误javax.net.ssl.SSLHandshakeException: No appropriate protocol
java发送邮件时报错误信息:javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher原创 2022-11-22 12:13:08 · 2076 阅读 · 0 评论 -
解决发邮件错误javax.mail.MessagingException: Could not connect to SMTP host
用java实现发送邮件功能时报错javax.mail.MessagingException: Could not connect to SMTP host原创 2022-11-22 12:06:07 · 6880 阅读 · 1 评论 -
springboot项目rabbitmq消费者消费json格式的String,出现无限循环抛出No method found for class [B
spring-boot在集成rabbitmq时,rabbitmq消费者消费json格式的String,出现无限循环抛出org.springframework.amqp.AmqpException: No method found for class [B。参考 https://blog.csdn.net/ruoxiyun/article/details/90474516。注意:RabbitListener要放到方法上,如果放到类上,经测试containerFactory没起作用。...原创 2022-08-30 17:51:19 · 1320 阅读 · 0 评论 -
解决错误Algorithm constraints check failed on disabled algorithm: secp256k1
最近在用FISCO BCOS搭建私链来做项目,本地连我们自己搭建的测试环境FISCO BCOS时,报了些莫名其妙的错,连自己电脑搭建的一点也没问题,证书也都是按环境拷贝的;关键错误信息如下:Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Algorithm constraints chec...原创 2022-07-13 17:32:28 · 1531 阅读 · 3 评论 -
idea执行spring boot单元测试报错No tests found
idea执行spring boot单元测试junit报错No tests found for given includes点击单元测试使用了idea的按钮时候,idea默认使用了gradle的测试运行期,如果gradle的编译脚本没有进行相关配置,则会发生上述报错原创 2022-07-06 20:47:46 · 1369 阅读 · 1 评论 -
HashMap在并发下引起的死循环
问题的症状从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个问题在测试环境里可能很难重现。但是在这里我们可以来研究一下原因。Hash表数据结构HashMap通常会用一个指针数组(假设为table[])来做分散所转载 2020-10-10 10:49:20 · 285 阅读 · 0 评论 -
选择排序Java版代码
public class Test { /** * 选择排序 * * @param array */ public static void selectSort(int[] array) { if (array == null) { return; } int n = a...原创 2019-12-16 14:44:29 · 182 阅读 · 0 评论 -
插入排序java版代码
public class Test { /** * 插入排序 * * @param array */ public static void insertSort(int[] array) { int n = array.length; if (n <= 1) { return; ...原创 2019-12-11 14:16:02 · 175 阅读 · 0 评论 -
面试题:Spring中都用到了哪些设计模式?
Spring框架用到了很多设计模式,比如:工厂模式、单例模式、代理模式、模板模式、装饰器模式、责任链模式、观察者模式、策略模式、构建模式、原型模式、适配器模式等。工厂模式BeanFactory、ApplicationContext单例模式AbstractBeanFactory、DefaultSingletonBeanRegistrySpring依赖注入Bean实例默认是单例的,Sprin...原创 2019-10-21 10:35:44 · 505 阅读 · 0 评论 -
CentOS单机安装Redis Cluster(3主3从)
首先,本篇要基于单实例的安装,你的机器上已经有一个Redis请看上篇https://blog.csdn.net/xingxincsdn/article/details/102535723为了节省机器,我们直接把6个Redis实例安装在同一台机器上(3主3从),只是使用不同的端口号。机器IP 192.168.115.232创建6个节点目录cd /usr/local/soft/redis-5...原创 2019-10-13 19:02:24 · 245 阅读 · 0 评论 -
CentOS安装Redis单实例
1、下载redisredis官网:redis.io比如把Redis安装到/usr/local/soft/cd /usr/local/soft/wget http://download.redis.io/releases/redis-5.0.5.tar.gz2、解压压缩包tar -zxvf redis-5.0.5.tar.gz3、安装gcc依赖yum install gcc4...原创 2019-10-13 18:19:37 · 173 阅读 · 0 评论 -
HashMap面试题整理
一、谈一下HashMap的特性?1.HashMap存储键值对实现快速存取,允许为null。key值不可重复,若key值重复则覆盖。2.非同步,线程不安全。3.底层是hash表,不保证有序(比如插入的顺序)二、谈一下HashMap的底层原理是什么?基于hashing的原理,jdk8后采用数组+链表+红黑树的数据结构。我们通过put和get存储和获取对象。当我们给put()方法传递键和值时...转载 2019-10-11 17:55:44 · 282 阅读 · 0 评论 -
面试题:java中sleep和wait区别
面试题:java中sleep和wait区别1.根本区别sleep会释放cpu,但不会释放同步锁资源;wait不仅会释放cpu,还会释放同步锁资源;2.方法归属sleep是java.lang.Thread类中的方法;wait是java.lang.Object类中的方法;3.使用范围sleep可以在任何地方使用;wait只能在synchronized同步方法或同步代码块中使用;4....原创 2019-10-08 19:34:58 · 435 阅读 · 0 评论 -
修改Zookeeper输出日志 zookeeper.out输出路径
使用过zookeeper的小伙伴都知道,当前终端处于哪个目录,执行完zkServer.sh start命令, zookeeper.out就会写在哪个目录,下次想看zookeeper日志的时候,又忘记上次在哪执行的命令啦,这真的很蛋疼(虽然可以每次固定在某个目录执行),在多次痛苦之后,决定修改日志输出到固定目录,方便问题定位。查看bin目录下的zkEnv.sh找到了这一行,发现如果没有配置ZOO...转载 2019-10-04 22:04:02 · 770 阅读 · 0 评论 -
kafka集群搭建步骤
前提:1、准备3台linux虚机 2、已搭建zk环境以下是实操命令步骤一、下载kafka[app@kafkanode01 ~]$ mkdir kafka[app@kafkanode01 ~]$ cd kafka[app@kafkanode01 kafka]$ mkdir kafka-logs[app@kafkanode01 kafka]$ wget http://mirrors.hu...原创 2019-10-04 22:29:46 · 146 阅读 · 0 评论 -
jvm生成dump文件
JVM生成dump文件一般有两种方式一、 出现OOM时自动生成堆dumpJVM启动命令增加两个参数:-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/home/app/dumps/二、人工通过执行指令,直接生成当前JVM的dmp文件例如:jmap -dump:format=b,file=/home/app/testdump.hprof ...原创 2019-10-04 22:41:24 · 3068 阅读 · 0 评论 -
SpringBoot核心原理之自动配置AutoConfiguration
从@SpringBootApplication注解入手为了揭开SpringBoot的奥秘,我们直接从Annotation入手,看看@SpringBootApplication里面,做了什么?打开@SpringBootApplication这个注解,可以看到它实际上是一个复合注解@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNT...原创 2019-10-05 18:57:47 · 1010 阅读 · 1 评论 -
Markdown文章发布神器:一篇文章轻松发布10个平台
Markdown文章发布神器:一篇文章轻松发布到10个平台;地址:https://openwrite.cn/原创 2019-10-06 21:11:43 · 2371 阅读 · 0 评论 -
排查CPU或内存负载过高原因步骤
1、找到java进程pid ps -ef|grep 'java' 例如线程id是 22473;2、找到该进程耗资源最大的线程pid top -Hp 22473 例如线程id是 22490;3、打印出该线程id对应的16进制 printf "%x\n" 22...原创 2019-10-08 10:34:40 · 2890 阅读 · 0 评论 -
排查CLOSE_WAIT数量命令
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’netstat -n |grep ‘CLOSE_WAIT’原创 2019-10-08 10:50:08 · 2583 阅读 · 0 评论 -
查看tomcat进程启动了多少个线程
1、 获取tomcat进程pidps -ef|grep tomcat例如进程号是292952、 统计该tomcat进程内的线程个数ps -Lf 29295|wc -l原创 2019-10-08 10:55:40 · 2213 阅读 · 0 评论 -
java线程状态共6种
网上好多帖子把操作系统的线程状态跟java的线程状态混为一谈,导致误导了好多人;现在根据java的Thread类来分析java的线程状态;java.lang.Thread内部枚举State public enum State { NEW, RUNNABLE, BLOCKED, WAITING, ...原创 2019-10-08 19:02:01 · 163 阅读 · 0 评论 -
zookeeper集群搭建步骤
前提:准备3台linux虚机下面是实操命令步骤一、下载zk[app@zknode01 ~]$ mkdir zookeeper[app@zknode01 ~]$ cd zookeeper[app@zknode01 zookeeper]$ mkdir zkdata[app@zknode01 zookeeper]$ mkdir zkdatalog[app@zknode01 zookeepe...原创 2019-10-04 21:42:47 · 148 阅读 · 0 评论