随笔分类 -  Java面试专栏——原理篇

Java面试专栏——原理篇
摘要:快速排序(Quick Sort)是对冒泡排序的一种改进,通过一趟排序将数据序列分成两部分,其中一部分的所有数据比另一部分的所有数据都要小,然后按此方法对两部分数据分别进行快速排序,整个排序过程递归进行,最终使整个数据序列变成有序的序列。 快速排序算法的原理 快速排序算法的原理是:选择一个关键值作为基 阅读全文
posted @ 2022-10-04 17:10 ╰(‵□′)╯ 阅读(34) 评论(0) 推荐(0) 编辑
摘要:插入排序(Insertion Sort)算法是一种简单、直观且稳定的排序算法。如果要在一个已排好序列中插入一个数据,但要求此数据序列在插入数据后仍然有序,就要用到插入排序法。 public static int[] insertSort(int[] arr){ for(int i = 1; i<ar 阅读全文
posted @ 2022-10-04 17:00 ╰(‵□′)╯ 阅读(23) 评论(0) 推荐(0) 编辑
摘要:冒泡排序算法(Bubble Sort)算法是一种简单的排序算法,它在重复访问要排序的元素列时,会依次比较相邻的两个元素,如果左边的元素大于后边的元素,就将二者交换位置,如此重复,直到没有相邻的元素需要交换位置,这时候该列表的元素排序完成。 该算法名称的由来是越大的元素会经过交换慢慢"浮"到数组的顶端 阅读全文
posted @ 2022-10-04 15:54 ╰(‵□′)╯ 阅读(20) 评论(0) 推荐(0) 编辑
摘要:二分查找算法又叫做折半查找,要求待查找的序列有序,每次查找都取中间的值与待查关键字进行比较,如果中间位置的值比待查关键字大,则 在序列的左半部分继续执行该查找过程,如果中间位置的值比待查关键字小,则在序列的右半部分执行该查找过程,直到查找到关键字为止。否则在序列中没有待查关键字。 只接代码了 pub 阅读全文
posted @ 2022-10-04 15:45 ╰(‵□′)╯ 阅读(26) 评论(0) 推荐(0) 编辑
摘要:直接看代码(分析) (1)定义栈的数据结构 package hello.java.data.datastructure; /** * 基于数组实现的顺序栈 * param<E> */ public class Static<E>{ private Object[] data = null; priv 阅读全文
posted @ 2022-10-02 23:06 ╰(‵□′)╯ 阅读(25) 评论(0) 推荐(0) 编辑
摘要:##3.2线程池的工作原理 Java线程池主要用于管理线程组及运行状态,以便Java虚拟机更好地利用CPU资源。Java线程池的工作原理为:JVM先根据用户的参数创建一定数量的可运行的线程任务,并将其放入队列中,在线程创建后启动这些任务,如果正在运行的线程数量超过了最大线程数量(用户设置的线程池大小 阅读全文
posted @ 2022-10-02 17:52 ╰(‵□′)╯ 阅读(20) 评论(0) 推荐(0) 编辑
摘要:###2.3.2 反射机制的概念(什么是反射) 反射机制指在程序运行过程中,对任意一个类都能获取其所有属性和方法,并且任意一个对象都能调用其任意一个方法。这种动态获取类和对象的信息,以及动态调用对象的方法的功能被称为 Java语言的反射机制。 ###2.3.3Java反射的API Java的反射AP 阅读全文
posted @ 2022-10-02 14:43 ╰(‵□′)╯ 阅读(58) 评论(0) 推荐(0) 编辑
摘要:##2.2.2 异常分类 在Java中,Throwable是所有错误或异常的父类,Throwable又可分为Error和Exception,常见的Error有AWTError、ThreadDeath、Exception 又分为RuntimeException和CheckedException. 在说 阅读全文
posted @ 2022-10-02 13:24 ╰(‵□′)╯ 阅读(81) 评论(0) 推荐(0) 编辑
摘要:###1.10.1 JVM的类加载阶段 JVM的类加载分为5个阶段:加载、验证、准备、解析、初始化。在类初始化完成后可以使用该类的信息,在一个类不再被需要时可以从JVM中卸载。 ###1.10.3 双亲委派机制 JVM通过双亲委派机制对类进行加载。双亲委派机制指一个类在收到类加载请求后不会尝试自己加 阅读全文
posted @ 2022-10-02 12:09 ╰(‵□′)╯ 阅读(16) 评论(0) 推荐(0) 编辑
摘要:##1.9 Java网络编程模型 ###1.9.1 阻塞I/O模型 阻塞I/O模型是常见的I/O模型,在读写数据时客户端会发生阻塞。阻塞I/O模型的工作流程为: 在用户线程发出I/O请求之后,内核会检查数据是否就绪,此时用户线程一直阻塞等待内存数据就绪;在内存数据就绪后,内核将数据复制到用户线程中, 阅读全文
posted @ 2022-10-02 11:04 ╰(‵□′)╯ 阅读(37) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示