- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 sun.security.validator.ValidatorException
Java在访问不受信任的https网站时,会报错:PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target, 这是因为JVM 默认信任证书中不包含目标网站的SSL证书,导致无法建立有效的信任链。执行 keytool 命令后,会提示是否信任此证书,输入“是” ,回车确认。
2024-02-28 15:12:56
654
转载 Linux服务器上tomcat进程突然终止(进程莫名消失)问题排查
Linux有这个特性:OOM Killer,一个保护机制,用于避免在内存不足的时候不至于出现严重问题,把一些无关的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内存不足情况,不过这种保护是有限的,不能完全的保护进程的运行。由于运行tomcat的是个人的服务器或测试服务器,配置较低,因此出现内存不足的情况。查询tomcat的catalina.out日志,未发现有终止的日志,比如。oom-kill之后,就是解释那个被killed的程序的pid和uid。
2024-02-20 14:57:39
1185
1
原创 SpringCloud- Gateway+Security+Oauth2
一、auth服务使用keytool生成RSA证书jwt.jks,复制到resource目录下,在JDK的bin目录下使用命令:keytool -genkey -alias jwt -keyalg RSA -keystore jwt.jks1、创建UserServiceImpl类实现Spring Security的UserDetailsService接口,用于加载用户信息;2、添加认证服务相关配置Oauth2ServerConfig,需要配置加载用户信息的服务UserServiceImpl..
2022-05-18 11:00:08
1594
原创 SpringCloud- Gateway
1、用Nacos作为配置和服务中心,搭建一个GateWay <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.0.RELEASE</version> &l....
2022-05-18 09:59:05
179
原创 Elasticsearch安装(Linux版)
一、下载&安装1、现在linux上建立一个目录,用来保存elasticsearch安装包 mkdir /usr/local/tools/elasticsearch2、进入/usr/local/tools/elasticsearch目录,下载安装包wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-linux-x86_64.tar.gzhttps://artifacts.ela..
2021-09-16 10:09:12
1385
转载 redis集群搭建及启动、停止、重启操作【转】
redis版本:redis-5.0.3.tar.gz操作系统:完全新安装的centos7.6系统使用一台虚拟机模拟6个redis节点,3个master,3个slave,虚拟机IP为192.168.220.11和使用不同的IP创建集群基本过程一致,为了方便,就不创建多个虚拟机了。开始搭建:yum install -y wget gcc systemctl stop firewalld.service systemctl disable firewalld.service
2020-05-13 15:49:51
3597
2
原创 shiro过滤原理。
项目中用了shiro很久了,但对于其执行原理一直没研究过。后来在项目中做防盗链功能时候,因为不能拦截被shiro认证的白名单接口,不得不研究了shiro源码。1、shiro首先是一个过滤器,filter基本功能肯定有。 我们知道filter最重要的一个接口是 void doFilter(ServletRequest request, ServletR...
2019-12-18 18:02:28
781
原创 Linux服务器出现:No space left on device的解决方法
tomcat服务器出现“No space left on device”错误。1、服务器磁盘不足,df -h 一下虽然只剩11g,还是可用的。2、df -i文件指针也正常3、 lsof | grep deleted另一种可能的情况,就是有些文件删除时还被其它进程占用,此时文件并未真正删除,只是标记为 deleted,只有进程结束后 才会将文件真正...
2019-11-26 08:09:58
5175
原创 定时删除tomcat日志
linux上的tomcat日志如果清理不及时,会造成硬盘空间不足,从而导致系统异常。1、编写sh文件#!/bin/bashferp_logs_path="/usr/local/tomcat/apache-tomcat-8.0.24-fwone-erp/logs"ferp_fwone_path="${ferp_logs_path}/fwone"central_logs_path="/u...
2019-08-09 16:33:12
781
原创 linux中的shell远程免密+传输文件
有两台linux服务器。1、本地linux2、阿里云linux: 账号:root ip:9.9.9.9 密码:123456想本地免密登录阿里云,按下面步骤:1、本地linux执行命令:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa这样本地的 /root/.ssh 下面就生成一对公钥和私钥2、通过scp命令 copy...
2019-04-25 09:56:35
749
原创 linux 运行/关闭jar 包
1. 在Linux中运行jar包: 直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉。 以下方法可让jar运行后一直在后台运行: java -jar XXX.jar & 问题:当前窗口不被锁定,输出的日志会显示在屏幕上,当关闭窗口的时候,实验之后并不会停止执行。2. nohup 不挂断运行的命令,当终端或者账户关闭的时候,程序...
2019-03-12 12:07:41
9666
1
原创 spring上下文
应用上下文即是Spring容器抽象的一种实现;而我们常见的ApplicationContext本质上说就是一个维护Bean定义以及对象之间协作关系的高级接口。额,听起来是不是很抽象拗口?那你再读一遍呢。。。这里,我们必须明确,Spring的核心是容器,而容器并不唯一,框架本身就提供了很多个容器的实现,大概分为两种类型:一种是不常用的BeanFactory,这是最简单的容器,只能提供基本的DI功能;...
2019-02-12 10:26:05
21523
1
原创 shiro的权限认证
用了shiro很长时间了,经常在controller的某个方法前加上注解: @RequiresPermissions("xx:xx"),就可以试用shiro的权限认证。现在想研究下spring是如何调用这个过程的.1、public class AopAllianceAnnotationsAuthorizingMethodInterceptor extends Anno...
2019-01-23 17:21:39
403
原创 mysql死锁怎么解决
1,查看数据库的隔离级别:mysql> select @@tx_isolation;2,去查看先当前库的线程情况:mysql> show processlist;没有看到正在执行的慢SQL记录线程,再去查看innodb的事务表INNODB_TRX,看下里面是否有正在锁定的事务线程,看看ID是否在show full processlist里面的sleep线程中,...
2019-01-07 17:07:16
32029
4
原创 1.8中hashmap和concurrenthashmap的size方法实现原理
前言:HashMap数据结构 说明:上图很形象的展示了HashMap的数据结构(数组+链表+红黑树),桶中的结构可能是链表,也可能是红黑树,红黑树的引入是为了提高效率。所以可见,在分析源码的时候我们不知不觉就温习了数据结构的知识点,一举两得。1、先看看hashmap中一些重要属性的定义 /** * 初始默认容量16(必须为2的幂次方) */ ...
2018-12-29 14:10:37
3624
转载 java1.8内存模型
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出S...
2018-12-25 15:13:21
1201
转载 docker 镜像下安装Vim
首先,进入docker镜像 #进入镜像命令 docker exec -it 镜像Id或镜像name /bin/bash 在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示: Reading pack...
2018-11-09 09:38:38
3551
转载 docker部署nginx并且挂载文件夹和文件
转载来源:https://blog.youkuaiyun.com/qq_26614295/article/details/80505246这段时间在研究docker,在部署nginx时遇到了坑,最主要的问题是在挂载文件和文件夹的时候不知道怎么挂载,经过反复实验以及查看网上的教程,先总结如下:1首先pull下载nginx镜像包docker pull nginx2(关键)查看nginx镜像里面配置...
2018-11-09 09:13:12
1549
转载 nginx参数详解
nginx启动和配置1.命令行参数-c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的。路径应为绝对路径-t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。-v 显示 nginx 的版本。-V 显示 nginx 的版本,编译器版本和配置参数。2.启动,重启和关闭...
2018-11-08 14:51:46
1004
转载 linux上安装svn
第一步:通过yum命令安装svnserve,命令如下:>yum -y install subversion此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行若需查看svn安装位置,可以用以下命令:>rpm -ql subversion第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)选择在var路径下创建版本库,当前处于根目...
2018-09-14 17:47:48
787
原创 悲观锁和乐观锁
1、悲观锁: 顾名思义,每次读取数据库的数据时,都假设会被它人修改,因此要加锁将数据锁住,防止被修改。 可以依靠数据库实现,如行锁、读锁和写锁等,都是在操作之前加锁,在Java中,synchronized的思想也是悲观锁。2、乐观锁总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断 其他线程在这之前有没有对数据进...
2018-09-14 11:21:57
157
转载 全面理解Java内存模型(JMM)及volatile关键字
转载地址:https://blog.youkuaiyun.com/javazejian/article/details/72772461
2018-07-05 16:05:12
164
原创 windows下更换jdk运行当前jar包处理命令一则
可在文本文档中新建以下内容 set JAVA_HOME=C:\jdk1.7.0_67set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOMe%\lib\tools.jar;set Path=%JAVA_HOME%\bin;java -jar test.jar
2018-07-04 19:47:46
2463
原创 springmvc整合redis
鉴于redis版本更新很快,网上的例子基本都是说版本。这里弄了一个比较新的配置redis方式。新版本的redsi配置基本都是构造函数注入。有兴趣的同学可以深入源码了解,这里只用了最简单的一种配置方式。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/...
2018-07-02 17:47:37
788
原创 java 调用 webservice
一、要学会看wsdl文件<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://sche
2018-06-14 10:02:21
170
原创 Quartz与SpringMVC的整合
前言: 要将quartz的任务持久化,能动态添加任务、修改任务、暂停任务、动态修改触发时间一、在pom文件中引入jar包<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <versi...
2018-05-15 11:56:24
1424
1
转载 Maven的继承以及import作用域
转载地址:https://www.cnblogs.com/techroad4ca/p/6512591.htmlMaven的pom文件中可继承的元素包括: groupId:项目ID,项目坐标核心元素 version:项目版本 description:描述信息 organization:组织信息 inceptionYear:创始年份 url:项目URL地址 developers:开发者信...
2018-03-21 15:19:27
869
转载 Maven POM中的各种scope的行为总结
转载来源:http://blog.youkuaiyun.com/cnweike/article/details/52221410 compile:默认的scope。任何定义在compile scope下的依赖将会在所有的class paths下可用。maven工程会将其打包到最终的arifact中。如果你构建...
2018-03-21 14:10:10
178
转载 JDK1.5-1.9新特性
1.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3.静态导入4.可变参数5.内省1.61.Web服务元数据2.脚本语言支持3.JTable的排序和过滤4.更简单,更强大的JAX-WS5.轻量级Http Server6.嵌入式数据库 Derby1.71,switch中可以使用字串了2.运用List<String> tempList = new ArrayList<&...
2018-03-15 09:57:31
252
转载 IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
转载地址:https://mp.weixin.qq.com/s/SxyCHOd71C5rEILiFooyQA Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今...
2018-03-08 09:25:38
296
原创 springmvc获取上下文ApplicationContext
1、可通过下面工具类获取package org.mvc.demo.utlis;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationCon
2017-11-28 15:19:53
8277
转载 druid简单介绍
java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘。接下来本教程就说一下druid的简单使用。 首先从http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包。如果想
2017-11-22 11:10:11
223
转载 Java反射
方法关键字含义Method[] getDeclaredMethods()获取所有的方法Class()获得方法的返回类型Class[] getParameterTypes()获得方法的传入参数类型getDeclaredMethod("方法名",参数类型.class,……)
2017-11-17 20:22:37
146
转载 Java同步注解(Annotation)解释
来源:http://blog.youkuaiyun.com/ustczyy/article/details/14105849JDK 5.0 以后增加了注解。就是@后面加一个名称。有其自身的含意。跟C#里的Attributes似的。 Java并发编程中,用到了一些专门为并发编程准备的 Annotation。主要包括三类:1、类 Annotation(注解)就像名字一样,这些注解是针
2017-11-15 09:41:53
254
转载 Spring的基础
1.简单的谈一下SpringMVC的工作流程?流程 1、用户发送请求至前端控制器DispatcherServlet 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、DispatcherServ
2017-11-14 10:10:39
214
转载 排序算法
1、冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。/** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一
2017-11-10 12:21:17
129
原创 java基础
1、面向对象的特性 抽象、 继承、多态、封装2、基本数据类型 8种。byte、short、int、float、double、char、boolean、long3、String 、StringBuffer、StringBuilder区别。 String 是字符串常量,指向的字符串内容不能改变 StringBuffer、StringBuild是字符串
2017-11-08 16:47:25
300
原创 java集合的体系结构
List、Set、Map是这个集合体系中最主要的三个接口。其中List和Set继承自Collection接口。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap集合比数组的优势:1. 集合可以存储任意类型
2017-11-08 16:22:10
372
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人