JAVA排序汇总
下面汇总 8 种常用排序:插入(直接插入、希尔)、交换(冒泡、快速)、选择(直接选择、堆)、归并、分配(基数)。辅助空间最多的是归并,最少的是堆;平均最快的是快速排序。不稳定的三种:快速、希尔、堆。 资料由网络整理,如有问题欢迎指正。原文:Java常用排序算法/程序员必须掌握的8大排序算法 ;参考 …
下面汇总 8 种常用排序:插入(直接插入、希尔)、交换(冒泡、快速)、选择(直接选择、堆)、归并、分配(基数)。辅助空间最多的是归并,最少的是堆;平均最快的是快速排序。不稳定的三种:快速、希尔、堆。 资料由网络整理,如有问题欢迎指正。原文:Java常用排序算法/程序员必须掌握的8大排序算法 ;参考 …
synchronized 是 Java 关键字。用来修饰方法或代码块时,能保证同一时刻最多只有一条线程执行这段代码。 它有两种用法:synchronized 方法 和 synchronized 块。锁永远加在对象上,不是加在「一段代码」上。每个对象只有一把锁。同步很贵,还可能死锁,能少则少。 一、五…
容器是 Java 学习里很重的一块。刚开始会觉得难,用熟了就顺。容器类主要由两个接口派生:Collection 和 Map。 先把两个容易混的名字分开:Collection 是容器层次的根接口;Collections 是一个工具类,提供处理容器的静态方法。 一、Collection vs Colle…
上篇讨论了面向对象、Java 功能和集合、垃圾收集器;本篇是 115 个 Java 面试题 的下半部分,从第 43 题起覆盖异常处理、Applet、Swing、JDBC、RMI、Servlet 和 JSP。 题号按原文保留(含作者把 finally 那题也标成 45 的笔误)。目录锚点仍指向各专题,…
这篇整理 Java 面试里常见的题型,方便雇主考查面向对象和 Java 基础。全文分上下两篇:本篇(上)覆盖 OOP 特性、Java 常见问题、线程、集合、垃圾收集;第二篇 再谈异常、Applet、Swing、JDBC、RMI、Servlet 和 JSP。 目录仍指向原文锚点。上篇对应 Import…
程序里的错误可分三类:编译错误、逻辑错误和运行时错误。异常处理的目标是:即便运行中出错,也尽量让程序正常结束,而不是中途停死。 类型 表现 何时处理 编译错误 没遵守语法,编不过 编译阶段必须排除 逻辑错误 能编译能跑,结果不对 测出来再改业务 运行时错误 出现不可能执行的操作 用异常机制接住 异常…
这篇是 Java IO 学习笔记加代码:从 File 对象的生成、创建、改名和属性测试,讲到拷贝、随机访问、字符流、键盘输入、过滤流、顺序流和对象串行化。 每个主题都配有完整可运行示例(包名 study.iostudy),覆盖 mkdir/createNewFile、FilenameFilter、F…
面向字节流时,最常用的是文件字节流:FileInputStream / FileOutputStream,按顺序读写本地磁盘文件。再往上套过滤流,就能按基本类型写二进制;最外层则是 System.in / System.out / System.err 三套标准流。 下面几个例子都在教材编号 10-…
字节流以字节为传输单位,读写 8 位数据。除了纯文本,还能处理图片、音频这类二进制文件。InputStream 和 OutputStream 是所有字节流的父类,同样都是抽象类。 程序里真正 new 出来的,一般是它们某个子类的对象;调用继承来的 read() / write(),就能对外设做输入输…
面向字符的输出流都是 Writer 的子类。和输入侧一样,Writer 是抽象类,真正写出文本要用 FileWriter、BufferedWriter 这些子类。 写文件时先构造输出流对象,再 write();带缓冲的写法还要在结束前 flush(),把缓冲区里剩下的字符真正落到文件上。 一、Wri…