自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 配置nginx解析https

注意:在生产环境中,您还需要获取一个有效的 SSL 证书,并将其安装到 nginx 服务器上。SSL 证书可以由认证机构(CA)颁发,并用于验证您的域名和服务器的真实性。在 nginx 服务器上生成一对公钥和私钥。您可以使用 openssl 工具生成这对密钥。将公钥和私钥放在 nginx 服务器的某个位置,例如 /etc/nginx/ssl/。在 nginx 配置文件中配置 HTTPS 服务器。

2023-03-13 16:53:00 366

原创 Spring Boot 版本升级2.2.11.RELEASE至2.7.4

项目更新spring-boot-starter-parent 主依赖,导致项目跑不起了日志也没有输出有用信息,自己查看源码调试启动入口打断点,一步步进入方法定位项目停止代码我的项目执行到SpringApplication.class 的152行代码会停止项目。

2023-02-27 16:24:48 1656 1

原创 jvm监控进程内存分布

jmap -histo:live 14894 | head -50 jvm 存活的实例对象 前50个。jmap -dump:live,format=b,file=heapDump.hprof 14894 输出成分析文件。jmap -histo:live 14894 >> heap.txtjvm 存活的实例对象 输出成文件。jstat -gcutil 14894 1000 -1jvm 内存分布%线上经常内存爆满,导致设备掉线,进行排查。

2023-02-20 10:29:44 347 1

转载 订单超时怎么处理?我们用这种方案

原创黄晓萌(学仁)发表于浙江背景在企业的商业活动中,订单是指交易双方的产品或服务交易意向。交易下单负责创建这个交易双方的产品或服务交易意向,有了这个意向后,买方可以付款,卖方可以发货。在电商场景下,买卖双方没有面对面交易,许多情况下需要通过超时处理自动关闭订单,下面是一个订单的流程:如上图所示,一个订单流程中有许多环节要用到超时处理,包括但不限于:买家超时未付款:比如超过15分钟没有支付,订单自动取消。商家超时未发货:比如商家超过1个月没发货,订单自动取消。

2023-02-16 15:58:32 263 1

原创 feign发送请求,请求参数中使用@JSONField,在fastjson1.2.83版本中无效;导致参数驼峰转换不了下划线

起因:Fastjson官方发布公告称在1.2.80及以下版本中存在新的反序列化风险,在特定条件下可绕过默认autoType关闭限制,从而反序列化有安全风险的类,攻击者利用该漏洞可实现在目标机器上的远程代码执行。所以被调用方升级到了1.2.83版本,导致以前使用实体对象参数的驼峰自动转换不了下划线。@JsonProperty("login_id"),但是我这边还需要将。尝试使用@JSONField,还是不行。Fastjson升级到一样的1.2.83。版本才行,低版本尝试了不行。网上找了几种方法也是不行。

2023-02-14 09:26:33 960 1

原创 org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test)

可以尝试使用:Skip Tests。maven 打包问题。

2023-02-06 17:51:36 620 1

原创 统计request、response通过网络传输的实际流量

公司项目使用spring boot,默认使用tomcat容器,而HttpServletRequest、HttpServletResponse中最低层都有以上的类,org.apache.coyote.Request.getBytesRead()和org.apache.coyote.Response.getBytesWritten(true)就可以获取对应的读/写字节数,之后再计算下头的长度就可以了。...

2022-08-29 11:41:49 356 1

原创 jmx agent 项目研究之使用jconsole连接

通过属性就可以查看 PdhNetworkInterfaceMetrics 的各项信息,点击刷新各项数据更新,但是点击间隔不同,数据差异较大,对接使用应该要1秒刷新。以上就可以看到windows下的各种信息, 现在主要看看NetworkInterfaces。首界面可以看到堆内存、线程数、类加载数、cpu占用率等信息,但是不是我现在研究的东西。然后在远程连接处,填入自己跑起来的jmx服务地址进行连接。会有安全连接失败提示,不用理会,点击。首先得知道自己的jmx服务地址。jmx的内容在MBean中。...

2022-08-08 10:43:40 176 1

原创 maven-compiler-plugin:3.8.1:compile (default-compile) on project metrics-api: Fatal error compiling

maven 打包报错<release>8</release> 把这个注销掉就可以了然后再出现另一个问题:Error:(29,32) java: -source 1.6 中不支持方法引用 jdk版本不对,而且这次研究的项目只能使用1.8,项目地址:GitHub - OctoPerf/jmx-agent: Collects Operating System performance metrics and exposes them through JMX.添加...

2022-08-06 11:21:20 3357 1

原创 linux常用命令

jmap-histolive[pid]|head-50jvm存活的实例对象前50个。jmap-histolive[pid]>>heap.txtjvm存活的实例对象输出成文件。jstat-gcutil[pid]1000-1jvm内存分布%cat-nnohup.out|grep'搜索内容'-C20行。du-h[目录名]查看指定文件夹下的所有文件大小(包含子文件夹).........

2022-07-26 16:20:00 213 1

原创 nohup 输出日志分割

nohup java -jar ./xxxxx.jar &linux下后台运行自己部署的jar包项目,日志会输出到当前目录下的nohup.out文件中但是nohup.out日志文件会越来越大,特别是这次客户端无限重连,导致日志文件一天暴涨几十个G,但是又不能删除,只能重启服务的间隙删除日志文件。这次用Linux自带的定时任务执行分割日志的sh文件......

2022-07-11 11:41:18 5220 1

原创 mongodb 操作

mongo

2022-06-24 16:22:09 137 1

转载 git 使用技巧

前言使用 Git 作为代码版本管理,早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送,遇到一些commit管理的问题就束手无策,或者用一些不优雅的方式解决。本文分享我在开发工作中实践过的实用命令。这些都能够大大提高工作效率,还能解决不少疑难场景。下面会介绍命令,列出应用场景,手摸手教学使用,让同学们看完即学会。stash描述官方解释:当您想记录工作目录和索引的当前状态,但又想返回一个干净的工作目录时,请使用git stash。该命令将保存本地修改,并恢复

2022-04-07 14:58:32 153 1

原创 int(num) + zerofill 实现了字段不足4位补0

CREATE TABLE `test` ( `id` int(6) unsigned zerofill NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;方便用于一些格式化的编号数据存储,001、002、003等。不用自己处理,存储上也不会被限制,实际存储的还是1、2、3,只是显示上会补0.不过int(num),需要 zer...

2022-02-15 17:05:29 586 1

原创 mybatis 打印完整的执行sql

package com.mips.sql;import org.apache.ibatis.executor.parameter.ParameterHandler;import org.apache.ibatis.plugin.*;import org.springframework.stereotype.Component;import java.lang.reflect.Field;import java.lang.reflect.InvocationHandler;import ja.

2021-05-27 18:43:32 2563

原创 idea 插件

1、Code With Me idea专用远程界面或控制插件,远程写代码更方便。3、Free MyBatis plugin mapper.xml文件与持久层接口映射插件。2、All Format 各种代码、字符串格式化插件。8、Alibaba Java Coding Guidelines 阿里代码规范审查插件。6、RestfulTool 控制层接口查询插件。

2021-05-27 14:25:28 192 1

原创 linux jar启动与停止脚本 .sh

启动:创建文件: start.shrm -rf ./nohup.out && sh ./stop.sh && nohup java -jar lock.jar --spring.profiles.active=test &停止:创建文件: stop.sh#!/bin/bashPID=$(ps -ef | grep lock.jar | grep -v grep | awk '{ print $2 }')if [ -z "$PID" ]t.

2021-04-29 17:41:53 358 1

原创 volatile与synchronized的区别

1、volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好;volatile只能修饰变量,而synchronized可以修饰方法,代码块。随着JDK新版本的发布,synchronized的执行效率也有较大的提升,在开发中使用synchronized的比率还是很大的。2、多线程访问volatile变量不会发生阻塞,而synchronized可能会阻塞。3、volatile能保证数据的可见性,但是不能保证原子性;而synchronized可以保证原子性,也可

2021-03-03 11:15:04 5798

原创 类加载器

1、什么是类加载器?专门负责加载类的命令/工具。ClassLoader2、JDK中自带3个类加载器启动类加载器:rt.jar扩展类加载器:ext/*.jar应用类加载器:classpath3、加载过程比如string.class首先通过“启动类加载器”加载。注意:启动类加载器专门加载:jdk\jre\lib\rt.jarrt.jar中都是JDK最核心的类库。如果通过“启动类加载器”加载不到的时候,会通过“扩展类加载器”加载。 注意:扩展类加载器专门加载:jdl\jre\lib\ext

2021-02-26 17:05:44 79 1

原创 Linux文件空间大小查询

du -sh * 将当前文件下的空间归纳统计

2021-02-25 18:06:38 95

原创 多线程

1、什么时候数据在多线程并发的环境下会存在安全问题? 三个条件: a:多线程并发 b:有共享数据 c:共享数据有修改的行为 满足以上三个条件之后,就会存在线程安全问题。 2、如何解决线程安全问题呢? 线程排队执行(不能并发)。 用排队执行解决线程安全问题。 这种机制被称为:线程同步机制。 3、jav...

2021-02-25 16:08:55 59

转载 解决:jsp、html使用window.open()打开新页面被拦截的问题

问题:jsp页面中使用window.open()新开页面显示:The HTTP request is not acceptable for the requested resource解决:<meta name="referrer" content="no-referrer" />参考:https://blog.csdn.net/XuM222222/arti...

2020-02-05 15:21:21 1011

原创 使用dom4j解析xml

1 使用dom4j解析xml1.1 基本步骤1.读取xml,得到Document对象2.从Document里得到根节点对象3.遍历dom树,找需要的标签4.得到标签上的数据:属性值、标签体1.2 相关的类 解析器:读取xml的,得到Document对象 SAXReader:使用sax方式读取xml,最终构建一棵dom树 DOMReader:使用d...

2020-01-03 15:17:09 167

转载 基于Docker的Mysql主从复制搭建

基于Docker的Mysql主从复制搭建为什么基于Docker搭建?资源有限 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相互独立,有独立ip,互不冲突 Docker使用步骤简便,启动容器在秒级别利用Docker搭建主从服务器首先拉取docker镜像,我们这里使用5.7版本的mysql:do...

2019-11-06 11:18:39 66

原创 bat 执行完命令不关闭窗口

效果:之后可以继续输入命令比如 neo4j stop

2019-10-18 11:18:59 3779 1

原创 解决生成文件中文乱码(阿里代码规范插件导出html乱码)

使用notepad++转换文件编码后,保存后再打开文件

2019-10-17 17:54:19 1962

原创 qrcode.js 前端生成二维码

<html lang="cn"><head> <meta charset="UTF-8"> <title>生成二维码-入门</title> <script src="plugins/qrcode.min.js"></script></head><body>&...

2019-08-02 15:00:17 375

原创 vue {{}}中小数保留几位小数的toFixed(小数位数)方法

2019-07-31 08:40:17 5030

原创 前端url 传参数 中文乱码

前端业务场景:一个页面需要携带参数跳转到另一个页面,比如前端欢迎页面的搜索按钮,点击后需要携带搜索参数到搜索页面。问题:传参过程参数会编码,英文或数字没有问题,就是中文会乱码解决:接受的参数,使用decodeURI()转换回原本的数据。...

2019-07-22 20:53:22 1764

原创 ELementUI select多选下拉框获取选中项的全部属性

原版:<template> <el-select v-model="value1" multiple placeholder="请选择">//multiple 多选,去掉就是单选 <el-option v-for="item in options" //循环添加下拉选项,options数据源遍历对象,item数据源中的元素 ...

2019-07-13 15:38:32 14079 4

原创 设置idea module 默认工作目录

设置idea module 默认工作目录 参数:$MODULE_WORKING_DIR$$MODULE_WORKING_DIR$ 也可以从下面图上找到

2019-07-09 21:28:29 7706

原创 ElasticSearch 修改mapping类型或不停机重建索引

使用ElasticSearch时,有可能创建映射(mapping)类型错误,需要修改mapping类型,但是ElasticSearch不支持直接修改mapping,需要重建索引,进行数据迁移。直接修改mapper的异常:解决方案:重建索引新建一个索引,mapping除了要修改的地方,与原索引一致。之后迁移数据,ElasticSearch有自带的api。如果项目已部署上线,想...

2019-07-08 10:19:41 2951

转载 关于Java的File.separator

File file=new File(); 这句是新建一个文件。file.separator这个代表系统目录中的间隔符,说白了就是斜线,不过有时候需要双线,有时候是单线,你用这个静态变量就解决兼容问题了。在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。比如说要在temp...

2019-06-28 19:46:54 130

原创 mysql 计算字段/字段(百分比)

round( 字段 / 字段 , 保留小数位数)注意: COUNT(p.id)/c.sum 计算时,不能使用别名代替,否则报错(全部数学运算都是)select COUNT(p.id) as package_count, c.sum, ROUND(COUNT(p.id)/c.sum,3) as proportionfrom t_order o, t_package p,...

2019-06-28 17:12:59 16135

原创 权限控制-表结构

权限控制所需的基本表结构认证:系统提供的用于识别用户身份的功能,通常提供用户名和密码进行登录其实就是在进行认证,认证的目的是让系统知道你是谁。授权:用户认证成功后,需要为用户授权,其实就是指定当前用户可以操作哪些功能。 标定权限 标定添加套餐需要管理员的权限, 用户登陆后,给用户标定对应的角色 授权 认证过程:只需要用户表就可以了,在用户登录时可以查询...

2019-06-26 20:13:45 1849

原创 idea快捷键(收集)

Ctrl + Alt +M 快速抽取代码新建方法Alt+Enter 导入包,自动修正代码Ctrl+Y 删除光标所在行Ctrl+D 复制光标所在行的内容,插入光标位置下面Ctrl+Alt+L 格式化代码Ctrl+/ 单行注释Ctrl+Shift+/ 选中代码注释,多行注释,再按取消注释Alt+Shift+上下箭头 移动当前代码行Alt+Ins 自动生成代码,toStr...

2019-06-23 20:01:03 99

原创 Hibernate Validator 后台校验插件的使用

Hibernate Validator 实现了javax.annotation.contraint JSR303使用环境:ssm使用步骤:1. 在pom.xml添加依赖 5.4.1.Final<dependency> <groupId>org.hibernate</groupId> <artifactId&...

2019-06-23 17:29:30 397

转载 mvc:annotation-driven 的作用

<mvc:annotation-driven /> 会自动注册RequestMappingHandlerMapping、RequestMappingHandlerAdapter 与xceptionHandlerExceptionResolver 三个bean。还将提供以下支持: 支持使用 ConversionService 实例对表单参数进行类型转换; 支持使用...

2019-06-23 17:02:12 3151

原创 全局异常处理(简单模板)

注意:使用时,该类要和controller直接放在同一个包中,否则不起作用,原因暂时未知(各位大神如果知道,望告知,谢谢)使用:使用时也可以自定义异常类,处理要特殊处理的情况import com.itheima.entity.Result;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.spri...

2019-06-22 11:26:15 310

原创 使用=log4j=打印日志

这是记录log4j的使用技巧,该类不能运行使用:在要打印日志的类中,创建日志对象,在想打印日志的地方插入log的方法import org.slf4j.Logger;import org.slf4j.LoggerFactory;//导包注意不是log4j,是slf4jpublic class LogDemo { //创建日志对象,使用日志 private st...

2019-06-22 10:49:53 256

高德城市编码sql文件

使用高德天气查询,将城市编码表excel解析存入mysql,整理的数据,并将中文名转化拼音

2023-07-25

netty+redis的rpc client server

netty编写的服务端和客户端 redis作为注册中心,与业务中心互相订阅通信,单节点/集群 可以打包jar单独运行,也可以作为依赖jar引入项目 使用kryo/protostuff两种序列化协议 使用random/round两种负载均衡算法 请先看看README.md

2023-03-01

Java面试手册.pdf

Java面试手册.pdf

2023-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除