自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JAVA 多线程】可见性 原子性 并发工具类

count++ 不是一个原子性操作, 他在执行的过程中,有可能被其他线程打断。

2024-04-11 11:10:18 806 2

原创 【JAVA 多线程】线程池 ThreadPoolExecutor使用详解

ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(核心线程数量,最大线程数量,空闲线程最大存活时间,时间单位,任务队列,创建线程工厂,任务的拒绝策略);线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作 线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下个流程。线程池判断工作队列是否已经满。如果工作队列没有满,则将新提交的任务存储在这 个工作队列里。如果工作队列满了,则进入下个流程。

2024-04-11 09:05:27 1028

原创 java 实现文字转语音

1. 内网环境 windows系统 选择jacob技术实现 免费的。从官网下载最新1.20jar包和dll文件。将jar包放到maven仓库中。dll文件放到jdk的bin目录下。

2024-03-04 10:12:43 221

原创 判断一个dll/exe是32位还是64位

32位、将dll用记事本打开,可以看到一堆乱码,但是找到乱码行的第一个PE,如果后面是L则为32位,如下图;64位、将dll用记事本打开,可以看到一堆乱码,但是找到乱码行的第一个PE,如果后面是d?通过记事本判断(可判断C++或者C#)

2024-02-20 14:21:55 486

原创 vue 非父子通信-event bus 事件总线

1.非父子组件传值借助什么?2.什么是事件总线3.发送方应该调用事件总线的哪个方法4.接收方应该调用事件总线的哪个方法5.一个组件发送数据,可不可以被多个组件接收。

2024-02-20 13:57:13 556

原创 vi 和 vim 的常用快捷键

2024-02-04 08:29:56 111

原创 linux找回root密码(CentOS7.6)

接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel(注意:touch与 /后面有一个空格),完成后按键盘的回车键(Enter)继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与 /后面有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码(接着,在光标闪烁的位置中输入:mount -o remount,rw /(注意:各个单词间有空格),完成后按键盘的回车键(Enter)。接着,输入完成后,直接按快捷键:Ctrl+x 进入。

2024-02-04 08:28:56 371

原创 Linux Centos7 启动流程分析

注意:/etc/systemd/system/default.target指向了/lib/systemd/system/目录下的graphical.target或multiuser.target。而graphical.target依赖multiuser.target,multiuser.target依赖basic.target,basic.target依赖sysinit.target,所以倒过来执行。

2024-02-02 10:35:51 1242

原创 Jar包通过nssm部署成windows服务 nssm详解

它的特点如下:支持普通exe程序(控制台程序或者带界面的Windows程序都可以)安装简单,修改方便可以自动守护封装了的服务,程序挂掉了后可以自动重启官网地址:https://nssm.cc/

2024-02-02 10:28:57 446

原创 JAVA中的全局异常处理器

在 Java 中,你可以使用全局异常处理器来捕获和处理整个应用程序中抛出的异常。

2024-02-01 09:14:33 356

原创 缓存穿透问题的解决思路

缓存穿透产生的原因是什么?用户请求的数据在缓存中和数据库中都不存在,不断发起这样的请求,给数据库带来巨大压力缓存穿透的解决方案有哪些?缓存null值布隆过滤增强id的复杂度,避免被猜测id规律做好数据的基础格式校验加强用户权限校验做好热点参数的限流。

2024-01-30 17:41:12 345

原创 基于Redis实现短信登录

首先我们要思考一下利用redis来存储数据,那么到底使用哪种结构呢?由于存入的数据比较简单,我们可以考虑使用String,或者是使用哈希,如下图,如果使用String,同学们注意他的value,用多占用一点空间,如果使用哈希,则他的value中只会存储他数据本身,如果不是特别在意内存,其实使用String就可以啦。

2024-01-30 16:35:28 1057

原创 Redis快速入门(2)

RedisTemplate可以接收任意Object作为值写入Redis:只不过写入前会把Object序列化为字节形式,默认是采用JDK序列化,得到的结果是这样的:缺点:可读性差内存占用较大我们可以自定义RedisTemplate的序列化方式,代码如下:​@Bean// 创建RedisTemplate对象// 设置连接工厂// 创建JSON序列化工具// 设置Key的序列化// 设置Value的序列化// 返回这里采用了JSON序列化来代替默认的JDK序列化方式。

2024-01-23 11:33:32 1078

原创 Redis 快速入门(1)

除了上述四点以外,在存储方式、扩展性、查询性能上关系型与非关系型也都有着显著差异,总结如下:存储方式关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响非关系型数据库,他们的操作更多的是依赖于内存来操作,内存的读写速度会非常快,性能自然会好一些扩展性关系型数据库集群模式一般是主从,主从数据一致,起到数据备份的作用,称为垂直扩展。非关系型数据库可以将数据拆分,存储在不同机器上,可以保存海量数据,解决内存大小有限的问题。称为水平扩展。

2024-01-23 11:29:47 1425

原创 记Spting boot 集成jimureport报错的问题

jimureport版本为。fastjson版本为。问题排查为版本的问题。

2024-01-22 13:06:19 486

原创 Tomcat安装及配置教程

Tomcat的相关概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。概念中提到了JavaEE规范,那什么又是JavaEE规范呢?JavaEE: Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。

2024-01-19 10:11:47 981

原创 Redis安装

目录1.Linux安装Redis1.1.安装Redis依赖1.2.上传安装包并解压1.3.启动1.3.1.默认启动1.3.2.指定配置启动1.3.3.开机自启2. 在Windows中安装Redis2.1 Windows系统中启动和停止Redis3.Redis客户端3.1.Redis命令行客户端3.2.图形化桌面客户端3.2.1.安装3.2.2.建立连接此处选择的Linux版本为CentOS 7.Redis的官方网站地址:RedisRedis安装包分为windows版和Linux版:Windows版下载地址:

2024-01-19 09:18:33 785

原创 Spring Data Redis 在Java中操作Redis

Spring Data Redis 是 Spring Data 项目的一部分,它为 Java 应用程序提供了在 Spring 环境中与 Redis 数据库进行交互的便捷方式。通过 Spring Data Redis,可以利用自动配置、模板类(RedisTemplate)、Repository 接口以及对 Redis 数据结构的支持来简化开发工作。

2024-01-18 14:03:15 572

原创 Redis 配置

Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。你可以通过命令查看或设置配置项。

2024-01-18 11:47:50 1128

原创 【Docker实用篇】一文入门Docker(4)Docker-Compose

这里我们将order-service、user-service、gateway服务的mysql、nacos地址都修改为基于容器名的访问。因为之前查看到Dockerfile中的jar包名称都是app.jar,因此我们的每个微服务都需要用这个名称。编译打包好的app.jar文件,需要放到Dockerfile的同级目录中。② 修改自己的cloud-demo项目,将数据库、nacos地址都命名为docker-compose中的服务名。④ 将打包好的app.jar拷贝到cloud-demo中的每一个对应的子目录中。

2024-01-17 15:18:14 997

原创 JAVA Stream流详细使用方法

【代码】JAVA Stream流详细使用方法。

2024-01-17 15:03:13 423

原创 Kaptcha 生成图形验证码

Kaptcha(卡普查)来完成验证码的生成。Kaptcha是一个非常实用的验证码生成工具。编写获取图形验证码的方法。

2024-01-16 14:36:36 313

原创 集成SpringCloudAlibaba短信服务 短信验证码

短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度产品功能:短信通知、短信验证码、推广短信、异步通知、数据统计应用场景:短信验证码、系统信息推送、推广短信等SpringCloudAlibaba提供的短信服务,集成更加方便,代码更加简洁。

2024-01-16 13:48:08 542

原创 【Linux】各目录说明

例如: / u s r / m a n / m a n 1中包含联机手册第一节的源码(没有格式化的原始文件),/ u s r / m a n / c a t 1包含第一节已格式化的内容。/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用m s d o s文件系统的软驱,而/mnt/exta 可能是使用e x t 2文件系统的软驱,/mnt/cdrom 光驱等等。每个不同的s p o o l在/var/spool 下有自己的子目录,例如,用户的邮箱就存放在/var/spool/mail中。

2024-01-16 08:43:22 1580 1

原创 【JAVA WEB】 Filter过滤器详解

Filter 表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。Servlet 我们之前都已经学习过了,Filter和Listener 我们今天都会进行学习。过滤器可以把对资源的请求==拦截==下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有的资源(servlet、jsp、html等)而在访问到这些资源之前可以使过滤器拦截来下,也就是说在访问资源之前会先经过 Filter,如下图拦截器拦截到后可以做什么功能呢?

2024-01-16 08:30:14 879

原创 @Aspect 注解使用详解

Java中的@Aspect注解用于定义切面,它是面向切面编程(AOP)的一部分。使用@Aspect注解,可以将一个普通的Java类标记为切面,并在其中定义切点和通知。这样一来,当目标类的切点匹配时,切面中定义的通知将被触发,从而实现了对横切关注点的处理。要注意的是,切面类被定义为一个普通的Java类,并且在应用程序中需要配置适当的AOP配置,以便将切面织入到目标类中。总的来说,@Aspect注解为Java中的AOP提供了一种声明性的方式,使你能够清晰地定义和管理横切关注点的处理。切面类中定义了一个切点。

2024-01-15 14:47:32 482

原创 【Linux】 Top命令解析

TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。进程使用的虚拟内存总量,单位kb。

2024-01-15 09:19:22 1103

原创 【Linux】 RPM 命令参数使用

rpm -qpi Linux-1.4-6.i368.rpm #[查看rpm包]--query--package--install package信息。rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录。rpm -ivh file.rpm  #[安装新的rpm]--install--verbose--hash。rpm -qpf Linux-1.4-6.i368.rpm #[查看rpm包]--file。

2024-01-15 09:17:03 827

原创 Vmware虚拟机问题解决方案 运行虚拟机系统蓝屏 运行虚拟机时报错VT-x

这个是由于英特尔的虚拟化技术, 没有开启, 需要进入系统的BIOS界面 , 开启英特尔的虚拟化技术;不同的电脑型号 , 进入BIOS界面的方式不同, 需要百度查询一下自己电脑的型号 , 如何进BIOS;2). 操作系统版本高, 需要适配新版本的Vmware;------> 卸载Vmware15版本, 安装Vmware16版本。1). 虚拟机所在磁盘的空间不足;-------> 清理磁盘空间。卸载Vmware之后, 一定一定要清理Vmware的注册表信息;下载16版本的软件, 并安装;

2024-01-13 14:33:03 578

原创 【Linux实用篇】项目部署 基于Shell脚本自动部署

前面介绍的项目部署是手动部署,也就是部署过程中的每一步操作都需要我们手动操作。接下来,我们需要再讲解一下项目的自动部署,从而来简化项目部署的操作,那么我们先来整体上了解一下项目自动部署的流程及操作步骤。操作步骤如下:1). 在Gitee上创建远程仓库,并将本地的项目代码推送到远程仓库中2). 在Linux中安装Git,克隆代码3). 在Linux中安装maven4). 编写Shell脚本(拉取代码、编译、打包、启动)5). 为用户授予执行Shell脚本的权限6). 执行Shell脚本。

2024-01-13 10:38:57 1145

原创 【Linux实用篇】Linux软件安装 JDK Tomcat MySQL lrzsz

MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢?那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。JDK对应的二进制发布包。

2024-01-12 08:47:38 1128

原创 【Linux实用篇】Linux常用命令(2)

作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本语法: vi fileName说明: 1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。2). 要使用vim命令,需要我们自己完成安装。

2024-01-12 08:38:41 916 1

原创 【Linux实用篇】Linux常用命令(1)

当我们在查看一些比较大的文件时,我们可能需要经常查询文件尾部的数据信息,那这个时候如果文件很大,我们要一直向下翻页,直到最后一页,去看最新添加的数据,这种方式就比较繁琐了,此时,我们可以借助于tail指令。mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个。cat 指令会一次性查看文件的所有内容,如果文件内容比较多,这个时候查看起来就不是很方便了,这个时候我们可以通过一个新的指令more。动态查看文件尾部的数据。

2024-01-09 17:02:03 1158

原创 【Linux实用篇】Linux安装

在Linux系统中,也是存在目录的概念的,但是Linux的目录结构和Windows的目录结构是存在比较多的差异的 在Windows目录下,是一个一个的盘符(C盘、D盘、E盘),目录是归属于某一个盘符的。而在学习之前,我们还需要做一件事情,由于我们企业开发时,Linux服务器一般都是在远程的机房部署的,我们要操作服务器,不会每次都跑到远程的机房里面操作,而是会直接通过SSH连接工具进行连接操作。安装完毕后,点击窗口中的蓝色的 "重启" 按钮,重启Linux系统。双击.exe文件,然后进行正常的安装即可。

2024-01-09 16:47:03 1269

原创 【Docker实用篇】一文入门Docker(3)Dockerfile自定义镜像

常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。而要自定义镜像,就必须先了解镜像的结构才行。

2024-01-06 20:51:57 333 1

原创 Centos7安装Docker

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。启动docker前,一定要关闭防火墙后!启动docker前,一定要关闭防火墙后!

2024-01-06 20:45:51 1011 1

原创 【Docker实用篇】一文入门Docker(2)Docker的基本操作

数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。

2024-01-05 13:56:29 939 1

原创 【Docker实用篇】一文入门Docker(1)初识Docker

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题。

2024-01-05 13:36:07 1113 1

原创 【设计模式精讲】第一节 Iterator模式

图解设计模式》精简笔记讲解了23种设计模式讲解了对接口的理解讲解了可复用代码的写法提示:以下是本篇文章正文内容,下面案例可供参考例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-01-04 15:46:55 719 1

原创 《Shiro框架》 十分钟快速入门

RBAC 权限模型,全称是 Role-Based Access Control 基于角色的访问控制。简单来说,每个用户拥有若干角色,每个角色拥有若干个菜单,菜单中存在菜单权限、按钮权限。这样,就形成了“用户角色菜单”的授权模型。在这种模型中,用户与角色、角色与菜单之间构成了多对多的关系。

2024-01-04 15:39:15 971 1

java-面试指北PDF版

面经集合 2年经验,2021 阿里、头条、美团,滴滴,京东面经 · 4年经验,面试Bigo挂在了第三轮 · 2021 华为_字节_腾讯_京东_网易_滴滴面经分享(6个offer) · 2021 虾皮,网易云,京东,阿里校招面经!附参考答案 · 2022 步步高 Java 后端 6 面面经 · 2022 金蝶 Java 后三面面经(已OC) · 2022 四年经验高级 Java 工程师面经 · 2022 字节跳动 Java 后端实习面经(附参考答案) · 2022 字节跳动 Java 后端实习面经(附参考答案) · Java IO 模型常见面试题总结 · 2022腾讯云Java工程师一面 + 被捞一面 + 二面面经 · MySQL 日志:常见的日志都有什么用? · MySQL 索引:索引为什么使用 B+树? · 如何设计一个排行榜? ·

2024-01-05

空空如也

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

TA关注的人

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