- 博客(10)
- 收藏
- 关注
原创 Java集合
JVM在处理Java调用时会通过栈维护方法的调用层次,JVM会创建方法调用栈,每调用一个方法时,先将参数压栈,然后执行对应的方法;当方法返回时,返回值压栈,调用方法通过出栈操作获得方法返回值。:随机访问慢(必须从头/尾开始查找)、在中间插入/删除快(只需要修改指针,不用移动元素)、内存占用大(额外存储前驱、后继指针)。:随机访问快(索引取元素高效)、在尾部增删快、在中间插入或删除需要移动元素,性能稍差、占用内存较小。:使用for循环配合get()方法遍历,仅在 ArrayList 中高效,不推荐普遍使用。
2025-09-07 15:04:56
1025
原创 Java泛型
Java的泛型是采用擦拭法(编译阶段检查类型,编译完成后泛型信息会被“擦除”)实现的;可以在接口中定义泛型类型,实现此接口的类必须实现正确的泛型类型。可变参数 + 泛型 有安全隐患,必须谨慎使用,推荐。,注意T不变时,可以向上转型,但T本身不能向上转型。不指定泛型参数类型时,编译器会给出警告,且只能将。泛型数组不能直接创建,必须通过:强制转型或。泛型可以同时定义多种类型,例如。编写泛型时,需要定义泛型类型。子类可以获取父类的泛型类型。,必须定义其他类型(例如。使用泛型时,把泛型参数。)来实现静态泛型方法;
2025-09-07 15:04:20
411
原创 Java注解
元注解(meta annotation)可以修饰其他注解,通常不需要编写,可以直接使用java标准库已经定义的@Target最常见的元注解是@Target,可以定义Annotation能够被应用于源码的哪些位置;;;;@Retention定义Annotation的生命周期,如果@Retention不存在则默认为CLASS;;运行期:RetentionPolicy.RUNTIME。是否可重复,例如经过修饰后,在某个类型声明处,就可以添加多个@Report注解@Inherited。
2025-09-07 15:03:40
866
原创 反射JVM
获取到一个Method对象时,可以对它调用:对Method实例调用invoke就相当于调用该方法,invoke的第一个参数是对象实例,即在哪个实例上调用该方法,后面的可变参数要与方法参数一致。当我们拿到字段对应的Field,可用Field.get(Object)获取指定实例的指定字段的值,也可以使用Field.set(Object, Object)设置字段的值。JVM在执行Java程序的时候,并不是一次性把所有用到的class全部加载到内存,而是第一次需要用到class时才加载。
2025-09-07 15:02:39
503
原创 Java异常处理
常见做法是自定义一个BaseException(通常从RuntimeException派生)作为根异常,然后派生出各种业务类型的异常super();
2025-08-23 17:34:56
854
原创 面向对象编程
类class与实例instance定义class创建实例一个java源文件只能定义一个public类,且public类名必须与文件名一致。
2025-08-23 15:06:17
680
原创 java基础知识
java将代码编译为“字节码”,针对不同平台编写虚拟机来负责加载字节码并执行,实现**“一次编写,到处运行”**JRE(java runtime environment)就是运行Java字节码的虚拟机。只有Java源码,要编译成Java字节码,就需要JDK(java development kit),因为JDK除了包含JRE,还提供了编译器、调试器等开发工具一个Java源码只能定义一个public类型的class,并且class名称和文件名要完全一致;使用javac可以将.java源码编译成。
2025-08-17 19:08:21
690
原创 操作系统期末复习(包括练习题)
为解决这个问题,引入条件变量,每个条件变量可以保存一个链表,记录因该条件变量而阻塞的所有进程,阻塞时可将管程释放给其他进程使用,当条件满足时再将阻塞进程唤醒,使用管程。进程控制块是进程组成中最关键的部分,每个进程有唯一的PCB,操作系统根据PCB对进程实施控制和管理,为了缓和CPU的高速性与I/O设备的低速性间矛盾而引入,该技术在外围控制机的控制下实现低速的I/O设备与高速的磁盘之间进行数据传送,是对脱机输入输出系统的模拟,建立在通道技术和多道程序技术的基础上,以高速随机外存为后援存储器。
2024-04-14 13:31:49
1960
2
原创 java泛型
它可以在方法签名中使用类型参数,并且可以独立于类的泛型类型参数进行类型推断和使用。泛型类可以在类中定义一个或多个类型参数,并在类的字段、方法或构造函数中使用这些类型参数。通过指定类型边界,我们可以约束类型参数必须是特定类型或符合特定条件的类型。类型参数不能是具体的类型:类型参数必须是未知的或通配的类型。泛型数组的创建是受限的:由于Java中的泛型是通过类型擦除实现的,所以不能直接创建泛型数组。类型参数在使用时需要具体化:在实际使用泛型类、接口或方法时,需要为类型参数提供具体的类型。
2023-06-05 11:09:14
364
1
原创 C++期末复习
当一个成员函数被调用的时候,C++自动产生一个参数,这个参数是一个类指针this,可以指向该类的一个对象,这个对象就是接收函数调用的对象。只能用成员函数不能用友元函数;派生类名(参数总表):基类名1(参数表1),基类名2(参数表2),.....,基 类名n(参数表n)=、~=、%=、>>=、
2023-06-04 20:31:52
572
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅