- 博客(46)
- 收藏
- 关注
原创 Waiting for table metadata lock
在正式环境中要在用户使用频率不高时执行DML、修改索引等操作,出现表锁只能手动kill掉,目前也没有其他很好解决方式。注意 innodb_lock_wait_timeout 的设置仅对innodb行级锁有效, 表级锁无效!
2024-07-12 17:41:14 224
原创 nginx: [warn] the “ssl“ directive is deprecated, use the “listen ... ssl“ directive instead in /
ssl_protocols:表示使用的TLS协议的类型,默认是TLSv1 TLSv1.1 TLSv1.2。# ssl_protocols:表示使用的TLS协议的类型,默认是TLSv1 TLSv1.1 TLSv1.2。# 指定启用的加密器类型,默认 ssl_ciphers HIGH:!# 指定启用的加密器类型,默认 ssl_ciphers HIGH:!# 指定服务端加密器优先: 参数为on开启,默认off关闭;# 指定服务端加密器优先: 参数为on开启,默认off关闭;# 指定 ssl 证书路径。
2023-04-03 11:46:47 5512 1
原创 nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:
configure arguments 中是否有 --with-http_ssl_module 模块。nginx缺少http_ssl_module模块。1.进入Nginx安装包解压后的目录。2.重新指定安装目录和安装模块。
2023-04-03 11:04:44 1721
原创 Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun
maven 打包 部署
2022-06-10 17:07:31 525
原创 java 枚举类遍历
创建枚举类public enum SerialNumberEnums { USABLE("待使用",1), OCCUPY("其他活动占用",2), USED("已经兑换",3); private String desc;//文字描述 private Integer code; //对应的代码 SerialNumberEnums(String desc, Integer code) { this.desc = desc; this.code = code; } publi
2022-05-12 16:18:58 5180
原创 join、inner join的区别
join= inner join= cross join(都可以使用ON过滤) left join=left outer join:左外连接 right join=right outer join:右外连接 full join=full outer join:全外连接(mysql不支持UNION代替) natural join: 自然连接(不能使用ON)...
2022-04-17 22:35:36 4263
原创 nodejs与npm版本不对应
查看node版本号node -v查看npm版本号npm -v两者对应关系参考:以往的版本 | Node.js根据node安装指定版本的npmnpm install -g npm@6.14.15直接更新到最新版npmnpm install -g npm
2022-01-11 11:48:14 1171
原创 Invalid character found in the request target .The valid characters are defined in RFC 7230 and RFC
问题:[https-jsse-nio-443-exec-9] INFO org.apache.coyote.http11.Http11Processor - Error parsing HTTP request headerNote: further occurrences of HTTP request parsing errors will be logged at DEBUG level.java.lang.IllegalArgumentException: Invalid charac
2022-01-11 11:20:02 381
原创 The request was rejected because the URL contained a potentially malicious String “%2e“
日志出现:[http-nio-80-exec-3] ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception org.springframework.security.web.firewall.RequestRejectedException: The request w
2022-01-11 10:38:59 4590
原创 jvm oom
jmap -histo <PID进程id> | head -20-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\study\log_hprof\java_MemoryError.hprof在线排查:arthas
2021-12-26 14:30:45 195
原创 什么是云原生?
什么是云原生?关于云原生的定义没有确切的定义,云原生一直在变化,解释权不归某个人或组织所有,未来还会变!那我们如何理解这云原生呢?通过下列介绍可以看到云服务提供商提供的功能越来越多,而软件开发者需要管理的功能越来越少,各种中间件、依赖的运行环境被下沉到基础设施中去了,一句话总结:应用原生被设计在云上以最佳方式运行,开发者无需关心其他与业务需求无关的技术实现!XaaS2000年前后得易于虚拟化和云计算技术的成熟云服务提供商平台陆续提出大量XaaS形式的概念:IaaS/PaaS/FaaS 等
2021-12-11 10:20:42 1838
原创 @Scheduled实现并发执行
Spring自带的任务调度-定时器是一个个执行的,同一个时间内最大有一个任务在执行!线程池实现多定时任务并发执行:import lombok.extern.slf4j.Slf4j;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.TaskSch
2021-11-02 14:28:44 684
原创 再见 spring-cloud-netflix !
北京时间 2020 年 12 月 22 日深夜,Spring Cloud 2020.0.0 版本正式发布。2020.0.0 是第一个使用新版本命名方案的发命名的 Spring Cloud 发行版本,SpringCloud 版本号起初均采用伦敦地铁站名称命名,如 Hoxton、Greenwich 等。这次发布全面抛弃了 Netflix 技术栈(Spring Cloud Netflix 进入维护模式将不会再向模块添加新功能和版本更新。只修复block级别的bug以及安全问题),但保留了Eureka、Op
2021-10-25 18:27:49 879
原创 如何提高接口性能
合并页面请求数量,减少调用服务次数前端不要轮询访问服务端接口(使用长连接处理)动静态资源分离(包含页面静态化)多级缓存技术(cdn,nginx缓存,redis缓存)减少前端传递参数 (减少网络传输压力和参数的解析计算成本)后端返回数据量较大时分批次返回数据(减少网络传输压力)传输较大文件数据时可以考虑增加网络带宽(增加网络传输性能)减少不必要的服务依赖合理规划功能服务之间的调用链路当业务需求不断增长服务硬件性能达到瓶颈时可进行水平拓展(负载均衡,集群)根据
2021-10-18 10:14:09 370
原创 多线程中的 并行与并发
并行:是CPU的不同核真正的在每个单位时间内处理线程中的业务逻辑(超线程技术使并行线程数在计算资源不互斥的情况下:核数 * 2)并发:是在一段时间内要处理的业务逻辑任务,CPU一会处理A线程一会处理B线程,线程不断切换处理,由于现代CPU计算能力都比较强处理速度极快,所以我们会感觉线程AB是一起处理的。以上就是就是并行与并发的区别,作为用户或软件开发者是无法感知,某个线程是否为并行执行还是并发执行?都是CPU内部元件来控制线程执行的!...
2021-10-15 14:37:56 395
原创 docker容器的系统
进入一个没有指定系统的docker容器查看:root@2285cc5cfce5:/# uname -r3.10.0-1127.19.1.el7.x86_64root@2285cc5cfce5:/# cat /etc/os-releasePRETTY_NAME="Debian GNU/Linux 8 (jessie)"NAME="Debian GNU/Linux"VERSION_ID="8"VERSION="8 (jessie)"ID=debianHOME_URL="http://w
2021-10-15 11:57:32 346
原创 什么是一级域名、二级域名?
顶级域名 : 又称一级域名也被叫做域名后缀一般分为三类: 国家顶级域名(例如 中国.cn 美国.us)、地区顶级域名/通用顶级域名(例如 .com代表商业机构、.net代表网络提供商、 .org表示非盈利组织的等)、新通用顶级域名(例如 .xyz、.top、.red等)二级域名:是在一级域名的基础上增加了域名主体,由两部分构成域名主体与一级域名之间用逗号分隔(例如: baodu.com)三级域名:是在二级域名的基础上增加了主机名(例如: www.baidu.com),原则上可以无限制自由添加...
2021-10-13 17:16:08 50198
原创 Navicat 安装配置
Navicat介绍Navicat Premium 15Navicat Premium 是一套多连接数据库开发工具,让你在单一应用程序中同时连接多达七种数据库:MySQL、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL,可一次快速方便地访问所有数据库。了解更多官方网址:http://www.navicat.com.cn/products腾讯微云工具下载:https://share.weiyun.com/56AbPU7t安装navicat P
2021-04-03 19:13:10 3667 1
原创 JVM日志配置
GC日志设定日志参数(找到tomcat的解压目录,进入bin文件夹,修改catalina.bat/sh),spring boot项目 jar 启动直接命令启动set "JAVA_OPTS=-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=20M -XX:+PrintGCDetails -XX:-PrintGCTimeStamps -Xloggc:D:\gc-%t.log"开启日志参数介绍-X
2021-03-21 13:29:50 1406 2
原创 RDB与AOF的优缺点
redis持久化RDB:是Redis DataBase缩写快照 ,是Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保 存到硬盘中,对应产生的数据文件为dump.rdb。通过配置文件中的save参数来 定义快照的周期。优点:只有一个文件 dump.rdb,方便持久化。容灾性好,一个文件可以保存到安全的磁盘。性能大化,fork 子进程来完成写操作,让主进程继续处理命令,所以是 IO 大化。使用单独子进程来进行持久化,主进程不会进行任何 IO 操作,保证了 redis 的高性
2021-03-03 17:46:30 790 3
原创 Swagger
Swagger介绍直接看官网介绍:https://swagger.io/导入依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> &l
2021-02-26 16:20:46 89
原创 文件大小与文件占用空间不一致
一个文件簇(逻辑概念):Chkdsk命令查看硬盘分区的簇大小相邻的扇区组合(2、4、8、16、32或64个扇区)一个扇区512字节=1k(4k对齐 --4k ,这里的k不是kb简称k)一个文件由多个簇组成,一个簇由多个扇区组成,所以文件使用大小与文件占用大小不一致...
2021-02-25 10:26:42 1294
原创 程序与多线程
程序?程序可以被执行的代码一个软件可以有多个进程进程与线程?一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。同样,每次执行JDK的java.exe程序,就启动了一个独立的Java虚拟机进程,该进程的任务是解析并执行Java程序代码。一个进程可以由多个线程组成,即在一个进程中可以同时运行多个不同的线程,它们分别执行不同的任务。当进程内的多个线程同时运行时,这种运行方式称为并发运行。Web服务器都支持并发运行,这些服务器能同时响应来自不同客
2021-02-25 10:20:47 112
原创 MySQL读取与写入时间的不一致----时区问题
排查问题:1、保证系统时间与世界标准时间同步并设置正确的时区下载ntpyum install ntp与系统时间同步ntpdate time.nist.gov设置成中国时区PRCcp /usr/share/zoneinfo/PRC /etc/localtime查看系统时间date2、MySQL与服务器系统时间是否一致select now();不一致的话,查看MySQL使用的时区show variables like '%time_zone%';- system_time_zon
2021-02-17 14:28:53 909 1
原创 docker基础命令
Docker的基本组成镜像(image): 镜像就像程序文件一样,一个程序可以实例化多个进程,而镜像可以实例化多个子线程对应容器容器(container): 一个容器可以独立运行一个或一组应用,通过镜像创建容器,每个容器之间彼此隔离,互不影响!容器可以通过命令启动、停止、删除仓库(repository): 存储镜像的地方有点代码托管平台gitee等,分为私有仓库和公有仓库,常见的docker仓库有: Docker Hub(国外) 、阿里云…等都有容器服务器Docker的运行原理[外链图片转存失败
2021-01-24 12:42:22 131
原创 基础类型与包装类
基础类型与包装类区别默认值不同: int的初值为0,Ingeter的初值为null; 数据类型不同: int是基本数据类型,Integer是引用数据类型(对象); 存储空间不同: 基本类型存储在栈里,包装类型存储在堆里;实际使用差异int a = 500;int b = 500;// true 只要有基础类型的比较就是值的对比(自动拆箱)System.out.println(a == b);Integer a1=500;Integer b1=500;// false 两个包装类比
2021-01-06 15:30:52 188 1
原创 Chrome安装vue应用调试工具: vue devtools
chrome商店直接安装打开chrome商店:https://chrome.google.com/webstore/ 搜索栏输入:vue-devtools (一般都会选择第一个添加到chrome) 浏览器url输入:chrome://extensions/ 进入拓展程序页面(选择刚刚安装的vue-devtools详细信息勾选启用允许访问文件网址 ) 将vue-devtools工具的mainfest.json配置文件中persistent修改成true浏览器url输入:chrome:vers...
2020-07-04 23:55:23 1338
原创 常量和常量池
字面量int a = 1; //这个1就是字面量。String a = "abc"; //a被称为(变量名、标识符、对象的引用),这个abc就是字面量。符号引用一个java类将会编译成一个class文件。在编译时,java类并不知道引用类的实际内存地址,因此只能使用符号引用来代替。比如org.simple.People类要引用org.simple.Tool类,在编译时People类并不...
2020-03-23 10:36:33 501
原创 java对象中的内容
普通对象 对象头:markword 8个字节 对象头含有:锁定对象信息 GC标记(分代年龄)只能用4bit最大表示15所以GC年龄默认为15 ClassPointer指针:-XX:+UseCompressedClassPointers 为4字节 不开启为8字节(不是OOPS指针) 实例数据 引用类型:-XX:+UseCompressedOops 为4字节...
2020-01-29 15:10:13 484
原创 Class文件在JVM中的执行过程
Class文件的执行:1、Loading(加载)→2、Linking(连接)→3、Initializing (验证)一、Loading:ClassLoader:负责载入系统的所有Resources(Class,文件,来自网络的字节流 等),通过ClassLoader从而将资源载入JVM中去运行。JDK中很多的类加载器,但他们作用范围不同各司其职执行时也分层级(不是继承关系)!但所有的...
2020-01-29 15:03:58 1667
原创 java的反射
什么是java反射?:JAVA反射机制是在运行状态中,通过ClassLoad加载类到JVM(动态加载机制、懒加载)的同时通过JDK中已经定义好的Class类(字节码文件对象)能够知道、操作这个类的所有属性、方法;Class文件对象的newInstance方法可以对某个类进行实例化生成对象,也能够获取它的任意方法和属性信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 ...
2019-12-23 18:42:23 120
原创 jvm
什么是jvm ?Java Virtual Machine(Java虚拟机)的缩写(1)jvm可以被当做一台被虚拟出来的计算机操作系统(有其自己的汇编语言----字节码)(2)jvm是一种规范,与具体的编程语言无关只关心.Class文件的执行(3)jvm也被成为“jvm平台”是因为据目前统计通过jvm实现跨平台的编程语言已经高达百种常见的几种jvm实现:(1)Hotspot...
2019-12-13 21:56:19 101
原创 浅谈java中的变量、静态变量、常量
对比项关键字变量静态变量static常量final(1)关于变量的详解请点击:变量详解在Java中共8中基础类型唯有boolean类型不可以转换为其他类型。以类型容量大小排名(其中byte,short,char三个运算后返回值为int类型,整型常量默认:int,实 型常量默认:double):byte,short,char...
2019-11-19 18:47:29 869
原创 浅谈负载均衡、分布式、服务器集群及系统架构演变
(1)、传统架构问题:传统架构当用户量较少时,并无问题。当遇到刚并发量访问时由于软件服务器(并发量问题)、操作系统(对线程数限制)、硬件性能(计算能力有限)等一系列问题不再能满足服务需求。(2)负载均衡、服务器集群为了提高软硬的性能,提出服务器集群概念(就是多台软硬件服务器协作运算),但由于网络IP地址与域名一一对应绑定又提出了负载均衡服务器,于是互联网系统架构变成下图结构...
2019-09-26 21:41:13 291
原创 动静态语句块
动态语句块是每次new对象时执行一次;而静态语句块是程序执行时首次加载类执行一次!不论是静态语句块还是动态语句块都会在构造方法前执行。class A{//动态语句块: {}}class A{//静态语句块: static {}}...
2019-08-11 18:35:28 217
原创 java的Class文件
ClassLoad类加载器:ClassLoader:负责载入系统的所有Resources(Class,文件,来自网络的字节流 等),通过ClassLoader从而将资源载入JVM中去运行。JDK中很多的类加载器,但他们作用范围不同各司其职执行时也分层级(不是继承)!但所有的类加载器都继承了ClassLoad这个类。ClassLoader 的等级加载机制:BootstrapClassLoad...
2019-08-11 18:27:58 220 1
原创 Java的异常
(1)异常类的分类:所有的异常类都继承自Throwable类(可被抛出的异常),Error 系统错误、Java JVM错误不能通过程序进行调试!Exception可以通过程序处理的异常!RuntimeException运行时频繁产生的错误可以不进行捕获。(2)抛出异常:代码段中用throw关键字抛异常,最后函数用throws关键字抛异常。要求函数抛出的异常与代码中的异常一致!...
2019-05-15 15:44:46 117
原创 抽象类与接口
(1)抽象类:作用: 抽象类就是用来被继承的,不可以被实例化!与抽象函数的关系: 抽象类可以不包含抽象方法, 但抽象方法一定得在抽象类中(使用abstract关键字声明)。用法: 抽象类中的抽象方法由可实例化的子类来实现!(2)接口:作用:Java可以多重继承但不能多继承,所以实现多接口了的机制!接口中的变量:声明的变量只能为(可以不写默认加上,解...
2019-05-11 08:44:39 84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人