
java补充内容
猛肝自然强
这个作者很懒,什么都没留下…
展开
-
Java基础学习笔记:补充内容9 数据结构概述
概述数组链表栈(Stack)队列(Queue)树形结构二叉树(Binary Tree)原创 2020-07-14 20:27:37 · 121 阅读 · 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 · 149 阅读 · 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 · 112 阅读 · 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 · 111 阅读 · 0 评论 -
Java基础学习笔记:补充内容11 如何高效地判断数组中是否包含某特定值
如何检查一个未排序的数组中是否包含某个特定值,这是一个在Java中非常实用并且频繁使用的操作。另外,这也是Stack Overflow上面非常受关注的问题。在得票数最多的答案中,可以看到,检查数组中是否包含特定值可以用多种不同的方式实现,但是时间复杂度差别很大。下面,我将为大家展示各种方法及其需要花费的时间。1.检查数组中是否包含特定值的四种不同方法1)使用List:public static boolean useList(String[] arr, String targetValue) {原创 2020-07-15 21:03:41 · 155 阅读 · 0 评论 -
Java基础学习笔记:补充内容10 集合的练习和面试题
Collection 和 Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等;equals()和==方法原创 2020-07-15 20:37:14 · 202 阅读 · 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 · 153 阅读 · 0 评论 -
Java基础学习笔记:补充内容7 异常处理面试题
运行时异常与一般异常有何异同答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。Java中的异常处理机制的简单原理和应用答:当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsE原创 2020-07-12 10:56:34 · 215 阅读 · 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 · 198 阅读 · 0 评论 -
Java基础学习笔记:补充内容5 十大排序的图示
一、简单选择排序二、直接插入排序三、堆排序四、归并排序五、基数排序六、计数排序七、快速排序八、冒泡排序九、桶排序十、希尔排序原创 2020-07-02 10:14:31 · 137 阅读 · 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 · 362 阅读 · 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 · 177 阅读 · 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 · 185 阅读 · 0 评论 -
Java基础学习笔记:补充内容1 计算机字符编码
计算机字符编码一、有关编码的基础知识1. 位 bit 最小的单元字节 byte 机器语言的单位 1byte=8bits1KB=1024byte 1MB=1024KB1GB=1024MB2.二进制 binary八进制 octal十进制 decimal十六进制 hex3.字符:是各种文字和符号的总称,包括各个国家的文字,标点符号,图形符号,数字等。字符集:字符集是多个符号的集合,每个字符集包含的字符个数不同。字符编码:字符集只是规定了有哪些字符,而最终原创 2020-06-30 19:57:19 · 170 阅读 · 0 评论