46 Matching Annotations
  1. Sep 2023
    1. HashMap 的长度为什么是 2 的幂次方

      还有HashMap在扩容的时候,当前元素要么还是在当前位置,要么移动原来的数组长度(当当前元素hash与原来数组长度与运算为0时,则还是在当前位置),否则移动原来数组长度

  2. Aug 2023
  3. Jul 2023
    1. G1 收集器

      G1垃圾回收器工作步骤和CMS垃圾回收器是差不多的,但是具有以下特点 1、G1垃圾回收器将堆分为许多区域,降低全局垃圾回收的成本 2、G1垃圾回收器会动态调整垃圾回收的参数 3、G1垃圾回收器在清除阶段不会回收全部的垃圾,而是选择性回收 4、G1垃圾回收器不再使用传统的新生代和老年代的划分,而是以区域为单位进行回收。这样可以更加灵活地进行跨代回收,将垃圾对象从一个区域复制到另一个区域。 5、选择性暂停回收,尽可能减少垃圾回收卡顿,可以选择只回收一部分

    2. 乐观锁存在哪些问题?

      乐观锁存在的问题:ABA问题、循环时间长、只能保证一个共享变量的原子操作,JDK1.5开始,提供了AtomicReference保证引用对象的原子性

    3. 程序的一次执行过程,是系统运行程序的基本单位
      • 进程是进行资源分配的基本单位而线程是操作系统进行调度的基本单元
      • 一个进程一般一个或者多个线程,线程是比进程更小的执行单元,在Java中,当前进程下的多个线程拥有独立的虚拟机栈、本地方法栈、程序计数器空间、而共享堆空间以及方法区
      • 线程创建以及终止的时间以及上下文切换耗费的时间会比进程更快
      • 线程之间数据传递的时候,就不需要经过内核了,这就使得线程之间的数据交互效率更高了;
    4. 多态

      多态可以说是针对不同对象的同一种操作有不同的行为,具体实现是父类引用指向的是子类的对象,再调用同一方法有不同的调用方式,产生不同的调用结果

  4. Apr 2023
    1. 为什么要使用集合
      1. Java集合就像容器一样,将对象的引用放入容器 2.数组一旦声明长度是不可变的,而集合可以动态的扩容 3.集合提供了各种各样的方法对数据进行操作,而使用数组没有提供这些方法 4、java也提供了各种线程安全的集合,而数组是非线程安全的
    1. RDB 快照就是记录某一个瞬间的内存数据,记录的是实际数据,而 AOF 文件记录的是命令操作的日志,而不是实际的数据

      RDB快照记录的某一瞬间的内存数据,记录的就是实际的数据,而AOF记录的命令的操作记录,而不是实际的数据

  5. Mar 2023
    1. 联合索引

      最左匹配原则-联和索引-按照最左优先的方式进行索引匹配 比如创建(a,b,c)的联合索引 * 例如(a)会走索引 * (a,b)、(a,c),(a,b,c)会走索引 (b),(c),(b,c)不会走索引

  6. Jun 2022
  7. Mar 2022
    1. The present invention provides a multi-line array laser three-dimensional scanning system and a multi-line array laser three-dimensional scanning method, the system performs precise synchronization and logic control of the multi-line array laser three-dimensional scanning system by a programmable gate array FPGA; employs a line laser array as the projection pattern light source, sends trigger signals to a stereoscopic image sensor, a inertial sensor and a line laser array by FPGA; wherein a upper computer receives image pairs taken by the stereoscopic image sensor, and codes, decodes as well as performs a three-dimensional reconstruction for the laser line array patterns in the image pairs, performs a three-dimensional reconstruction for the feature points on the surface of the measured object, and matches and aligns the three-dimensional feature points at different times; the system predicts and corrects the matching calculation by employing a hybrid sensing technology, which registers and stitches the time domain laser three-dimensional scanning data, meanwhile evaluates the error level in real time and feeds it back to an error feedback controller to obtain an adjustment instruction. Thereby the system performs a laser three-dimensional scanning with low cost, high efficiency, high reliability and high accuracy.

      abstract.text

    1. String

      String类型的变量是不可变的,例如String s1 = "1234", String s2 = "12345"; 不是在原内存地址上修改数据,而是将其指向了一个新的对象

    2. 两同两小一大

      方法名相同,方法的形参相同 返回值类型要更小或相等,抛出的异常类型要更小或相等 访问权限要更大或者相等

    3. 静态方法为什么不能调用非静态成员?

      静态方法属于类,在类加载时就是分配内存,直接通过类名访问,而非静态成员只有在对象实例化后存在,通过实例化对象访问。 静态成员存在于非静态成员之前

    4. # JVM vs JDK vs JRE #

      JDK包含JRE,还包含编译器和工具,JRE包含JDK,还包含一些java类库,java命令等,JDK是运行.class字节码文件的虚拟机。JDK>JRE>JVM

    5. 编译与解释并存

      java是编译型还是解释性语言呢,网上的回答不尽相同,因为java程序的运行要编译成.class文件,在一行一行解释执行

  8. Dec 2021