自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 debian系统安装mysql8

在文件中找到 `[mysqld]` 部分,并添加或修改 `bind-address` 为 `0.0.0.0`,这将允许MySQL监听所有的网络接口。接下来,我们需要从MySQL官方网站下载APT配置工具,并安装它以便能够通过APT仓库安装MySQL。首先,需要确保我们的软件包列表是最新的。这可以通过运行 `apt update` 命令来完成。再次更新软件包列表,以便APT可以识别新添加的MySQL仓库。保存并关闭文件后,重新启动MySQL服务以应用更改。现在我们可以使用APT安装MySQL服务器。

2024-09-02 09:13:17 1025

原创 解决:error An unexpected error occurred: “https://registry.npm.taobao.org/xxx.tgz: certificate

最近Vue开发过程中,npm run dev遇到报错。查看npm仓库地址。切换淘宝镜像地址或官源地址。再npm run dev依旧报错。ssl过期。

2024-05-08 16:27:20 856

原创 Python安装和开发环境搭建

Python的下载访问Python语言官网(Welcome to Python.org)进行下载相关安装包,根据需要和系统环境、下载相应的windows/linux/macOs安装包。

2024-04-22 18:14:53 728

原创 解决java: 无法访问org.bouncycastle.crypto.params.ECPrivateKeyParameters 找不到org.bouncycastle.crypto.param

如果使用了ProGuard或其他混淆工具,可能需要相应地配置以保留Bouncy Castle的类。:检查构建脚本或IDE设置,确保包含了Bouncy Castle jar包的路径。:检查使用的Bouncy Castle版本,确保它与项目兼容,并且包含所需的类。:可能使用的Bouncy Castle jar包版本不兼容,或者缺少某些类。:在某些情况下,Java的安全管理器可能阻止加载某些类。:即使已经添加了jar包,类路径也可能没有正确设置。:更新混淆配置,以确保所需的类不被混淆或重命名。

2024-03-24 11:46:20 1982

原创 解决Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tre

请注意,如果在经过上述尝试后,即使重新运行构建后仍然出现错误,可能是由于 IntelliJ 有一些缓存仍在获取以前的 lombok 版本。问题原因是Lombok ,与 JDK 21 兼容的最低 Lombok 版本是 1.18.30,最小的 Spring Boot 版本是 3.1.4。直接先升级lombok至1.18.30或以上版本,若仍不行,再尝试升级Spring Boot 至3.1.4或以上版本。在更新自建项目基础过程中,compile、install报错。这里先升级到1.18.30版本、问题解决。

2024-03-23 21:05:53 25377 15

原创 Go语言基础

运算符是一种特殊的符号,可以表示数据的运算,赋值,比较等1)算术运算符2)赋值运算符3)比较运算符4)逻辑运算符5)位运算符6)其他运算符比较两个数的大小。a:=101b:=66if(a>b){fmt.Printf("a大一些")}else{fmt.Printf("b大一些")注意:go语言不支持三元运算符在Go语言中,切片(Slice)是数组的一个引用。它会生成一个指向数组的指针,并通过切片长度关联到底层数组部分或者全部元素。

2024-03-10 19:14:17 600 1

原创 解决java: 无法访问javax.servlet.ServletException

在对历往项目工具类总结和归纳更新过程中,common模块在compile编译过程中遇到了“Error java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件”这个报错问题。IDE使用的是idea2021。

2024-03-07 16:12:26 1385

原创 Java之BigDecimal详解

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。

2023-12-14 12:25:57 902

原创 Linux安装JDK

又又又又..Linux装JDK。

2023-09-13 21:42:45 222

原创 Linux安装MySQL8.0

自定义密码比较简单,不符合密码策略。yum仓库文件:wget http://repo.mysql.com/mysql80-community-release-el7-10.noarch.rpm。查看安装的mysql信息:rpm -qa|grep -i mysql。删除mysql相关服务:rpm -e --nodeps。

2023-09-13 21:24:24 727

原创 Python常用命令

type() 函数:查询对象的类型input() 函数在:函数接受一个标准输入数据,返回为 string 类型range() 函数:用于构造一个从[start, stop) (不包含stop)之间的连续的不可变的整数序列对象len() 函数: 用于获取容器对象中的元素个数reversed() 函数:反转序列对象,你可以将字符串进行反转,将列表进行反转,将元组反转random() 函数:返回随机生成的一个实数,它在[0,1)范围内。

2023-08-01 17:04:17 901

原创 算法之基数排序

基数排序:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位 开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序 列。

2023-07-27 19:47:31 89

原创 算法之桶排序算法

桶排序的基本思想是: 把数组 arr 划分为 n 个大小相同子区间(桶),每个子区间各自排序,最 后合并。计数排序是桶排序的一种特殊情况,可以把计数排序当成每个桶里只有一个元素的情况。2.使用 动态数组 ArrayList 作为桶,桶里放的元素也用 ArrayList 存储。桶的数量为(maxmin)/arr.length+1。3.遍历数组 arr,计算每个元素 arr[i] 放的桶。1.找出待排序数组中的最大值 max、最小值 min。

2023-07-27 19:24:08 573

原创 算法之归并排序算法

归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列 分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。

2023-07-27 18:57:04 265

原创 算法之二分查找

二分查找 又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小, 则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。

2023-07-27 16:57:21 197

原创 Spring Bean

6. 如果这个 Bean 关联了 BeanPostProcessor 接口,将会调用 postProcessBeforeInitialization(Object obj, String s)方法,BeanPostProcessor 经常被用 作是 Bean 内容的更改,并且由于这个是在 Bean 初始化结束时调用那个的方法,也可以被应 用于内存或缓存技术。10. 最后,如果这个 Bean 的 Spring 配置中配置了 destroy-method 属性,会自动调用其配置的 销毁方法。

2023-07-13 12:17:59 535

原创 VMware将虚拟机网络设置为NAT模式

编辑路径/etc/sysconfig下的文件network vi /etc/sysconfig/network ,加入一条语句:NETWORKING=yes(网络是否工作:是)配置公共DNS服务,在vi /etc/resolv.conf文件里增加:nameserver 8.8.8.8、nameserver 8.8.4.4。BOOTPROTO=none #ip获取方式,DHCP为自动获取,静态IP为none和static。关闭防火墙服务:systemctl stop firewalld.service。

2023-07-12 19:43:33 3011

原创 Java之枚举

枚举的本质枚举的常见用途枚举创建单例枚举抽象方法​Java中的枚举,大家在项目中经常使用吧,主要用来定义一些固定值,在一个有限的集合内,比如在表示一周的某一天,一年中的四季等。那你了解枚举的本质吗,或者说底层是什么样的?了解枚举的一些神仙用法吗?枚举主要用来定义一个有限集合内的固定值。枚举编译后实际上继承了java.lang.Enum这个类,后面详细讲解,我们看下这个类的关键方法:返回指定名字、给定类的枚举常量返回枚举常量名返回枚举常量在enum中的位置,从0开始。

2023-06-27 14:15:19 213

原创 Windows安装JDK并实现多版本切换

变量值增加:%JAVA_HOME%\bin;,放到x:\xx\Common Files\Oracle\Java\javapath前面。通过 JAVA_HOME的值%JAVA8_HOME%、切换使用不同版本的jdk。变量名:CLASSPATH。

2023-05-26 10:46:09 171

原创 Java泊松分布

Poisson泊松分布,是一种统计与概率学里常见到的离散概率分布。泊松分布的概率函数为:泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生次数。泊松分布适合于描述单位时间内随机事件发生的次数。泊松分布的期望和方差均为λ。

2023-05-06 17:25:18 583

原创 ConcurrentHashMap底层实现原理

当数组长度不够时,ConcurrentHashMap需要对数组进行扩容,在扩容的实现上,ConcurrentHashMap引入了多线程并发扩容的机制,简单来说就是多个线程对原始数组进行分片后,每个线程负责一个分片的数据迁移,从而提升了扩容过程中数据迁移的效率。ConcurrentHashMap中有一个size()方法来获取总的元素个数,而在多线程并发场景中,在保证原子性的前提下来实现元素个数的累加,性能是非常低的。并发安全的主要实现是通过对指定的Node节点加锁,来保证数据更新的安全性。

2023-05-04 14:51:10 1005

原创 HashMap底层实现原理

通过对cap进行位移或操作计算,获取扩容阈值2的幂次方。此时这里的阈值threshold不是初始容量*负载因子,不必在意,这只是临时的,真正设置threshold在后面put方法中。HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现,它是一个key-value结构的容器。JDK1.8 版本的HashMap,底层数据使用数组 + 链表/红黑树实现。Node的数据结构是一个链表结构,红黑树也是基于Node的数据结构构建得到。计算key.hashCode()并将哈希的高位数扩展到低位数。

2023-05-04 12:09:14 10431

原创 Java 17 新特性尝鲜

JDK 17更新了包括14个特性,具体如下表所示:恢复始终严格模式(Always-Strict)的浮点语义增强型伪随机数生成器新增macOS渲染管道支持将JDK移植到macOS或AArch64弃用待移除的Applet API强封装JDK内部APIswitch模式匹配进入预览(Preview)阶段移除RMI(远程方法调用)激活机制密封类移除实验性AOT和JIT编译器弃用待移除的安全管理器(Security Manager)外部函数和内存API(孵化器)孵化阶段Vector API(第二孵化器)第二孵化阶段。

2023-04-28 09:41:31 1590 1

原创 深入分析,Redis为什么这么快?

我们都知道Redis很快,它QPS可达10万(每秒请求数)

2023-04-25 14:22:07 734

原创 JVM锁优化和逃逸分析详解

这里的答案是不会,x + y + z 操作的优化「经过逃逸分析」过后,他的动态作用域被限制在了 concatStr方法内,就是说当前实际执行的 StringBuilder 的操作在 concatStr 方法内部,「其他的外部线程无法访问」到,所以这里「虽然有锁,但是可以被安全的消除掉。原则上,我们在写代码的时候,总是推荐将同步块的作用范围限制得尽可能的小--只在共享数据的实际操作作用域中才进行同步,这样也是为了使得需要同步的操作尽可能的变少,即使存在锁的竞争,等待的锁的线程也能很快的获取到锁。

2023-04-05 11:54:36 412

原创 计算机基础之CPU架构

电子计算机由中央处理器CPU、内部存储器(简称内存)和输入输出设备(简称IO设备)组成。CPU是计算机的核心。CPU负责解释并执行计算机命令、产生各种信号、令各部件协调工作,使整个系统构成一个有机整体。MPU---集成在芯片上的CPU,称为微处理器,简称MPU。MPU总体功能上由运算器、控制器、寄存器组构成。

2023-03-29 15:40:43 1350

原创 算法之Redis集群CRC16算法

算法原理:将需要发送15位的二进制信息,表示为代数多项式g(x) = x^14 + x^12 + x^9 + x^8 + x^7 + x^5 + 1,其中g中第k位的值,对应g(x)中x^k的系数。查表法是将移位异或的计算结果做成了一个表,就是将0~256放入一个长度为16位的寄存器中的低八位,高八位填充0,然后将该寄存器与多项式0XA001按照上述3、4步骤,直到八位全部移出,最后寄存器中的值就是表格中的数据,高八位、低八位分别单独一个表。或者将接受到的所有信息除多项式,如果能够除尽,则信息正确。

2023-03-27 17:05:17 966

原创 SpringBoot 内置工具类

SpringBoot 内置工具类

2023-03-22 11:01:45 638 1

原创 MongoDB+springboot+spring+MongoTemplate简单Demo

【代码】MongoDB+springboot+spring+MongoTemplate简单Demo。

2023-03-13 21:44:33 141

原创 算法之希尔排序-改进的插入排序

希尔排序将整个数组根据间隔h分割为若干个子数组,他们相互穿插在一起,每一次排序时,分别对每一个子数组进行排序。当h=3时,希尔排序将整个数组分为交织在一起的三个子数组。如图所示。其中,所有的方形为一个子数组,所有的圆形、三角形分别组成另外两个子数组。每次排序时总是交换间隔为h的两个元素。在每一组排序完成后,可以递减h的值,进行下一轮更加精细的排序。直到h=1,此时等价于一次插入排序。

2023-03-13 11:43:28 133

原创 算法之插入排序

插入排序的基本思想:一个未排序的数组(链表)可分为两部分,前部分时已排序的,后半部分是未排序的。在进行排序时,在未排序的部分中选择一个元素,将其插入前面有序的数组中即可。最终,未排序的部分直到0,排序就完成了。当前数据的插入依赖于上一次得到的有序序列,所以插入排序很难并行化。

2023-03-13 10:20:45 84

原创 算法之奇偶交换排序

奇偶排序解开了冒泡排序每次迭代交换数据的相关性。它将排序分为两个过程,奇交换和偶交换。对于奇交换来说,它总是比较奇数索引及其相邻的后续元素。对于偶交换来说,它总是比较偶数索引及其相邻的后续元素。奇交换和偶交换会成对出现,这样能保证比较和交换涉及数组中的每一个元素。

2023-03-12 16:10:51 622

原创 算法之冒泡排序

在每次迭代的交换过程中,由于每次交换的两个元素存在数据冲突,对于每个元素,它既可能与前面的元素交换,也可能与后面的元素交换,因此很难直接改造成并行算法。在冒泡排序的执行过程中,如果数字较小,就会逐步被交换到前面去,相反,对于大的数字,则会下沉,交换到数组的末尾。该算法的最差时间复杂度为O(n2),最优时间复杂度为O(n),平均时间复杂度为 O(n2)。

2023-03-12 15:28:58 99

原创 矩阵算法之矩阵乘法

1、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。

2023-03-12 13:51:53 25871 1

原创 设计模式之不变模式

当多线程对同一个对象进行读写操作时,为了保证对象数据的一致性和正确性,有必要对对象进行同步操作,但同步操作对系统性能有损耗。注意:不变模式通过回避问题而不是解决问题的态度处理多线程并发访问控制,不变对象不需要进行同步操作。由于并发同步会对性能产生不良影响,因此,在需求允许的情况下,不变模式可以去除这些同步操作,提高并行程序性能,确保其在没有同步操作的多线程环境中保持内部状态的一致性鄂汇正确性。将所有属性设置为私有,并用final标记,确保其不可修改。不变模式可以提高系统的并发性能和并发量。

2023-03-11 11:54:39 401

原创 Windows安装Hadoop

下载Hadoop下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/

2023-03-11 00:06:00 558

原创 Spring集成Hibernate

HibernateDaoSupport 包含HibernateTemplate 模板类,spring 对Hibernate再一次的封装, 使得代码可以更加简洁。声明式事务: 即在配置文件里,配置哪些方法是需要事务的。这些方法的事务的启动和提交,都交给 Spring 来处理。如果只是读取数据但不修改数据,可以设置read-only为true,对hibernate 可以有更好的优化。注意,dao的配置的parent 属性要设置成baseDao。业务操作可能是包含不同的dao的几个操作的。

2023-03-10 09:59:57 892

原创 MySQL安装、配置、测试

MySQL是一个开源轻便的关系型数据库系统,在开发中被广泛使用。MySQL简洁,但功能强大,其使用的SQL语言与其他数据库很类似,所以学会MySQL,迁移到其他数据库时会容易很多。

2023-03-07 17:03:02 35

原创 Java开发之道|系统监控-获取本机相关信息

系统监控-获取本机相关信息。

2023-03-07 16:54:56 162

原创 Windows环境下nacos的下载与安装

把set MODE="cluster",默认是集群启动,修改为standalone单机模式启动。windows下载上面的tar.gz的安装包,linux下载下面的zip包。在bin目录下双击startup.cmd文件运行nacos,启动成功。根据自己项目配置的版本,下载对应的nacos客户端。nacos配置成Windows服务自启动。nssm配置nacos服务。

2023-03-07 16:43:27 3395

空空如也

空空如也

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

TA关注的人

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