- 博客(27)
- 收藏
- 关注
原创 栈详解 (Java实现)
栈帧: 调用方法的时候会在虚拟机中给这个方法开辟一块内存。从尾巴入 O(n) 从尾巴出 O(n)从头入 O(1) 从头出 O(1)特点: 先进后出的形式组织数据结构.羽毛球最先放到里面的球最后拿出来用。虚拟机栈: JVM 划分的一块内存。栈 虚拟机栈 栈帧 有什么区别?使用数组设置一个容量。
2024-05-22 23:27:28
446
9
原创 队列(Java详解)
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear)出队列:进行删除操作的一端称为队头(Head/Front)
2024-05-22 19:11:30
362
5
原创 多线程进阶2
如果两个线程同时使用一个 ArrayList, 可能会读也可能会修改, 如果两个线程读, 直接读就好了, 如果某个线程需要修改, 就把 ArrayList 复制出一份副本, 修改线程就修改这个副本, 与此同时另一个线程仍然可以读取数据 (从原来的数据进行读取), 修改完毕后就会使用修改好的数据代替原来的数据, 这样就不用加锁了.锁就是一种特殊的信号量, 锁是可用资源 为 1的信号量, 加锁操作, P操作, 1 -> 0, 解锁操作 V操作 0 -> 1. 锁就叫做二元信号量。
2024-05-17 23:16:54
691
原创 多线程进阶
只要让判定的数值 按照一个方向增长即可. 有增有减, 会出现 ABA 情况, 只是增加(减少) 就不会了, 针对账户余额(必须要能加能减)这样的概念可以引入一个额外的变量----版本号, 每次修改余额让版本号自增即可, 在使用 CAS 判定的时候不是判定余额, 而是版本号了.使用偏向锁之后, 我看上一个小哥哥, 只是搞暧昧, 把情侣能做的事全做了, 但是不捅破窗户纸, 到最后想分就分.如果搞暧昧的过程中如果有个妹子想接近小哥哥, 那么我直接和小哥哥表白确定情侣关系.
2024-05-16 00:44:00
615
3
原创 多线程-线程安全
想给出一个线程安全的确切定义是复杂的,但我们可以这样认为:如果多线程环境下代码运行的结果是符合我们预期的,即在单线程环境应该的结果,则说这个程序是线程安全的。
2024-05-12 01:15:40
1943
12
原创 简单了解泛型
一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。----- 来源《Java编程思想》对泛型的介绍。泛型是在JDK1.5引入的新的语法,通俗讲,泛型:就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。
2024-05-07 20:46:24
992
13
原创 时间复杂度和空间复杂度
一个程序计算的快慢与算法效率息息相关, 算法效率从两方面来看, 一种是时间效率, 一种是空间效率, 前者衡量一个算法的运行速度, 后者衡量一个算法所需要的空间, 在计算机发展早期, 计算机存储容量很小, 很在乎空间复杂度, 如今计算机存储容量达到很高的高度, 如今重点关注算法的时间复杂度.时间复杂度和空间复杂度的表示使用表示方法1> 用 1 表示运行中的常数2> 只保留最高阶项3> 去掉最高阶项的系数大O的渐进表示法去掉了对结果影响不大的项, 表达更简洁。
2024-05-07 01:07:56
299
原创 多线程编程(java)
线程是操作系统的概念, 操作系统提供了一些 API可以操作线程, Java针对上述系统 API 进行封装, 我们需要掌握这套 API 即可
2024-05-05 16:44:14
972
4
原创 了解集合与数据结构(java)
java会把一些数据结构封装起来,你想要一个链表, java里面有一个类专门表示链表, 你想要一棵树, java中有一个结构表示数, 这就叫做集合, C++里面叫做STL.既然java帮我们实现好了, 我们为什么还要学习呢?我们要知其然还要知其所以然, 这样才算真正学会了, 否则只能算是一知半解.
2024-05-05 01:04:37
248
原创 MySQL增删查改(进阶)
创建班级表, id和name, 其中id为主键, 创建学生表, id, name和 classId, 一个学生对应一个班级, 一个班级对应多个学生, id为主键, classId为外键 其中class表称为父表. student表 称为子表。笛卡尔积通过排列组合得到更大的表, 笛卡尔积的列数就是两个表的列数相加, 笛卡尔积的行数就是两个表的行数相乘.(其中有的数据是无意义的, 需要通过一个条件(连接条件)把有意义的数据筛选出来)
2024-05-04 23:20:08
804
原创 归并排序(java实现)
通过数组的下表进行排列。让s1和s2作比较, 谁小先入数组中, 如图s2小放入后, s2++, 再让s1和e2比较,s1小放入后s1++, 再让e1和e2比较, e2小放入数组中, s2++因为s2大于e2, 停止比较, e1的值放入数组中.注意: 当进行右边的数据的传输时, tmpArr的下标从0开始, 而array的下标, 从0+start开始.第三层完成递归后,将第三层右边的数和第三层左边的数作比较, 两边的数据放到一个大小为4个数据的新数组中.
2024-05-04 00:53:51
210
原创 简单使用(MySQL)数据库
一个汉字算是一个字符,但可能对应多个字节,设置size为10,先分配较小的的空间,不够自动扩展, 最大不会超过10;2. = 等于sql中没有==,此处表示是否相等 NULL NULL 结果是 NULL。type field的类型 int是4个字节,(11)表示id最多显示11个字符的宽度。不加限制条件删除整张表, 和drop不太一样, 这个变为空表, drop 表不在了。以上就是数据库中的一些基础操作,不难理解,需要简单练习,重点在于理解.
2024-04-27 21:48:04
972
3
原创 了解(MySQL)数据库
数据库有很多不同的概念可以表示一门学科也可以表示一个具体的数据库软件(如:Oracle, MySQL, SQLServer等)这些软件的功能:数据按照特定的格式存储在数据库中,可以对其中的数据进行。
2024-04-27 00:30:32
332
原创 异常的简单知识点,快速了解
类比我们在生活中会生病,我们的身体出现了异常,Java中代码的运行也会出现错误,就叫做异常。有很多不同类型的异常,我们可以根据不同的异常去检查错误。
2023-10-24 20:27:26
43
1
原创 String类的知识点
String在Java中很重要,我们经常会使用,我们常常使用String来创建和操纵字符串。以上就是一些我对String中简单的认识,如有不足,希望指正。
2023-10-22 23:25:44
70
1
原创 Java的接口
因此我们需要注意必须将成员变量初始化,对于成员方法不可以在接口中直接实现(就是里面不能实现任何功能),(从jdk8开始,使用default可以实现。接口的认识:在生活中有usb接口,有插座接口,我们只要满足了他的要求就可以使用这个接口,而Java中的接口就是让我们实现一些功能。在类中实现的成员方法是我们不能使用默认权限,必须使用public,因为继承过来的变量和成员方法在子类中的权限。的,接口就是用来被继承的,因为在接口中我们不能实现成员方法,所以在继承的过程中我们。在接口中的成员变量默认的类型为。
2023-10-20 13:37:48
158
1
原创 指针的一些认识
/:abcdef"是一个常量字符串 是指abcdef不可改变。3.指针是由类型的,指针的类型决定了指针的+-整数的步长,指针解引用时候的权限。4.指针的运算 如:一个数组中两个元素中间的元素的个数。2.指针的大小位4/8个字节。把字符串首字符的地址放到p里。1.指针是存放数组的变量。
2023-10-20 09:59:24
37
1
原创 数据的存储
可以存11 22 33 44 44 33 22 11 (11 44 33 22 22 11 44 33)淘汰。整形家族:char(在内存中存储的是ASCII码值,unsigned signed) short int long。大端:数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。小端:数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。类型的意义:1.这个类型所开辟的空间。若有一个0x11 22 33 44。他们都有有符号和无符号位。
2022-10-22 22:48:46
63
原创 输出什么?
输出时整型提升 1111 1111 1111 1111 1111 1111 1111 1111 此时仍为补码。输出时因为是无符号数得到 0000 0000 0000 0000 0000 0000 1111 1111。1111 1111 1111 1111 1111 1111 1111 1110 反码。1111 1111 1111 1111 1111 1111 1111 1111 补码。补码取后八位 1111 1111。
2022-10-22 08:55:27
74
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人