-
VectorAPI是JDK16引入的孵化特性(jdk.incubator.vector),用于编写可被编译为CPUSIMD指令的向量化代码,非java.util.Vector;现可用,但需JDK19+、显式添加模块并正确处理数组对齐与掩码。204 收藏 -
应使用HashMap存储资产以实现O(1)查找,键用String等不可变对象并重写equals/hashCode;操作封装为独立方法;统一用nextLine().trim()处理输入;退出前必须持久化到文件。204 收藏 -
EnumMap的get/put是O(1)且无哈希开销,因其直接用枚举ordinal()作数组下标访问内部values数组,省去HashMap全套哈希计算与结构维护流程。204 收藏 -
Collection接口与原生数组操作对象完全不同:Collections只能操作Collection实现类,Arrays专为原生数组设计;排序行为、类型支持、线程安全及不可变包装等方面存在显著差异。204 收藏 -
LinkedHashMap默认按插入顺序维护元素,设accessOrder=true时转为访问顺序(LRU);put()和get()均触发节点移至链表尾,遍历顺序由双向链表保障,与哈希桶无关,扩容不破坏顺序。204 收藏 -
泛型是编译期类型契约而非语法糖,应在逻辑相同但数据类型不同的场景定义泛型类,优先使用泛型方法;需合理约束T,避免过度约束与擦除陷阱,并正确运用协变/逆变。204 收藏 -
必须用tryAcquire而非acquire,因acquire会无限阻塞导致线程饥饿和服务雪崩;tryAcquire非阻塞,配合合理超时(P90×1.2–1.5)和finally中强制release,可实现可控降级与防泄漏。204 收藏 -
CopyOnWriteArrayList核心用途是多线程下边读边写不抛ConcurrentModificationException,靠读写分离和写时复制实现遍历安全,但遍历看不到新写入元素,适用于读多写少场景。203 收藏 -
静态变量能被类直接访问,因其在类加载时分配内存并存储于方法区,所有实例共享且无需对象即可通过类名访问。203 收藏 -
不一定。父类static{}块仅在子类初始化时直接或间接引用父类静态成员且父类未初始化时才执行;构造器中的super()调用才保证父类构造器先于子类执行。203 收藏 -
javac用于编译.java文件为.class字节码,java用于运行编译后的类。2.编译使用javac命令生成class文件,运行使用java命令启动JVM执行主类。3.需注意类名与文件名一致、正确设置类路径及包结构下的运行方式。203 收藏 -
Java只有值传递,参数均为副本:基本类型传值拷贝,对象类型传引用地址拷贝;String因不可变性使赋值无效,而ArrayList等可变对象可通过引用副本修改内容。203 收藏 -
线程池配置需匹配任务特征:过小导致排队延迟,过大引发OOM和上下文切换;应选有界队列、合理设core/maxPoolSize,避免无界队列,优先静态配置并结合监控调优。203 收藏 -
Java方法重载要求方法名相同但参数列表不同,仅返回值不同会编译报错;重载解析在编译期基于静态类型和最具体匹配原则进行,与运行时类型无关。203 收藏 -
信号量通过许可机制控制并发访问,Java中Semaphore类提供acquire()和release()方法实现线程同步,支持公平与非公平模式,限制同时访问资源的线程数。203 收藏