- 博客(40)
- 收藏
- 关注
原创 JAVA并发线程学习4
2025/7/14锁的状态:无锁状态偏向锁状态轻量级锁状态重量级锁状态锁的状态是通过对象监视器在对象头中的字段来表明的。四种状态会随着竞争的情况逐渐升级。这四种状态都不是 Java 语言中的锁,而是 JVM 为了提高锁的获取与释放效率而做的优化(使用 synchronized 时)。偏向锁是指一段同步代码一直被一个线程所访问,那么该线程会自动获取锁。降低获取锁的代价。
2025-07-15 02:00:00
160
原创 JAVA并发线程学习3
但是对于 Lock的另一个实现类 ReadWriteLock,其读锁是共享锁,其写锁是独享锁。读锁的共享锁可保证并发读是非常高效的,读写,写读 ,写写的过程是互斥的。CAS 是乐观锁的一种实现,他采用的是自旋的思想,是一种轻量级的锁机制。在说之前的锁,Java 中很多锁的名词,这些并不是全指锁,有的指锁的特性,有的指锁的设计,有的指锁的状态,下面总结的内容是对每个锁的名词进行一定的解释。读写锁特点: 读读不互斥,读写互斥,写写互斥加读锁是防止在另外的线程在此时写入数据,防止读取脏数据提高读的效率。
2025-07-14 02:00:00
348
原创 JAVA并发线程学习2
2025/7/12昨天学习到了并发问题,接下来了解怎么解决。volatile 关键字通过volatile关键字修饰一个共享变量后,这变量在一个线程中被修改后,立刻发送到其他线程中,保证了可见性。还有两个特点,禁止进行指令重排序, volatile 不能保证对变量操作的原子性。
2025-07-13 01:30:00
182
原创 数据库初体验
SELECT 字段1 (AS) 别名 , 字段2 (AS) 别名 …这两天我学习了数据库的一点知识,我觉得最大的不同就是数据库的代码只能一行一行的运行。ORDER BY 字段 DESC/(ASC) 默认升序。ORDER BY 字段 DESC/(ASC) 默认升序。xxx_db.xxx_tab是常用的结构名称。GROUP BY 字段(统计函数)数据是分行的,每一行称为记录。接下来记录我学的东西吧。表头是规定字段(列)的。根据字段的条件进行查询。2字段的类型分为五种。希望对以后的我有帮助。
2024-10-14 00:46:44
1175
原创 力扣1507 字符串格式变换
用replaceAll(”[a-z]“,”");将英文字母替换为空,相当于去字母。用了这个函数date.split(" “);以空格为分割构成字符串数组。最后用一点选择排序构成自己想要的格式。
2024-09-25 21:00:00
338
原创 PTA计算学生三门课的总成绩并排序输出
设计一个学生结构体,包括学号、3门课成绩及总成绩。输入n个学生的学号及3门课的成绩,计算每个学生的总成绩,并输出。先输入n,再输入3门课成绩(每门成绩有1位小数),每行1位学生。输出学生的学号及总成绩,按照总成绩从高到底排序,每行1位学生。在这里给出一组输入。
2024-06-28 11:24:34
656
原创 PTA字符串删除
已知del_str为字符串str中要删除的子串,请结合所学字符串操作实现在str中删除所有del_str子串,并统计del_str在str中出现的次数。
2024-06-03 18:45:00
289
原创 PTA字符串str1在第i个位置插入字符串str2
字符串str1在第i个位置插入字符串str2,如在字符串1234567890第2位插入ABC。
2024-06-03 18:30:00
585
原创 PTA输入字符串str,识别字符串中字符(0-9A-Za-z),并对识别出的字符串按照按升序进行排序。
输入字符串str,识别字符串中指定范围内的字符(0-9A-Za-z)构成新的字符串str2,对字符串str2按照按升序进行排序。
2024-06-03 18:15:00
281
原创 PTA 统计空格、大小写字母、数字和其它字符的数量
键盘中随机输入英文字符串,统计出字符串中空格、小写字母、大写字母、数字和其他字符分别有多少个。从键盘上输入一个字符串, 计算字符串里分别有多少个空格、小写字母、大写字母、数字和其他字符。
2024-06-03 18:00:00
688
原创 PTA 判断两个矩阵相等
Peter得到两个n行m列矩阵,她想知道两个矩阵是否相等,请你用“Yes”,“No”回答她(两个矩阵相等指的是两个矩阵对应元素都相等)。输入格式:第一行输入整数n和m,表示两个矩阵的行与列,用空格隔开。从第2行到n+1行,每行输入m个整数(不超过整数范围),空格隔开,表示第一个矩阵中的元素。从n+2行到2n+1行,每行输入m个整数(不超过整数范围),空格隔开,表示第二个矩阵中的元素。1
2024-05-27 17:00:00
452
原创 PTA 计算矩阵两个对角线之和
计算一个n×n矩阵两个对角线之和。输入格式:第一行输入一个整数n(0<n≤10),第二行至第n+1行,每行输入n个整数,每行第一个数前没有空格,每行的每个数之间各有一个空格。输出格式:两条对角线元素和,输出格式见样例。
2024-05-27 16:30:00
906
原创 JAVA 5
动作: 完成某些功能------单一封装代码,结构性比较好------可复用(reusable)java官方名称–method (坊间:函数)f(x) = x+1;函数–function。
2024-04-14 09:00:00
391
原创 JAVA 1
JRE:Java runtime environment ,是Java运行环境,是一个在计算机操作系统之上运行的软件层,提供特定于java的附加服务。源代码:是指以特定编程语言编写的文本文件,用于控制软件,硬件,计算机程序或系统,是代表软件不同功能的一类指令,后缀是.java。JDK:JAVA的开发工具主要用于移动设备,嵌入式设备上的java应用程序,包含了java的运行环境和Java工具。JVM:Java virtual machine ,是一种用于计算设备的规范,是一个虚构出来的计算机。
2024-03-17 21:30:00
397
1
原创 C语言 16
是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。在有结构的文件中,文件由若干个相关记录组成;而无结构文件则被看成是一个字符流。但是在程序设计中,我们一般所谈的文件有两种:程序文件和数据文件程序文件包括源文件(后缀名为.c),目标文件(window环境下后缀名为.obj),可执行文件(后缀名为.exe).数据文件文件的内容不一定是程序,而是程序运行时读写的数据。比如程序运行时需要的数据是从文件中读取的,或者将结果输出到文件中。
2024-03-10 09:36:55
1522
1
原创 C语言 13
指针的关系运算:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。1.&数组名中,数组名不是首元素的地址,数组名表示整个数组,&数组名,取出的是整个数组的地址。1.指针类型并不决定指针所占内存的大小,指针类型决定了指针被解引用时访问几个字节。指针变量本身也是需要占用内存的,至于不同类型的指针变量的大小,for example。野指针就是指针指向的位置是不可知的(随机的,不正确的,没有限制的)。指针数组是存放指针的数组。
2024-01-26 02:30:00
1028
1
原创 C语言 12
表达式中可以使用整数的地方,就可以使用枚举类型,或有符号或无符号的字符、短整数、整数位域。表达式是很重要的,如果不够了解,那么就无法达成结果,而且表达式的错误是很难检查出来的,总之:我们写出的表达式如果不能通过操作符的属性确定唯一的计算路径,那这个表达式就是存在问题的。表达式求值的顺序一部分是由操作符的优先级和结合性决定的,有些表达式的操作数在求值的过程中可能需要转换为其他类型。如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则。b=0xb600的结果为假。
2024-01-25 02:30:00
447
原创 C语言 5
不过这么写有一个缺点,在多次运行代码中,随机到的数是固定的,因为rand()函数产生的随机数是伪随机数,是根据一个数值按照某个公式推算出来的,这个数值我们称之为“种子”。也就是说,每次启动计算机以后,种子就是定值了,所以根据公式推算出来的结果(也就是生成的随机数)就是固定的。在实际开发中,我们可以用时间作为参数,只要每次播种的时间不同,那么生成的种子就不同,最终的随机数也就不同。表达式1作用是定义在这个循环里用的到的临时变量,不会影响其他代码。表达式2作用是循环条件,当满足这个条件时,就会进行循环。
2024-01-24 02:30:00
556
原创 C语言 6
早期的c语言是没有函数的,他只规定语法,比如for循环之类的该怎么写然后各种各样的语法细节的规则非常规定的很清楚,就是你写出的代码能够编辑处理。这个代码就是通过函数实现了取两个数的最大值,所以在代码主体中就可以通过输入用户输入的两个值,直接得出最大值,看起来只是将在主体中写的代码移出去,但是如果进行多次比较,就可以省很多事,而且可以使代码看起来更美观。写的都是类似的功能,开发效率当然低了。这个部分的函数是函数中最重要的,因为库函数不能完成所有的任务,那就需要自定义函数,那我的学习就有了用武之地。
2024-01-24 02:30:00
333
原创 C语言 7
归来:当你将问题不断缩小规模递去的时候,必须有一个明确的结束递去的临界点(递归出口),一旦达到这个临界点即就从该点原路返回到原点,最终问题得到解决。递去:将递归问题分解为若干个规模较小,与原问题形式相同的子问题,这些子问题可以用相同的解题思路来解决。递归算法,顾名思义就是有两个大的阶段:递和归,即就是有去(递去)有回(归来)。我认为这张图可以很清晰的说明递归函数的原理了。我认为递归函数就是自定义函数加上函数的嵌套实现的。提取重复的逻辑,缩小问题的规模不断递去;给出递归终止时的处理办法;明确递归的终止条件;
2024-01-24 02:30:00
351
原创 C语言 8
数组中的下标是从0开始的(而不是1)。”表示定义了有5个元素的数组 a,这5个元素分别为 a[0]、a[1]、a[2]、a[3]、a[4]。其中 a[0]、a[1]、a[2]、a[3]、a[4]分别表示这5个元素的变量名。这是一个大小为5个元素的数组,每个元素都是int类型的,int 型变量占4字节的内存空间,那么5个int型变量就占20字节的内存空间,而且它们的地址是连续分配的。仔细观察输出的结果,随着数组下标的增长,元素的地址也在有规律的递增。通过给每个元素进行编号进行区分,数组元素的编号又叫下标。
2024-01-24 02:30:00
369
原创 C语言 9
二维数组就是数组中每个元素都是数组的一维数组。二维数组的使用也是通过下标的方式。二维数组的创建和初始化。二维数组在内存中的存储。这次我学习了二维数组。
2024-01-24 02:30:00
339
原创 C语言 10
然后我写了一个find_mine函数,用来查找雷区中的一个元素,首先通过scanf,来获得用户点击的坐标,然后通过if else来判断用户输入的坐标是否符合标准,在符合标准的情况下,还分为两种情况,那就是,已经翻过的和没翻过的,然后在没翻过的情况下,我嵌套了一个search函数,而在这个search函数中,我通过if语句写了雷炸了的情况,然后通过一个for循环嵌套for循环的方法,来判断。在学完二维数组后,我运用了之前学会的所有知识,做出了一个类似扫雷的小程序代码。最后,声明,修改格式,这个代码就写完了。
2024-01-24 02:30:00
725
原创 C语言 11
警告:对于移位运算符,不要移动负数位,这个是标准未定义的。移位规则:左边抛弃,右边补0;1.算术操作符 + - * / %1>逻辑移位:右边丢弃,左边用0填充。2>算术移位:右边丢弃,左边补符号位。右移操作(算术移位)相当于除2。这次我学习了操作符。
2024-01-24 02:30:00
392
原创 C语言 4
2.取走第一个字符的对应的ASCII码,将其他字符对应的ASCII码存进stdin缓冲区中。2.将第一个字符对应的ASCII码存进变量ch中,其他的存进stdin缓冲区中。continue用在循环中是用来结束本次循环,后面的循环还会继续执行。break用在循环中是用来跳出循环的,当满足某个条件时,循环终止。scanf可以接收用户的连续输入分给不同的变量,在之后很常用。比如这个代码,当i
2024-01-23 15:59:59
384
1
原创 C语言 3
这两天,我们开始了假期11天培训,在之前的课里,我学习了循环结构,for循环,while循环和do.while循环,我个人最喜欢do.while循环,因为这个循环比较简洁。而且循环条件可以在语句块写完后在思考,之后我还学习了有关函数的知识,我知道了在int main外怎么写一个函数,然后在其中应该怎么运用,我还是很喜欢void的,我觉得在主题外写一个函数可以大大减少代码的行数,是一个很便利的设计。
2024-01-18 11:05:07
325
1
原创 C语言 2
这是我第二天学习C语言,我首先学习了有关于地址的内容学习了地址符&,还学习了size of运算符用来计算所占空间大小还学了十进制八进制16进制之间的互相转换,还学会了字符串的占位符是s,我还学习了字符串的输入和单字符,输入与多字符输入的区别学习了杠铃是字符串保存结束的标志还学习了如何输入字符串和求字符串的长度,通过strlen这一天,最后我们学习了选择结构选择结构主要就是if和else这是选择结构最简单的两个部分了,这几天的学习让我学到了更多,对于编程思路也得到了更多的开发,我想我学到了更多的东西。
2024-01-01 17:16:04
366
原创 C语言 1
经过这一天的学习,我学到了很多。#include <stdio.h>是调用资源库,让你在接下来的代码中可以使用设定好的函数#define,是定义一个在所有代码中都可以确定的变量,后边加变量名和数字就可以了,不需要别的。f:是format格式化输出。printf,用来打印括号里的文字数据,要加一对双引号。
2023-12-22 20:13:10
371
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅