自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 解决远程调用 ssl 证书认证问题

假如你的项目是 spring boot ,远程调用是 feign 组件的话,可以通过修改配置文件来跳过 ssl 证书校验。假如你的项目是 spring boot ,可以加入 跳过证书的 java 文件,其实就是创建一个 bean 对象。Java Compiler 及 Project Structure 下 jdk 的版本是否正确和你目录对应上。注意:需要把该文件放在 springboot 能扫描到的地方。打开 cmd , 按照自己的文件所在的目录进行导入命令执行。在 jdk 目录导入证书。

2023-12-23 13:31:29 717

原创 SpringCloud-Gateway 解决跨域问题

浏览器不能执行其他网站的脚本,是由浏览器同源策略限制的一类请求场景,从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。指一个域下的文档或脚本试图去请求另一个域下的资源。

2023-10-30 23:15:39 681

原创 SpringBoot 整合 Druild 数据源,详细步骤

文章目录一、Druid 数据源介绍二、整合步骤2.1、加入必须依赖2.2、配置文件三、整合中出现的问题一、Druid 数据源介绍Druid 是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池。具说 Druid 已经在阿里内部部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。另外 Druid 是阿里开发的号称为监控而生的数据库连接池!二、整合步骤2.1、加入必须依赖<dependency> <grou

2022-04-23 00:40:36 693

原创 Springboot 整合 jasypt 实现配置文件敏感信息加密,详细步骤

文章目录一、jasypt 加密介绍二、springboot 集成步骤2.1、使用 jasypt -spring-boot-starter2.2、启动类添加注解2.3、配置文件三、测试步骤3.1、添加加密后的属性配置3.2、添加测试解析类一、jasypt 加密介绍为什么要使用 jasypt 加密 ?在我们在配置中配置敏感信息的时候 , 要是被不友好的人看见了,就容易产生风险。这个时候就 需要把敏感信息加密。通过使用 Jasypt,我们可以为属性文件属性提供加密,我们的应用程序将完成解密并检索原始值

2022-04-20 12:16:27 4682

原创 SpringBoot 整合 liquibase 详细步骤

一、介绍LiquiBase 官方地址:http://www.liquibase.org/documentation/index.htmlLiquiBase 是一个数据库重构和迁移的开源框架,通过日志的方式来记录数据库的变更。通过执行日志文件中的修改,将数据库更新或回滚到达一致的状态。特点:支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等;支持多开发者的协作维护-协同日志文件支持多种格式,如XML, YAML, JSON, SQL

2022-04-19 15:50:00 3335

原创 Charles 安装及配置,详细步骤

一、安装激活1.1、下载https://www.charlesproxy.com/download/1.2、激活打开Charles ==> Help ==> Register Charles => 输入Registered Name : https://zhile.ioLicense Key:48891cf209c6d32bf4二、代理配置2.1、代理设置Proxy ==> Proxy Settings1.勾选 Enable tranaparent HTTP pr

2022-04-12 22:34:21 33687 9

原创 ElasticSearch 安装教程 , Centos7 系统

文章目录一、相关安装包下载一、创建普通用户二、上传相关压缩包、并解压三、修改配置文件3.1、使用 es 用户修改 elasticsearch.yml 配置文件3.1、使用 es 用户修改 jvm.option四、修改系统配置文件4.1 修改系统配置文件,解决启动时的问题4.1.1 普通用户打开文件的最大限制4.1.2 普通用户启动线程数限制4.1.3 普通用户调大虚拟内存五、启动 es 服务五、客户端 Kibana 安装一、相关安装包下载elasticsearch‐7.6.1‐linux‐x86_64.

2022-04-12 11:24:58 2504

原创 Java 通过序列号生成树形结构数据 [代码实现\可直接运行代码]

文章目录通过下面的序列号生成有层级关系的树形结构:代码实现通过下面的序列号生成有层级关系的树形结构: 代码实现import com.alibaba.fastjson.JSON;import lombok.Data;import org.apache.commons.collections4.CollectionUtils;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import jav

2022-02-12 18:26:05 845 9

原创 Redis 的键过期删除策略你知道吗 ?

文章目录Redis 的键过期删除策略你知道吗 ?一、常见的删除策略1.1 定时删除策略1.2 惰性删除策略1.3 定期删除策略二、redis 使用的删除策略2.1 惰性删除策略的实现方式2.2 定期删除策略的实现Redis 的键过期删除策略你知道吗 ?对于 redis 服务器来说,内存肯定很重要的,但如果有一些 key 不常用又一直不被删除,就会造成资源的浪费。一、常见的删除策略常见的三种删除策略如下:其中定时删除和定期删除属于主动删除策略,而惰性删除就被动性删除策略。1.1 定时删除策略在设

2022-02-02 16:56:35 1307

原创 Redis 能用在哪些场景下 ?

1、短信验证码把短信验证码存到 redis,给 redis 设置一个过期时间。key 过期就查不到数据,验证码自然就过期了。2、缓存热点数据热点数据:数据频繁被查询或被使用,对一致性要求很高的数据,不建议放在 redis里面,有可能会出现数据不一致的问题。3、分布式锁并发的时候,可能会出现线程不安全的情况,为了保证分布式情况下的串行执行。这个时候需要使用分布式锁,而 redis 的 setIfAbsent 指令就适合做这个锁。这个指令的意思就是不存在该 key,就成功,相反而知。大致流程:或

2022-02-01 14:46:30 1886

原创 单例模式有几种写法?需要注意什么?

单例模式有几种写法?需要注意什么?饱汉模式基础的饱汉模式写法饱汉模式基础的饱汉模式写法

2022-01-28 15:50:33 882

原创 @Transactional 事务失效的场景还不清楚 ?

一、事务的类型1、声明式事务2、编程式事务二、@Transactional 声明式事务的用法三、@Transactional 会造成失效的场景

2022-01-18 15:11:03 358

原创 Java 按天自增生成自定义 ID

Java 按天自增生成自定义 ID一天从1 开始自增到 9999,第二天又要重新从 1 开始生成 ,id 字符串会拼上年月思路:既然 id 需要拼上年月,我们可以考虑用 redis 的自增指令来实现,年月当 key ,自然到了第二天 key 就变了,所以自增又重新开始了。 public String method(){ //时间位 DateTimeFormatter DF_FMT_PREFIX = DateTimeFormatter.ofPattern("ddMM

2021-11-06 17:57:46 2071 1

原创 Java 随机生成 “纯数字“、“纯字母“ 、“数字字母混合“ ID 并保持全局唯一

随机生成 “纯数字”、“纯字母” 、“数字字母混合” ID并保持全局唯一一、随机生成纯数字ID /** * 随机生成字符,只有数字 * @param length id长度 */ public static String getNumber(Integer length) { String uid = ""; for (Integer i = 0; i < length; i++) { Strin

2021-11-06 15:17:54 5811

原创 Java 树形结构生成序号/编号

给一组树形结构生成以下编号。废话不多说,直接看代码例子。

2021-10-17 15:31:19 2924 3

原创 IDEA 2021.02.02 的版本,出现编译项目报内存溢出的问题

一、出现状况,在这个页面编译很久,过后直接报了个内存溢出的报错。二、解决方法分析情况,考虑到是项目大的情况,导致默认的内存不太够,需要加大一些。1、设置 idea 本身内存2、file > settings > compiler3、file > settings > Importing...

2021-09-26 10:24:54 3795

原创 Mysql 数据库执行计划 EXPLAIN SELECT * FROM

EXPLAIN SELECT * FROM 是干嘛用的 ?查询计划用的语句,主要用来检测 sql 的执行性能。例如:explaln select * from user 就是检测 select * from user 的查询性能。EXPLAIN SELECT * FROM 各个字段的含义id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。select_type 常见列值有:2.1:simple:表示不需要un

2021-05-30 01:55:30 727

原创 关于数据加密的思考,加密的算法类型,优雅解决数据加密

背景: 海外项目,考虑到数据合规的问题,项目中入库的数据进行加密,但正常的业务交集还是要用明文数据,所以查询出来的数据需求明文返给前端。传统的想法:在数据入库前进行数据加密,把数据查询出来前,再进行数据加密,这是一个简单的实现。常用加密算法的类型:非对称加密对称加密哈希加密数字签名加密...

2021-03-29 17:14:13 382

原创 都应该知道的类的加载机制 (加载、验证、准备、解析、初始化、使用、卸载)

类的加载机制java 程序要运行起来,首先要把class文件加载到 jvm 内存里面,加载过程分为 验证 > 准备 > 解析 > 初始化,最后会被加载到 jvm 里面。使用到类的时候才会被加载,例如调用类的main方法或者new对象等等。一,验证其实 Java 文件编译后的 class并不是所谓的 “乱码”,其实是规律含义的字母,验证这一步就是验证这些 class 文件里的字节码是否格式正确,格式不正确即会验证失败。二、准备准备这一步就是把我们的类静态变量(static)做初始值

2021-03-18 23:33:10 579

原创 SpringBoot 整合 Kafka、生产端、消费端代码实现

1 加入kafka maven依赖<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency>2 kafka 参数配置及详细解释# 以逗号分隔的主机:端口对列表,用于建立与Kafka群集的初始连接spring.kafka.b

2021-03-17 00:44:27 2226

原创 Java 客户端访问 Kafka

Java 客户端访问 Kafka1,依赖引入<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.4.1</version></dependency>2,消息生产端代码package com.example.kafkademo.produce

2021-03-09 20:23:03 682 1

原创 Linux 安装kafka详细步骤

Linux 安装 kafka 详细步骤一,kafka 下载地址http://archive.apache.org/dist/kafka/二,安装步骤2.1 安装JDK (kafka 是Scala语言开发,运行在 jvm 上)# 解压文件tar -zxf jdk1.8.0_201.tar# 配置环境变量vim /etc/profile# 在 profile 文件最后加上export JAVA_HOME=/usr/local/java/jdk1.8.0_201export PATH=$

2021-02-23 23:48:50 21272 2

原创 Redis RDB、AOF及混合持久化,主从模式,哨兵模式

一、RDB、AOF 及混合持久化详解1.1 RDB 持久化RDB 持久化是把当前进程数据生成快照保存在硬盘的过程,触发RDB持久化有两种方式,分别是 手动触发,自动触发。1.1.1 手动生成RDB快照进入 redis 客户端 执行 save 或 bgsave 可以生成dump.rdb文件,每一次执行命令就生成新的rdb快照文件,并覆盖原有的 rdb 快照文件。save 命令 :执行 save 命令的时候会阻塞当前 redis 服务器,直到RDB快照成功生成,内存中的数据量过大的可能造成短时间的阻塞

2021-01-10 15:49:03 1154

原创 Linux 安装Redis、配置更改、进程启动、redis 卸载

1、安装Redis下载地址:https://www.redis.net.cn/download/把下载好的 redis-xxxx.tar.gz 放在/usr/local/redis文件夹下.解压:tar -zxvf redis-5.0.10.tar.gz进入解压好的redis目录中,进行编译与安装:make修改配置(redis-conf)://后台启动aemonize yes //关闭保护模式,开启的话,只有本机才可以访问rediprotected‐mode no //bind绑

2020-12-24 00:04:29 788

原创 RabbitMQ 常用工作模式

RabbitMQ 常用工作模式:官网地址:https://www.rabbitmq.com/getstarted.htmlPublish/Subscribe 发布与订阅模式订阅模式:生产者会将消息发送到(Exchange )交换机,Exchange 类型是 Fanout,不同的队列注册到交换机中,不同的消费注册到不同的队列上。P:生产者,也就是要发送消息的程序,但是不再发送到队列中,而是发送到 x 交换机中C:消费者,消息的接收者,会一直等待消息的到来Queue:消息队列、接收消息、缓存消

2020-12-15 00:26:07 531

原创 Rabbitmq 基本概念与安装及卸载

1,MQ 的基本概念1.1 MQ 概述 (全称 Message Queue ,在消息的传输过程中保存消息的容器,多用于分布式系统)1.1.1 MQ 的优势 应用解耦,异步提速,并发削峰 应用解耦:把有关联的内部系统采用异步消息通知的方式传递,提高系统的容错性和可维护性。异步提速:不必要的操作可使用异步的方式执行,减低业务反应的时间, 提升用户体验和系统吞吐量。并发削峰:提高系统的稳定性,避免高并发情况的服务瘫痪1.1.2 MQ 的问题/劣势系统可用性低,越多的服务依赖 MQ , 系统的稳定

2020-12-01 21:20:59 1145

原创 JDK8_方法引用

JDK8_方法引用Lambad 表达式是基础,我们在熟悉 Lambad 后,可以直接通过方法应用来简写 Lambad 表达式中已经存在的方法。方法引用通过方法的名字来指向一个方法方法应用可以使用代码变得简洁优雅,减少冗余代码方法的引用使用一对冒号 ::代码例子 - 1:package com.example.demo.methodreference;import java.util.Arrays;import java.util.List;/** * @author LaIWe

2020-11-01 01:02:58 479 1

原创 SpringBoot 项目优雅处理全局异常

阐述: 框架的异常处理往往不太合适,因此我们需要对这些异常进行分类统一的捕获处理。SpringBoot 中可以用@ControllerAdvice 进行系统全局异常的捕获。代码如下:@ControllerAdvice@Slf4jpublic class GlobalExceptionHandler { /** * 处理自定义的业务异常 * @param req * @param e * @return */ @ExceptionHandler(value = MY.

2020-10-25 18:38:14 385

原创 接口请求日志打印_基于APO实现_切面实现

@Aspect@Component@Slf4jpublic class LogAspect { @Pointcut("execution(* com.ht.controller..*.*(..))") private void controllerAspect() { } */ * 请求入口 * * @param joinPoint */ @Before(value = "controllerAspect()")..

2020-10-25 18:04:04 372

原创 集群、分布式 高并发的情况下如何生成全局唯一ID

集群高并发的情况下如何生成全局唯一ID1,ID生成规则的硬性要求:全局唯一趋势递增单调递增信息安全含时间戳2,ID生成系统的可用性要求:高可用低延迟高QPS:10万个的请求同时过来。3,生成全局唯一ID的主要方案:中间件方式:可以通过数据库或 redis 缓存作为媒介,通过数据库生成自增ID来作为唯一ID。数据库的自增ID机制的原理是:数据库自增ID的mysql 的 repalce into 实现的(没有新增有则替换,字段创建唯一索引),缺点:系统水平扩展困难,依赖中间件

2020-10-25 17:43:28 1482 1

原创 Jquery前端分页插件pagination ,多样式化

插件描述: JqueryPagination是一个轻量级的jquery分页插件。只需几个简单的配置就可以生成分页控件。并且支持ajax获取数据,自定义请求参数,提供多种方法,事件和回调函数,功能全面的分页插件。一,导入相关的jquery和pagination文件<script type="text/javascript" src="static/js/jquery.min.js"></script><script type="text/javascript" src="

2020-06-13 15:39:12 1011

原创 Vue(3) 路由的简单使用 -- Vue.js + vue-router 简单实现单页应用。

什么是路由?路由是负责将要进入浏览器的地址映射到特定的代码上。简单说:路由就是 url +资源的访问路径,通过url 可以找到一个唯一的资源。路由不包含在vue里面,是一个插件需要下载。下载方式:官方文档:https://router.vuejs.org/zh/其它下载/CDN: https://unpkg.com/vue-router@3.0.1/dist/vue-router.js简单实例:Vue.js + vue-router 可以很简单的实现单页应用。 是一个组件,该组件用于设置一

2020-06-06 21:16:56 664 1

原创 Vue (2) 组件基础(全局组件和局部组件)

组件是什么 ?组件是Vue最强大的功能之一,组件可扩展 HTML ,封装可重用的模块,让其它地方能使用。组件能干嘛 ?组件的优点是封装重复的特定 html 代码(css,js,html),然后通过组件名字可以重复利用该组件中的代码。组件的分类组件可分成全局组件和局部组件,它们的区别就是:全局组件能供所以实例使用,局部组件只能给当前实例使用。所以它们的区别就是作用域不同。全局组件实例: 所有挂载了vue 对象的 html中 都 可以使用。语法规则:全局组件:Component:组件;

2020-06-06 18:56:47 3731

原创 Vue (1) HelloWorld 表达式和常见指令

Vue : 渐进式 JavaScript 框架开始使用: 官网下载 vue.js 文件,在 html 文件中直接用 script 标签引入(建议下载生产版本体积小 vue.min.js )。官方下载地址:https://cn.vuejs.org/v2/guide/installation.html<!-- 直接引入vue.min.js , vue注册成全局变量 --><script src="js/vue.min.js" type="text/javascript" chars

2020-06-03 21:29:56 373

原创 Spring 集成 shiro 实现登录认证

Spring 集成 shiro 实现登录认证一,在Spring原基础依赖加上以下依赖 <!--shiro 依赖的 jar 包--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version&gt

2020-06-02 14:39:53 421

原创 使用IDEA 插件 Alibaba Cloud Toolkit 一键部署JavaWeb项目

使用IDEA 插件 Alibaba Cloud Toolkit 一键部署JavaWeb项目前因: 我们平时部署项目,都是先把项目打成 war 然后上传到 Tomcat 的 webapps 文件下,然后重新重启 tomcat 。但我们重新此类操作,会显示有点繁琐。 这个时候只需用 借助 Alibaba Cloud Toolkit 插件便能一键部署项目了。传统部署方式 :在传统部署方式中,需要多个步骤才能完成应用的部署,并且需要在本地IDE、云产品控制台、Git/SVN、Maven/Gradle、镜像

2020-05-30 19:57:44 798 1

原创 SSM (Spring+SpringMVC+Mybatis) 集成 Quartz 定时器

SSM (Spring+SpringMVC+Mybatis) 集成 Quartz 定时器Quartz 定时器介绍及简单使用:https://blog.csdn.net/qq_44538738/article/details/106122436一,在原基础 pom.xml 文件上加上 Quartz 所需相关依赖。<!--Quartz定时器--><dependency> <groupId>org.springframework</groupId> &

2020-05-30 15:59:49 190

原创 VMware虚拟机安装完成却 没有 VMware Network Adaptet 适配器 ?

VMware虚拟机安装完成却 没有 VMware Network Adaptet 适配器?一,我是因为ping不通虚拟机才发现这个问题的,没 VMware 的适配器怎么可能ping的通呢?如何解决?然后我就怀疑是我以前卸载 VMware 虚拟机没有卸载干净,导致后面安装的 VMware 虚拟机 出现了问题。后面我就去网上查如何正确卸载 VMware 虚拟机 ,看完之后,我发现我少了一个步骤,就是没有 删除注册表 ,找到了可能导致出现的问题原因,那肯定得去解决它。但看了一下,一个一个去查注册表太麻烦。

2020-05-30 15:35:34 3342 7

原创 Quarta 定时器

一,Quarta 是什么 ?Quarta 是一个Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制,它可以与J2EE和J2SE应用程序相结合也可以单独使用。Quarta 允许开发人员根据时间间隔来调度任务,它实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。二,主要API 介绍1,Scheduler – 核心调度器2,Job – 任务3,JobDetail – 任务描述4,Trigger – 触发器三,简单栗子3.1 导入jar&lt

2020-05-18 09:42:06 547

原创 【Java定时器】: Java创建定时器的三种方式(详细讲解)

Java创建定时器的三种方式第一种,常见的thread,创建一个Thread让他让循环里一直执行,通过 Thread.sleep 来达到 定时任务的效果。栗子如下:public static void main(String[] args) { final long timeTnterval = 1000; Runnable runnable = new Runnable() { public void run() {

2020-05-14 15:58:47 6380 1

Java SpringBoot 项目跳过 ssl 证书认证文件

Java SpringBoot 项目跳过 ssl 证书认证文件

2023-12-23

通过序列号生成树形结构数据、代码实现

通过序列号生成树形结构数据、代码实现

2023-10-31

springboot-crud-demo.zip

SpringBoot 集成 Mybatis的增删改查 ,前端技术用的是Thymeleaf 引擎模板,控制层使用的技术是SpringMvc ,持久层用的技术是Mybatis

2020-04-08

空空如也

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

TA关注的人

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