- 博客(105)
- 资源 (6)
- 收藏
- 关注
原创 【多线程】volatile关键字探究和System.out.println()隐式地插入内存屏障问题
需要注意的是,具体的实现细节依赖于 JVM 的版本和实现方式,因此不能一概而论。但是,为了保证输出的一致性和线程安全性,System.out.println() 可能会间接导致内存屏障的使用。在调用前后可能隐式地插入内存屏障,以防止其他内存操作被重排序到 System.out.println() 调用之前或之后,从而保证输出的一致性。使用锁来确保多个线程不会同时调用 System.out.println(),防止输出混乱。在验证volatile功能的过程中发现,以下代码的执行结果中包含了。
2024-08-29 00:21:11
201
1
原创 【LeetCode 1991 找到数组的中间位置 / LeetCode 724 寻找数组的中心下标】中间索引问题
这段代码的时间复杂度为 O(n^2),其中 n 是数组 nums 的长度。这是因为在最坏的情况下,需要对每个索引 i 都重新计算左侧和右侧元素的和,每个计算的时间复杂度为 O(n)。该方法的空间复杂度为常数:复杂度为O(1),因为它使用的额外空间不随输入数组的大小变化。所有的变量都占用固定的空间,无论数组有多长,这些变量占用的空间大小都是相同的。
2024-08-06 22:14:35
561
原创 数据库连接数和并发受那些因素影响
数据库连接数和并发性能受到多种因素的影响,主要包括以下几个方面:硬件资源是影响数据库连接数和并发性能的重要因素。系统的CPU、内存、磁盘IO等硬件配置直接决定了数据库服务器能够支持的最大连接数和并发请求的处理能力。例如,如果系统拥有更多的CPU和更高的磁盘IO性能,可以支持更多的并发连接。不同的数据库系统有不同的默认连接数限制。例如,MySQL的默认最大连接数限制是151,但可以根据实际需求进行调整。此外,数据库的配置也会影响连接数的设置,如连接超时时间、最大空闲连接数等。
2024-05-29 16:47:53
1288
原创 【达梦数据库】数据库的方言问题导致的启动失败
主要为:dialect,driver_class,url,username,password这五项是否有缺失,是否正确。在项目中采用了hibernate ,连接数据库原本为ORACLE,后续打算改造为国产数据库。1、检查是否已添加数据库驱动jar包。4、检查是否缺少字符集、时区等配置。务必注意检查大小写以及英文标点。2、检查数据库服务是否启动。3、检查数据库配置文件。未添加 dialect。
2024-02-23 14:43:52
2076
1
原创 Redis缓存一致性问题(自用记录)
由于现在的系统大多是分布式的,高并发的,redis和传统的数据库,存在数据不一致的问题。这就出现请求A更新缓存应该比请求B更新缓存早才对,但是因为网络,运算等原因,B却比A更早更新了缓存。也就是说如果数据库写成功,缓存更新失败,那么只要到达过期时间,则后面的读请求自然会从数据库中读取新值然后回填缓存。而且,如果不采用给缓存设置过期时间策略,该数据永远都是脏数据。我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力。有效的将1秒内所造成的缓存脏数据,再次删除。
2024-02-22 22:47:01
397
原创 redis学习笔记
①简介 Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储。)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的
2024-02-22 22:36:19
934
原创 Spring学习上下文【ConfigurableApplicationContext】
继承了ApplicationContext接口,并扩展了一些额外的方法,用于允许应用程序在运行时动态地修改和管理应用上下文。ConfigurableApplicationContext接口提供了设置上下文ID、设置父应用上下文、添加监听器、刷新容器、关闭和判断是否活跃等方法。此外,ConfigurableApplicationContext还新增了两个主要方法:refresh()和close(),使得ApplicationContext具有启动、刷新和关闭的功能。
2024-02-22 21:45:41
2737
原创 编译报错:The class java.lang.IllegalArgumentException may be caused by the wrapped
【代码】编译报错:The class java.lang.IllegalArgumentException may be caused by the wrapped。
2023-12-26 14:36:44
1726
原创 Comparison method violates its general contract 出现原因和解决方法
FastJSON 1.2.62版本使用JSON.toJSONString()报错Comparison method violates its general contract!解决方案:换成fastjson 1.2.67版本 解决
2022-05-10 13:18:07
1036
原创 【读书笔记】GC算法篇-------GC 学习必备小知识
1.GC是发生在堆中的行为GC,被称为垃圾回收,是一种发生在堆中的行为。一般的GC程序做的只有两件事:找到内存空间中的垃圾回收垃圾,让这部分无意义被占用的空间得到再利用2. GC算法分类标记-清除算法引用计数法GC复制算法标记-整理…3.对象GC中的对象主要是由头(header)和域(field)构成的头,又称为对象头主要放置对象的大小对象的种类域,主要是对象的使用者操作的部分,域中的数据类型分为指针和非指针,一个对象会含有一个或多个域4.mutator简单理解为
2022-03-31 23:26:11
530
转载 【GO语言学习】vscode 安装go环境无法安装gopls等插件,响应超时、失去连接等问题的简单解决方案
VSCODE配置go插件错误解决方案是修改代理,然后在 cmd 下面输入:go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,directgo env -w GOSUMDB=“sum.golang.org”修改代理到国内的go,然后在 cmd 重新获取即可成功:go get -v golang.org/x/tools/gopls此时,顺便可以将 vocode 的其他必要插件都安装一下,因为改了代理所以可以非常顺利地完成安
2022-03-27 07:54:13
2877
2
原创 Mysql 8.0.26 | ZIP |压缩包版本安装
下载安装包官方网站地址:https://dev.mysql.com/downloads/mysql/解压缩到喜欢的位置这里我直接解压缩到C盘配置系统变量:复制Mysql的bin的地址。找到系统变量里的path进行配置点开后新增一条,设置进去即可以管理员身份打开控制台执行命令点击win图标直接输出cmd,右键以管理员身份运行,即可打开管理员模式。mysqld --initialize-insecure继续执行mysqld --install [serviceName]
2021-10-31 17:34:06
412
1
原创 数据库规范
1.1库名、表名、字段名必须使用大写字母,不要使用驼峰命名,并采用下划线分割MySQL有配置参数lower_case_table_names=1,即库表名以小写存储,大小写不敏感。如果是0,则库表名以实际情况存储,大小写敏感;如果是2,以实际情况存储,但以小写比较在Unix上,默认值为 lower_case_table_names 为 0 ,在 Windows 上,默认值为 1,在 macOS 上,默认值为 2 。为了统一规范, 库名、表名、字段名使用大写字母正例:T_SALEORDER SALEO
2021-05-13 23:33:00
1071
原创 一页两个uEdit编辑器写法记录
//百度编辑器js引用<script type="text/javascript" charset="utf-8" src="/ueditor.config.js"></script><script type="text/javascript" charset="utf-8" src="/ueditor.all.min.js"> </script><script type="text/javascript" charset="utf-8" src=
2021-04-12 22:32:26
252
原创 【kali Linux】自动化换阿里云的源并更新kali系统的脚本
新建一个update.sh的文件复制代码进去,保存并退出(Esc—>shift+zz)#! /usr/bin/bashecho "---------------------update sources is begin-----------------------"log_file="#aliyun 阿里云 \ndeb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib \ndeb-src http://m
2021-04-10 16:27:19
805
原创 kali linux修改更新源(2021年前可用,后续版本未尝试)
1、修改sources.list源文件:vim /etc/apt/sources.list可以参考下面的源:#aliyun 阿里云deb http://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib # ustc 中科大deb http://mirrors.ustc.edu.cn
2021-04-10 01:05:40
1185
原创 遇到的问题
2020-12-05 17:20:23,185 ERROR [DiscoveryClient-CacheRefreshExecutor-0] com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient RedirectingEurekaHttpClient.java:91 - Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://
2021-03-21 23:30:53
925
原创 maven生命周期红线问题/maven报错/红线
在IDEA环境中,在Maven Project中 Dependencies 出现红色波浪线,但是查询本地仓库中,资源文件是存在的。找到出问题的文件。。找到出问题的那个依赖注释掉执行clean点这个红线就消失了
2021-03-21 23:30:02
417
原创 gitee+picgo 上传图片失败 显示404 project not found 的解决。
uploader duplicate id: gitee! 重复ID
2021-03-21 23:28:02
1387
原创 ElasticSearch 常用关键字/API/Query与 Filter的区别/如何将SQL转化为DSL
ESES Restful API GET、POST、PUT、DELETE、HEAD含义:1)GET:获取请求对象的当前状态。2)POST:改变对象的当前状态。3)PUT:创建一个对象。4)DELETE:销毁对象。5)HEAD:请求获取对象的基础信息。Mysql与Elasticsearch核心概念对比示意图将SQL转化为DSL:POST /_sql/translate{ "query" : "select * from chat1 where fromAccount='55815f0
2021-02-05 09:56:55
530
原创 Spring学习记录
Spring学习官方地址:https://spring.io/projects/spring-framework#learn自用笔记:SpringIOCSpring所倡导的开发方式就是如此,所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,
2021-02-02 15:29:41
142
原创 常用的注解--spring
常见注解@ResponseBody应用于controller层,作用在方法上,将java对象转为json格式的数据。效果等同于通过response对象输出指定格式的数据。@RequestBody用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。@RequestMapping
2021-01-28 15:58:26
188
1
转载 Maven标签大全
Maven标签大全<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"> <!--父项目的坐标。如果项目中没有规定某个元素的值...
2021-01-27 09:44:12
1233
原创 Ueditor使用小提示
Ueditor 新建UE.getEditor(‘content’);Ueditor隐藏ue.setDisabled();Ueditor显示ue= UE.getEditor(‘content’);ue.setEnabled();Ueditor显示写的时候必须新建一个ue,,即ue= UE.getEditor(‘content’);不能丢失
2021-01-22 16:26:13
332
原创 获取类的所有字段(包括父类)
/** * 获取类的所有字段 * @param clazz * @param <T> * @return */ public static <T> Field[] getAllDeclaredFields(Class<T> clazz) { List<Field[]> fieldArrayList = new ArrayList<Field[]>(); .
2020-12-24 00:30:27
995
原创 【已解决】git提交中提示报错“ Changes not staged for commit:“
子目录下无法实现全部文件的git add 的操作,必须返回根目录进行
2020-12-12 12:49:36
3266
3
原创 org.xml.sax.SAXParseException的错误解决 2020-11-20
2020-11-20 09:11:31,554 ERROR [main] org.mybatis.spring.mapper.MapperFactoryBean MapperFactoryBean.java:82 - Error while adding the mapper ‘interface com.vedeng.im.usersign.domain.mapper.UserSignInfoMapper’ to configuration.org.apache.ibatis.builder.Build
2020-11-20 09:29:01
7363
原创 基本数据结构总结--数组/链表/map/树
注: 图片来自网络数组数组的特性存储空间是连续的长度是不可变的只能存储 相同的类型(不严谨)可以通过下标访问数组的内容 a[10] 复杂度是O(1)每个元素的默认是为’零’值 0 null false -> 一个对象的基本的数据域的初始化也是这样的Student 类中的username属性 默认值我们的笔试题 动态规划 dp[][] 我们要会使用ArrayList自动扩容长度有限(int的最大值)默认初始容量是10扩容 1.5倍扩容的时机
2020-10-24 14:27:14
526
原创 jdk8安装/idea最新版安装/Mysql安装
找到一个国内得网速比较快得地址:http://apache.apooloo.cn/#/down/f1b54d77df533af9d9de55cf3f4e2cea
2020-10-23 17:08:05
246
1
转载 怎样才算一个计算机知识体系完整的毕业生?
文章来源:编程指北(id:cs_dev)文章转载,已获授权!转发请联系原作者!!!前言为什么突然想写这个话题呢?最近有不少新关注的读者,在后台问:大学学 Java 和 C++ 哪个好找工作,学前端好还是后端好,该学 Vue 还是 React。。。仿佛看到了自己当年的模样,所以觉得有必要单独写一篇文章,单纯以一个计算机应届毕业生的身份聊聊,我认为大学四年,计算机科班学生应该学些什么,哪些才是重点。同样大学四年,为什么有些同学毕业就能成为大厂 Offer 收割机,各种 SP、SSP 拿到手软,有
2020-09-29 10:45:14
644
2
转载 缓存穿透解决方案之布隆过滤器
海量数据处理以及缓存穿透这两个场景让我认识了 布隆过滤器 ,我查阅了一些资料来了解它,但是很多现成资料并不满足我的需求,所以就决定自己总结一篇关于布隆过滤器的文章。希望通过这篇文章让更多人了解布隆过滤器,并且会实际去使用它!下面我们将分为几个方面来介绍布隆过滤器:什么是布隆过滤器?布隆过滤器的原理介绍。布隆过滤器使用场景。通过 Java 编程手动实现布隆过滤器。利用Google开源的Guava中自带的布隆过滤器。Redis 中的布隆过滤器。1.什么是布隆过滤器?首先,我们需要了解布隆过
2020-09-28 14:33:22
684
原创 面试收集与总结
b+树的优势[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J3YruqF1-1598109330706)(https://gitee.com/liuhui12138/images/raw/master/img/@[8%HDEYMIEX5WQZX}}EJD8.png)]mvcc的作用MVCC多版本并发控制指的是 “维持一个数据的多个版本,使得读写操作没有冲突” 这么一个概念。仅仅是一个理想概念而在MySQL中,实现这么一个MVCC理想概念,我们就需要MySQL提供具体的功
2020-09-18 14:25:02
145
原创 八大排序算法的比较(参考了算法第四版)
基数排序 vs 计数排序 vs 桶排序这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异:基数排序:根据键值的每位数字来分配桶计数排序:每个桶只存储单一键值桶排序:每个桶存储一定范围的数值八大排序算法总结各种排序性能对比如下:排序类型平均情况最好情况最坏情况辅助空间稳定性冒泡排序O(n²)O(n)O(n²)O(1)稳定选择排序O(n²)O(n²)O(n²)O(1)不稳定直接插入排序O(n²)O(n)O(n²)O(
2020-09-18 14:22:51
207
原创 修改kali2020虚拟机默认密码
值此Debian诞生27周年,记录自己的学习日常。在最新的2020版kali系统中,尝试使用root登录失败象到了修改密码1.在开机的这个界面,按e,进入编辑模式2.进去编辑模式,找到quite splash字样,在这个后面输入rw single init=/bin/bash按下回车3.再按ctrl+x,进入单用户模式4.输入以下命令进行密码修改sudo passwd root注意这是不是password,而是passwd!5.两次输入密码后重启就可以登录了。...
2020-08-23 17:14:45
3910
4
转载 关于死锁,死锁的四个必要条件的总结
什么是死锁?死锁,指的是多个进程再运行期间因争夺资源而产生的一种僵局,若无外力作用(破坏死锁),程序将无法运行。死锁产生的四个必要条件互斥条件:进程要求对所分配的资源(如打印机)进行排他性控制,即在一段时间内某资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。不可剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。请求与保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。循环等待条件:在发生死锁时,必然存在一个进程–资源的环形链。
2020-08-15 17:36:51
3615
原创 mysql 8.0忘记root密码-linux/安装好mysql修改默认密码
centos7安装MySQL真的有用https://www.cnblogs.com/yanglang/p/10782941.html
2020-08-13 00:20:39
582
orcale,mysql驱动。用于在网络限制的情况下连接数据库,都是jar包
2022-07-18
更新kali系统的脚本
2021-04-11
毕业设计专用的超级全面的模板(凑字数)
2020-05-14
apache-tomcat-9.0.27-deployer.zip
2020-03-24
c++ 讲义
2018-12-28
白中英计算机组成原理(第三版)课后习题答案(白中英)
2018-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人