java补充内容
猛肝自然强
这个作者很懒,什么都没留下…
展开
-
Java基础学习笔记:补充内容9 数据结构概述
概述 数组 链表 栈(Stack) 队列(Queue) 树形结构 二叉树(Binary Tree)原创 2020-07-14 20:27:37 · 99 阅读 · 0 评论 -
Java基础学习笔记:补充内容14 HashMap 关键源码分析(JDK 8.0)
HashMap 关键结构:数组,发生碰撞生产链表,触发条件,链表改红黑树。 红黑树条件: 达到红黑树的入门值:8 数组容量达到变数的最小容量:64 数组初始容量16,之后为2的倍数。因为底层源码使用的是位运算,要达到散列的取余效果,需要容量-1散列。数组上线2的30次方 默认负载引子是0.75,提高会加大内存的使用效果,降低查询的效率 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V&g原创 2020-07-20 19:39:24 · 125 阅读 · 0 评论 -
Java基础学习笔记:补充内容13 LinkedList 关键源码分析(JDK 8.0)
LinkedList 关键结构:节点计数器。 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable { private static class Node<E> { // 节点类 E item; // 数据域 Node原创 2020-07-20 19:24:56 · 90 阅读 · 0 评论 -
Java基础学习笔记:补充内容12 ArrayList 关键源码分析(JDK 8.0)
ArrayList 关键结构:数组加计数器。创建时容量为0,第一次使用时,扩充为默认容量10,之后超出扩容1.5倍。 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { // 数组的缺省容量是 10 private static final int DEFAULT_CAPA原创 2020-07-20 19:23:44 · 89 阅读 · 0 评论 -
Java基础学习笔记:补充内容11 如何高效地判断数组中是否包含某特定值
如何检查一个未排序的数组中是否包含某个特定值,这是一个在Java中非常实用并且频繁使用的操作。另外,这也是Stack Overflow上面非常受关注的问题。在得票数最多的答案中,可以看到,检查数组中是否包含特定值可以用多种不同的方式实现,但是时间复杂度差别很大。下面,我将为大家展示各种方法及其需要花费的时间。 1.检查数组中是否包含特定值的四种不同方法 1)使用List: public static boolean useList(String[] arr, String targetValue) {原创 2020-07-15 21:03:41 · 133 阅读 · 0 评论 -
Java基础学习笔记:补充内容10 集合的练习和面试题
Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等;equals()和==方法原创 2020-07-15 20:37:14 · 165 阅读 · 1 评论 -
Java基础学习笔记:补充内容8 JVM介绍
JVM的位置 JVM是运行在操作系统之上的,它与硬件没有直接的交互。 JVM结构 1、 Class Loader类加载器 2、 Execution Engine执行引擎负责解释命令,提交操作系统执行。 3、 Native Interface 本地接口 4、 Runtime data area 运行数据区 1 Class Loader类加载器 负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution原创 2020-07-12 11:27:02 · 129 阅读 · 0 评论 -
Java基础学习笔记:补充内容7 异常处理面试题
运行时异常与一般异常有何异同 答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作 中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的 非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 Java中的异常处理机制的简单原理和应用 答:当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。 违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发 IndexOutOfBoundsE原创 2020-07-12 10:56:34 · 173 阅读 · 0 评论 -
Java基础学习笔记:补充内容6 类与类之间的关系说明以及native关键的理解
类与类之间的关系说明 对象的关联 — 简单地说,是指一个对象中使用了另一个对象。 1、依赖关系(Dependency) 对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。 class A{ public B method(C c,D d){ E e = new E(); ... B b = new B(); ... return b; } } 这个代码结构中,表示A类依赖了B,C,D,E类 2、关联关系(Associ原创 2020-07-06 20:36:31 · 175 阅读 · 0 评论 -
Java基础学习笔记:补充内容5 十大排序的图示
一、简单选择排序 二、直接插入排序 三、堆排序 四、归并排序 五、基数排序 六、计数排序 七、快速排序 八、冒泡排序 九、桶排序 十、希尔排序原创 2020-07-02 10:14:31 · 116 阅读 · 0 评论 -
Java基础学习笔记:补充内容4 关键字(50个,包含2个保留字)和特殊值(3 个)介绍
关键字(50个,包含2个保留字)和特殊值(3个) 关键字一共50个,其中const和goto是保留字。 true,false,null看起来像关键字,但从技术角度,它们是特殊的布尔值和空值。 一、基本数据类型相关关键字(8个) 1、关键字介绍 (1)byte:单字节类型 1个字节(8位),数据范围:[-128,127] 注意:byte类型与byte类型做算术运算结果升级为int (2)short:短整型 2个字节(16位),数据范围:[-32768,32767] 注意:short类型与short类型做算原创 2020-06-30 20:56:53 · 339 阅读 · 0 评论 -
Java基础学习笔记:补充内容3 代码整洁之道 - 有意义的命名
代码整洁之道 - 有意义的命名 1.1 介绍 软件中随处可见命名。我们给变量、函数、参数、类和包命名。我们给源代码及源代码所在目录命名。 这么多命名要做,不妨做好它。下文列出了取个好名字的几条简单规则。 1.2 名副其实,见名知意 变量名太随意,haha、list1、ok、theList 这些都没啥意义 1.3 避免误导 包含List、import、java等类名、关键字或特殊字; 字母o与数字0,字母l与数字1等 提防使用不同之处较小的名称。比如:XYZControllerForEfficientHand原创 2020-06-30 20:09:15 · 155 阅读 · 0 评论 -
Java基础学习笔记:补充内容2 float型和double型数据的存储方式
float型和double型数据的存储方式 对于浮点类型的数据采用单精度类型(float)和双精度类 型(double)来存储,float数据占用32bit,double数据占用64bit。通常float可以保证十进制科学计数法小数点后6位有效精度和第7位的部分精度double可以保证十进制科学计数法小数点后15位有效精度和第16位的部分精度。因为float和double的精度是由尾数决定的,什么是尾数呢,下面看看浮点型数据在底层是如何存储的。 我们在声明一个变量float f= 2.25f的时候,是如何原创 2020-06-30 20:02:30 · 161 阅读 · 0 评论 -
Java基础学习笔记:补充内容1 计算机字符编码
计算机字符编码 一、有关编码的基础知识 1. 位 bit 最小的单元 字节 byte 机器语言的单位 1byte=8bits 1KB=1024byte 1MB=1024KB 1GB=1024MB 2. 二进制 binary 八进制 octal 十进制 decimal 十六进制 hex 3. 字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等。 字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。 字符编码:字符集只是规定了有哪些字符,而最终原创 2020-06-30 19:57:19 · 144 阅读 · 0 评论