自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java多线程

轻量级锁有自旋次数和等待时间,通过这个限制可以控制对系统资源的消耗,可以第一时间获取到锁2.挂起等待锁:内核态的操作,会生成对应的加锁指令,要等待唤醒,在等待的过程中会释放CPU资源。一个线程拿到了锁,别的线程如果执行被锁住的代码,必须要等到这个线程释放锁,如果这个线程没有释放锁,那么别的线程只能阻塞等待,这个状态就是block。Wait是object类的方法,和锁相关,配合synchronized使用调用Wait之后会释放锁,sleep是类的方法,和锁无关。这个现象所表示的就是线程安全问题。

2025-10-04 13:34:59 749

原创 Java 多线程

代码在写⼊volatile修饰的变量的时候, 改变线程⼯作内存中volatile变量副本的值,将改变后的副本的值从⼯作内存刷新到主内存。代码在读取volatile修饰的变量的时候, 从主内存中读取volatile变量的最新值到线程的⼯作内存中,从⼯作内存中读取volatile变量的副本。线程之间的共享变量存在主内存,每⼀个线程都有⾃⼰的"⼯作内存",当线程要读取⼀个共享变量的时候,会先把变量从主内存拷贝到⼯作内存,再从⼯作内存读取数据。由于线程之间是抢占式执⾏的,因此线程之间执⾏的先后顺序难以预知.。

2025-09-12 11:01:06 707

原创 文档宇宙试报告

1.搜索模块:在文本框中输入要搜索的信息,点击搜索按钮,检查搜索结果是否正确,点击搜索结果,查看是跳转到正确的相对应的官方界面中。如搜索错误或搜索的内容不存在,查看是否有明确的提示。使用loadrunner进行简单性能测试:针对登录、活动列表、用户列表、奖品列表等功能进行简单的性能测试。由此可见该搜索系统在高并发,大压力环境下索引查询较慢测试结果不佳,该系统有优化空间。然后在实现的过程中,插入集合点以及事务等,并通过设置来实现用户的并发操作。通过开发者工具查看请求发送的格式,以此来进行性能测试脚本的编写。

2025-08-17 18:02:31 161

原创 幸运抽奖(Java抽奖系统)测试报告

1.登录模块:登录时用Session获取用户表,在获取用户id来使后端将用户信息存储在Session中,在登录时通过获取用户对应的账号以及密码进行校验,如果都匹配则给予token令牌放行,登录通过,如果校验失败则需要重新输入登录信息,再次进行登录校验。针对抽奖系统项目进行测试,主要由七个页面构成:登录页、注册页、奖品列表页、用户列表页、活动列表页、创建奖品页、创建活动页,主要功能包括:登录、注册、创建活动奖品用户等功能。前端主要有三个页面构成:登录页、注册页、抽奖页,以上模拟实现了较简单的抽奖系统。

2025-08-17 14:09:12 516

原创 JVM垃圾回收机制

第一次Eden区满后,会触发垃圾回收机制,将Eden区存活的对象放到s1区。第二次Eden区满后,再次触发垃圾回收机制,将Eden区存活的对象放到s1区,s1区中存活的对象放到s2区。第三次Eden区满后,将Eden区存活的对象放到s1区,,将s1区存活的对象放到s2区。缺点:会产生大量不连续的内存碎片,如果有一个大对象将没有足够多的空间,会触发垃圾回收机制,触发垃圾回收时会停止所有的用户线程。在新生代中,被化为多个分区:Eden区(前五分之四),s1区,s2区。缺点,内存利用率不高。

2025-08-02 13:55:49 250

原创 java map和set

不同关键字通过相同哈希函数计算出相同的哈希地址,该种现象称为哈希冲突或哈希碰撞。把具有不同关键码⽽具有相同哈希地址的数据元素称为“同义词”

2025-02-03 16:46:21 763

原创 Java关于二叉树

当传入的根节点root为null时,表示当前子树为空或者表示该节点的双亲节点为叶子节点,按照二叉树高度的定义,空树的高度为 0,所以直接返回 0。如果根节点root的值不为空,则递归调用getheight方法,分别计算root的左子树高度和右子树高度,并返回其中较高的子树+1。+1代表加上了本层的高度。

2024-12-25 20:08:47 294

原创 Java二叉树

树是⼀种⾮线性的数据结构,它是由n(n>=0)个有限结点组成⼀个具有层次关系的集合。把它叫做 树是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,⽽叶朝下的。⼀棵⼆叉树是结点的⼀个有限集合,该集合: 或者为空 或者是由⼀个根节点加上两棵别称为左⼦树和右⼦树的⼆叉树组成。有两种特殊的⼆叉树1. 满⼆叉树:⼀棵⼆叉树,如果每层的结点数都达到最⼤值,则这棵⼆叉树就是满⼆叉树。也就是 说,如果⼀棵⼆叉树的层数为K,且结点总数是,则它就是满⼆叉树。(除最后一层无任何子。

2024-12-25 00:43:01 256

原创 Java继承

继承可以在保持原有类特性的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承主要实现了共性的抽取,实现代码复用。

2024-10-21 17:37:09 273

原创 javase数组

数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。

2024-10-20 16:02:18 332

原创 JAVA方法

修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];方法的返回值是可选的。没有时返回值类型必须写成void。

2024-10-17 22:34:34 144

原创 C语言字符函数

strcmp(字符串1,字符串2)字符串的比较比较对应位置上的字符的ASCII码字符串1大于字符串2返回大于0的书,等于返回0,小于返回小于1的数字。

2024-08-09 11:18:32 1840

原创 C语言指针

内存单元的编号==地址==指针。

2024-08-07 19:24:51 956

原创 C语言移位和位操作符

按位异或 相同为0,不同为1 a^0=a a^a=0。原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。2. 算术右移:左边⽤原该值的符号位填充,右边丢弃。位移规则:对应数字的二进制数 左边抛弃、右边补0。对于整形来说:数据存放内存中其实存放的是补码。补码得到原码也是可以使⽤:取反,+1的操作。符号位都是⽤0表⽰“正”,⽤1表⽰“负”。1. 逻辑右移:左边⽤0填充,右边丢弃。

2024-08-02 15:40:11 208

原创 C语言分支循环语句

根据表达式expression 的不同的值执行相应的case分支,如果找不到相对应的值,就执⾏ default 分⽀。在 do while 循环中先执⾏图上的“语句”,执⾏完语句,在去执⾏“判断表达式”,判断表达式的 结果是!表达式的值不为0,则执⾏循环语 句,语句执⾏完后再继续判断,是否进⾏下⼀次判断。在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果不 是0,则语句执⾏。表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句不执⾏。if ( 表达式 )

2024-07-24 10:03:37 559

原创 C语言随机数生成rand函数

其实rand函数⽣成的随机数是伪随机的,伪随机数不是真正 的随机数,是通过某种算法⽣成的随机数。之所以前⾯每次运⾏程序产⽣的随机数序列是⼀样的,那是因为rand函数⽣成随机数的默认种⼦是1。time 函数会返回当前的⽇历时间,其实返回的是1970年1⽉1⽇0时0分0秒到现在程序运⾏时间之间的 差值,单位是秒。rand 函数会返回一个伪随机数,这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的⼤⼩是 依赖编译器上实现的,但是⼤部分编译器上是32767。

2024-07-21 10:19:58 179

空空如也

空空如也

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

TA关注的人

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