
Java
文章平均质量分 88
学习笔记
Jomurphys
这个作者很懒,什么都没留下…
展开
-
Java - 数组 Array
数组长度不可改变,在处理固定大小数据的时候性能更好,有增删需求推荐使用 ArrayList,否则需要遍历旧数组对元素进行操作后存储到新数组中,或者遍历旧数组对目标元素位置后面的元素索引+1或-1即整体向前或向后移动1位。内循环一次,最值出现在尾部索引位置。有N个元素排序,外循环 N-1 次,内循环 N-i-1 次。适用于数组中元素数量较大时,但必须保证元素是排好序的(升序、降序)。从头到尾遍历,返回值在数组中第一次出现的位置(即使有相同的元素)。内循环一次,最值出现在头部索引位置。原创 2024-03-20 22:32:14 · 554 阅读 · 0 评论 -
Java - 线程 Thread
在多线程并发控制,当多个线程同时操作一个可共享的资源时,如果没有采取同步机制,将会导致数据不准确,因此需要加入同步锁,确保在该线程没有完成操作前被其他线程调用,从而保证该变量的唯一性和准确性。下方代码中,number 很可能输出 0,因为子线程可能看到了写入 ready 的值,但却没有看到之后写入 number 的值,这种现象被称为 “重排序 (Reordering)”。类信息和静态变量/方法都存在于方法区中,在 JVM 中只有一份,方法区又是线程共享的,所以对类加锁在不同线程之间共享。原创 2023-05-06 23:34:30 · 529 阅读 · 0 评论 -
Java - I/O 流
abstract public void close() throws IOException刷新后关闭流,流不能再被使用。abstract public void flush() throws IOException刷新该流的缓冲,流可以继续使用。public void write(int c) throws IOException写入单个字符(0~65535)public void write(char cbuf[]) throws IOException abstract public voi原创 2022-06-21 02:59:51 · 201 阅读 · 0 评论 -
Java - 泛型 < >
泛型用于限定对象持有的数据类型,保证数据类型单一化,避免运行时的类型转换异常,传入其他数据类型在编译时期就会报错提示。定义类型参数T 叫做类型参数,是一个占位符,实例化Demo的时候会被替换成具体的类型。方法的泛型可以单独定义,不一定要用包裹它的类/接口的。//类public class Demo<T>{ public <T> void show1(T param){} //使用类的泛型 public <R> void s原创 2022-02-14 00:01:54 · 295 阅读 · 0 评论 -
Java - 反射
定义存放于 java.lang.reflect 包中。new属于静态编译,反射属于动态编译,只有在运行时才会去获得该对象的实例。对于任意一个类都能知道并调用它所有的属性和方法。优缺点优点:降低类之间的耦合性,只需要给我一个路径就可以拿到我需要的东西,具体操作与你无关。缺点:由于可以获取类中私有成员,破坏了类的封装使类变得不安全,还会降低程序性能。第一步:获取类对象 Class方法 说明 补充 类名.class 基本数据类型的封装类可以通过 .TYPE .原创 2021-11-10 16:44:28 · 278 阅读 · 0 评论