自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在Ubuntu 部署 Grafana且监控MySQL数据

要不我创建一个查询账号看看,看上面的建议说使用只有Select权限的账号就可以了。出现以下界面证明安装成功,登录成功后,我想创建数据源。返回running表示启动成功。发现报错了,让在日志里看详情。打开终端按顺序执行以下命令。,默认用户名和密码都是。配置mysql数据源。

2024-08-23 18:03:38 271

原创 java多线程(八)深入解析Java中的synchronized关键字:用法、原理与最佳实践

待补充。

2024-08-22 18:55:39 76

原创 java多线程(七)AQS(AbstractQueuedSynchronizer)技术解析:以赛跑起跑场景为例

AQS作为一个通用的同步框架,为Java并发编程提供了极大的便利。通过继承AQS并重写相应的方法,开发者可以轻松地实现自定义的同步逻辑,而无需深入了解底层的同步机制。这使得Java并发编程变得更加简单、高效。此外,AQS还提供了丰富的同步特性,如可重入性、可中断性、超时等,这些特性使得基于AQS实现的同步工具更加灵活、强大。

2024-08-22 18:50:53 597

原创 java多线程(六)关键字Volatile可见性、有序性以及单个变量的原子性

Volatile是Java多线程编程中的一个重要关键字,它确保了变量的可见性、有序性和部分原子性。正确使用volatile关键字可以避免多线程中的一些问题,如数据不一致和指令重排序等。然而,需要注意的是,volatile并不能保证复合操作的原子性,对于这类操作,需要使用synchronized或原子类来保证线程安全。

2024-08-22 18:16:52 615

原创 Java多线程(四):线程与线程组

Java多线程编程是构建高效、响应迅速的应用程序的关键技术。通过合理利用线程与线程组,以及掌握同步与互斥锁的机制,开发者可以在实际项目中充分发挥多线程的优势,提升程序的性能和用户体验。

2024-08-22 17:11:43 322

原创 java多线程(三)重排序与Happens-Before

定义:重排序是指编译器和处理器为了提高程序执行效率,在不改变单线程程序执行结果的前提下,对指令执行顺序进行重新排列的一种优化手段。重排序可以发生在编译器优化阶段,也可以发生在处理器执行指令阶段。含义编译器优化的重排序:编译器在将高级语言代码转换成机器代码时,会进行各种优化,包括指令调度,即根据数据依赖关系分析哪些指令可以互换顺序而不影响最终执行结果。指令级并行的重排序:现代处理器普遍采用指令级并行技术(ILP),允许多条无数据依赖性的指令同时执行,这实际上也是一种重排序。内存系统的重排序。

2024-08-22 16:53:56 419

原创 Java多线程(二) - Java对象结构与对象锁的升级

如果持有锁的线程能在很短时间内释放锁,那么等待的线程就可以立即获得锁,从而避免了线程阻塞和唤醒的开销。:如果轻量级锁自旋尝试获取锁失败,或者持有锁的线程执行时间较长,超过了自旋等待的最大时间,那么轻量级锁会膨胀为重量级锁。通过引入偏向锁和轻量级锁,JVM 能够在多线程竞争不激烈的情况下,以较低的开销实现同步,从而提高程序的性能。其中,对象头是一个非常关键的部分,因为它包含了对象运行时的关键信息,如锁状态、哈希码等。,Java 对象锁的升级是为了提高多线程同步的效率,减少锁的获取和释放的开销。

2024-08-22 15:39:52 525

原创 Java多线程(一)Thread、Runnable、Callable、Future、ExecutorService接口

Java通过提供一系列的类和接口来支持多线程编程,主要包括Thread类、Runnable接口、Callable接口、Future接口以及ExecutorService接口等。在Java中,多线程编程是一项非常重要的技能,它允许程序同时执行多个任务,从而提高程序的执行效率和响应速度。: 提交一个Callable任务用于执行,并返回一个表示该任务等待完成的Future。: 尝试停止所有正在执行的任务,停止处理正在等待的任务,并返回等待执行的任务列表。可能由于新任务的到达而在线程池的任何线程中异步执行。

2024-08-22 15:23:32 780

原创 java多线程(五)线程间通信

线程间通信是并发编程中的一个重要概念,它允许多个线程之间交换信息或共享数据。

2024-08-22 15:00:37 310

原创 学习使用线程池

,现在进一步学习学习。

2024-08-22 14:08:42 725

原创 批量执行,如果根据唯一索引查,存在就修改,否则就新增数据。一条SQL语句搞定。

2. 执行第二次:(与第一次的唯一(word,date)冲突,执行更新)4、批量执行,如果根据唯一索引查,存在就修改,否则就新增数据。创建案例表 word_count_0626(单词计数表)1. 执行第一次:(首次数据库表中没有数据,正常插入)3. 执行第三次:// 取前一天,不会冲突。验证结果,目的达到了。

2024-08-20 14:20:26 104

原创 ubuntu安装minio

启动报错了,9000端口被占用,但是9000端口没有被启动的程序使用,怎么释放9000出来呢,这里有点奇怪。注意data目录(即数据目录)和buckets目录(桶目录)替换为实际目录。# 运行MinIO (需要先创建存储数据和存储存储桶的目录)# 下载MinIO的可执行文件。这里搞不定,只能换个端口。

2024-08-20 10:35:10 253

原创 spring boot学习第二十篇:使用minio上传下载文件获取文件路径

7、验证上传、下载文件,获取文件路径接口。3、注册配置的bean。2、配置文件追加配置。

2024-08-19 11:00:14 264

原创 window10安装minio

执行如上命令,可以看到启动成功,用户名密码等信息。在启动目录下,生成了.minio.sys目录。填写信息,然后点击创建bucket按钮。上传文件之后可以下载、预览、分享、删除。1、下载,访问如下链接就行。3.1、创建bucket。

2024-08-19 09:42:54 163

原创 JVM找出导致CPU使用率过高的Java代码

1、2、3、4、

2024-08-15 18:48:32 101

原创 ubuntu查看CPU、内存、硬盘

我这台机器CPU是2核,所以这里是2核。或者使用如下命令也可以查看。

2024-08-15 15:16:36 390

原创 SQL修改数据的时候使用case when语句

2024-08-14 10:29:51 233

原创 SQL之使用存储过程循环插入数据

1、已经创建了任务日志表。

2024-08-13 17:46:45 227

原创 JWT入门

参考:参考:

2024-08-13 14:52:22 303

原创 Java生成图形验证码

5、开发页面,使用的是vue的ref来控制页面图形验证码区域显示,点击图片区域则会换一个图形验证码。2、写接口,这块不需要登录成功才能操作的,所以写controller就行了,不涉及服务。查看redis的缓存,和页面看到的一致。点击图形区域,发现又调用了该接口。4、对应的配置文件的配置。页面加载时,有调用该接口。

2024-08-12 17:12:03 397

原创 一文讲透SPU和SKU

比如同样是SPU:iphone15,可能下面有多个SKU,但这些SKU有相同的一些信息,比如:SPU编码、商品名称、商品图片、主图视频、商品类目、商品品牌、非销售属性、运费模版、发票信息、商品详情描述等等。综上所述,SKU和SPU在产品管理、库存控制、销售分析和顾客体验方面发挥不同的作用,它们协同工作,有助于提高商家的效率,同时提供更好的购物体验。型号:ABC123(运动鞋的通用型号) 这样,无论你销售多少不同变种的鞋子,它们都被列为同一款产品的不同变种,方便顾客在在线商店中浏览和比较。

2024-08-09 11:04:22 804

原创 理解JVM配置

maxMemory()这个方法返回的是java虚拟机(这个进程)能够从操作系统那里挖到的最大的内存,以字节为单位,如果在运行java程序的时候,没有添加-Xmx参数,那么就是64兆,也就是说maxMemory()返回的大约是64*1024*1024字节,这是java虚拟机默认情况下能从操作系统那里挖到的最大的内存。如果用了-Xms参数,程序在启动的时候就会无条件的从操作系统中挖 -Xms后面定义的内存数,然后在这些内存用的差不多的时候,再去挖。-Xmx 堆内存的最大大小,默认为物理内存的1/4。

2024-08-07 17:59:11 348

原创 spring boot学习第十九篇:使用redission模拟抢单,分析验证高并发情况分布式锁的作用

1、引入依赖。

2024-07-31 18:17:13 315

原创 uni-app入门、制作第一个微信小程序

如果是第一次使用,需要先配置小程序ide的相关路径,才能运行成功。然后在Window10里面运行App到手机,会需要手机下载HBuilderX,下载后安装,安装好之后打开就行了。然后以三种方式(浏览器运行、运行App到手机或模拟器、在微信开发者工具里运行)运行uni-app。下载了HBuilderX,点击HBuilderX.exe文件后,打开了对应界面。2.3、运行App到手机,这方面,我第一次操作的时候,没反应。这里涉及到需要先下载相关资料,有点花时间,请等待完成。1、先看了什么是uni-app。

2024-07-30 17:03:16 424

原创 位运算符实践

不理解取反运算符,结果为啥不是10而是-6呢?2、在java中实践。

2024-07-26 17:12:58 105

原创 TypeScript入门

1、

2024-07-26 10:27:57 246

原创 vue章节晃动特效

4、点击按钮后,会有晃动效果。2、script中的代码。3、style中的代码。

2024-07-25 17:01:35 111

原创 css、h5画三角

传统的HTML主要用于文本的创建,可以通过标签插入图像,动画的实现则需要第三方插件。stroke()方法绘制出了 Canvas 上,moveTo()指定的点到 lineTo()指定点的路径线条。然后,getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。closePath()方法用于创建从起始点到终点的路径,有效的闭合并形成路径的形状,没有参数。lineTo()方法使用X和Y作为参数,在 Canvas 上创建上一个点到参数指定点的路径。

2024-07-25 16:31:58 289

原创 VUE3学习第三篇:报错记录

1、在我整理好前端代码框架后,而且也启动好了对应的后台服务,访问页面,正常。3、在vue网站的演练场,使用没问题。4、但是在我自己的代码里就出问题了。

2024-07-23 17:39:04 223

原创 SpringCloud教程 | 第十篇: 读取Nacos的配置

5、验证,在nacos上改了配置后,也能即时查出新配置。3、nacos启用了鉴权,需要用户名密码登录才能访问。4、代码存放到github.com上了。1、nacos服务器选用。

2024-07-17 16:45:59 164

原创 SpringCloud教程 | 第十篇: 读取Nacos的配置(失败情况2)

解决了pom.xml的依赖冲突后,在启动服务时,报错了,并且自动停止了。

2024-07-17 11:35:46 259

原创 SpringCloud教程 | 第十篇: 读取Nacos的配置(失败情况1)

4、启动该服务,报了一个错,但是服务正常启动了。没有读到nacos中的配置。3、查看nacos配置。

2024-07-16 16:25:48 313

原创 SpringCloud教程 | 第九篇: 使用API Gateway

1、参考资料。

2024-07-15 16:52:59 503

原创 Unable to load authentication plugin ‘caching_sha2_password‘

6.0.6改为8.0.11。

2024-07-12 19:33:03 183

原创 mysql8遇到的报错Public Key Retrieval is not allowed

1、参考:解决了问题我的JDBC串为:

2024-07-12 15:49:56 236

原创 SpringCloud教程 | 第八篇: 使用seata处理分布式事务

1、seata。

2024-07-12 15:25:25 179

原创 SpringCloud教程 | 第七篇: 使用Nacos管理服务

3、然后开发了一个消费者,里面使用了feign调用生产者服务。4、然后复制了该消费者,改了一下端口,启动成了另外一个服务。2、然后复制了该生产者,改了一下端口,启动成了另外一个服务。1、先开发了一个生产者,启动了一个服务,

2024-07-12 14:56:49 116

原创 window10安装mysql8

2、将D:\soft\mysql-8.0.38-winx64\bin加到环境变量中。1、在官网上找到mysql-8.0.38-winx64.zip并下载到本地。5、然后可以启动mysql。我是在window服务里面启动的。搜了资料,都是说要像上面语句这样。4、此时还不能启动,需要先设置不用密码也能启动、登录。然后退出,重新登陆,必须要输入正确的密码才能登陆了。7、然后查看到root账号此时没有密码。3、可以将mysql安装为服务。

2024-07-11 15:45:35 145

原创 nginx访问图片报403的问题

找了一圈资料,发现可以改动下面这个文件的第一行内容为图上内容使用root用户。图片也上传到指定目录了,但是访问。在安装好nginx后,

2024-07-03 12:12:00 297

原创 CDN入门

Window10本地电脑使用命令验证。在腾讯云上使用CDN。

2024-06-28 14:10:48 133

空空如也

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

TA关注的人

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