Java八股文
小刘成长日记
计算机菜硕冲厂日记
展开
-
一篇文章看懂单例模式——饿汉式、懒汉式
对象初始化的创建是由很多步骤完成的,比如分配空间、初始化、调用构造器等,是一个复杂的过程,有可能上一个进程进去,已经调用了new Singleton,但new对象的过程并没有执行完成,就已经return退出,如果下一个进程再进来,此时单例已经不为空,会返回之前一个进程已经return的单例对象,但是有可能此对象并没有完成调用构造器的初始化过程,,任何一个线程对这个变量的修改会立即被刷新到主内存中,同时,其他线程在读取该变量时会直接从主内存中读取,而不是从线程的本地缓存中读取。原创 2023-08-03 19:26:20 · 170 阅读 · 0 评论 -
HashMap和HashTable区别
综上所述,HashMap是更常用、更高效的选择,特别是在单线程环境或者是需要高性能的情况下。如果需要在多线程环境下使用,考虑到线程安全问题,可以选择使用ConcurrentHashMap,它是线程安全的,并且相比HashTable性能更好。原创 2023-07-30 22:47:27 · 166 阅读 · 0 评论 -
HashMap和HashSet之间的关系
分别简单介绍了HashMap和HashSet,然后又介绍了HashMap和HashSet之间的关系原创 2023-07-30 22:46:52 · 258 阅读 · 0 评论 -
为什么HashMap使用链表和红黑树相结合的形式
介绍了为什么HashMap使用链表和红黑树相结合的形式,以及HashMap的解决冲突的方法和特性原创 2023-07-30 22:45:30 · 273 阅读 · 0 评论 -
final 和 finalize() 区别
是一个关键字,用于修饰类、方法或变量,用于表示不可修改、不可继承或不可覆盖。是一个方法,用于对象的资源释放和清理,在现代 Java 编程中已经不再推荐使用。原创 2023-07-22 21:15:03 · 187 阅读 · 0 评论 -
面相过程语言比面相对象语言效率高?
在很多情况下,面向对象的设计能够更好地组织和管理代码,提高可维护性和可扩展性,这在长期和复杂的项目中非常重要。而在一些性能敏感的应用场景又通常会更多的选择面向过程语言,因此两种不同的编程范式的选择取决于具体的应用场景,直接对比性能的方式并不能说明问题。因为面向过程的设计通常更加直接,减少了对象的开销和复杂性。在面向对象的设计中,类调用时需要实例化,每个对象都需要分配内存空间,而且在面向对象中常常需要对虚函数进行动态绑定,又涉及到额外的间接跳转,对于大量的对象而言,这些额外的开销也会影响性能。原创 2023-07-22 21:14:29 · 137 阅读 · 0 评论 -
抽象类与接口的区别
在设计一个类时,为保证父类可以有更强的通用性,可以和子类共享特征,因此有时会将一个父类内的方法设计的非常抽象,没有具体的实现方法,以供子类重写,通过不同子类不同的重写方法,从而实现每个子类独特的功能,这样的类就是抽象类。接口可以理解为是一种特殊的抽象类:如果一个抽象类,没有定义变量,只有定义常量,并且所有的方法都是抽象方法,就可以成为接口。>如果子类重写了父类中的所的抽象方法,则此子类可以实例化。>如果子类没重写父类中的所的抽象方法,则子类仍为抽象类。原创 2023-07-22 21:12:52 · 41 阅读 · 0 评论 -
Java中0.1+0.2为什么不等于0.3
由于计算机内存有限,只能保留一定位数的小数部分,所以会进行截断,导致精度损失。当计算机执行 0.1 + 0.2 的操作时,实际上是对这两个近似值进行相加,因此得到的结果也是一个近似值。同样地,计算机会截断小数部分,导致精度损失。当在计算机中进行浮点数运算时,由于浮点数采用二进制的科学计数法表示,而某些十进制小数无法精确转换为有限长度的二进制小数,就会导致精度损失。因此,0.1 + 0.2 的结果不是精确的 0.3,而是一个近似值,因为计算机内部使用有限的位数来表示这些小数,导致了精度损失。原创 2023-07-22 21:10:55 · 546 阅读 · 0 评论 -
javac,java,javadoc命令的作用是什么?
用于执行已经编译成字节码的 Java 程序,JVM 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,Java 程序的执行必须依赖于 JVM,因为 JVM 负责将字节码翻译成特定平台的机器码并执行程序。用来编译程序,将java源代码编译成为class字节码文件,每一个类对应一个class字节码文件,编译后的字节码文件可以由 Java 虚拟机(JVM)执行,使得 Java 程序可以在不同的平台上运行。是 Java 文档生成工具,它可以根据代码中的特定注释生成 API 文档。原创 2023-07-22 21:09:28 · 736 阅读 · 0 评论