Java学习路线
文章平均质量分 58
jzf525jzf525
这个作者很懒,什么都没留下…
展开
-
06Java常见问题之线程
1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。 2.线程和进程的区别? 线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线原创 2020-09-22 19:12:13 · 187 阅读 · 1 评论 -
05Java常见问题之单例模式
1.单例模式 概念:确保某个类只有一个实例,而且自bai行实例化并向整个系统提供这个实例,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例的模式; 懒汉式每次获取实例都同步,所以效率较差,其他都差不多。 ①懒汉式(线程不安全) 通过提供一种静态的对象instance,利用private权限的构造方法,和静态的getInstance方法,提供给外部一个获取单例的方式 ②懒汉式(线程安全) 加了一个synchronized线程锁 ③饿汉式(线程安全) 直接初始化ins原创 2020-09-21 20:05:03 · 214 阅读 · 0 评论 -
04Java常见问题之排序
1.排序 内排序:在排序过程中,所有元素调到内存中进行的排序,称为内排序。 外排序:在数据量大的情况下,只能分块排序,但块与块间不能保证有序。外排序用读/写外存的次数来衡量其效率。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:简单选择排序、堆排序。 (3)、交换排序:冒泡排序、快速排序。 (4)、归并排序 (5)、基数排序 9种排序之间的关系: ①直接插入排序: 1、基本思想:从前往后取数,然后从那个数开始从后往前跟每个数作原创 2020-09-21 09:43:33 · 141 阅读 · 1 评论 -
03Java常见问题之容器
1. Java 容器都有哪些? Java 容器分为 Collection 和 Map 两大类 Collection List ArrayList LinkedList Vector Stack Set HashSet LinkedHashSet TreeSet Map HashMap LinkedHashMap TreeMap ConcurrentHashMap Hashtable原创 2020-09-21 09:05:56 · 103 阅读 · 0 评论 -
01Java常见问题之虚拟机
1.JVM的位置 Java程序运行在JVM虚拟机上 JRE包含JVM,它运行在操作系统上,操作系统运行在计算机硬件上 2.JVM体系结构 .java文件->通过javac命令,编译成class文件->类在加载的时候使用类加载器(classloader) ->加载到JVM里面,classloader在JVM中的运行时数据区中加载 运行时数据区包括:方法区,堆,java栈,本地方法栈,程序计数器 ->与执行引擎和本地方法接口互动 3.类加载器 作用:负责加载class文件(class文件原创 2020-09-20 17:42:56 · 128 阅读 · 0 评论 -
02Java常见问题之字符串
1. 字符串为什么不可变长 可以这么理解 字符串的底层是char[]数组,数组不可变长 数组在创建时就开辟了一个连续的地址,固定空间内存 也可以这么理解 String是被final修饰的类,防止子类扩展,是不可变类 不可变类是一个不能修改实例的类,实例创建时所有的信息都被初始化,并且信息不能被修改。 还可以这么理解 字符串的分配,和其他的对象分配一样,耗费高昂的时间与空间代价。JVM为了提高性能和减少内存开销,减少在JVM中创建的字符串的数量,字符串类维护了一个字符串池,每当代码创建字符串常量时,JVM会首原创 2020-09-20 11:08:26 · 299 阅读 · 1 评论