首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面霸篇:Java 核心集合容器全解(核心

从面试角度作为切入点提升大家的 Java 内功,所谓根基不牢,地动山摇。...我们需要一个系统观,清晰完整的去学习技术,在「面霸篇:Java 核心基础大满贯(一)」中,码哥梳理了 Java 高频核心知识点。...本篇将一举攻破 Java 集合容器知识点,跟着「码哥」一起来提纲挈领,梳理一个完整的 Java 容器开发技术能力图谱,将基础夯实。 什么是集合?...TreeSet(有序,唯一):红黑树(自平衡的排序叉树。)...HashTable:数组+链表组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的 TreeMap:红黑树(自平衡的排序叉树) 集合的 fail-fast 快速失败机制 Java

33721
您找到你想要的搜索结果了吗?
是的
没有找到

Java核心技术 1》「建议收藏」

泛型的突出特征之一是在虚拟机中擦除泛型类型 第五章 继承 1、Class类 在程序运行期间,Java运行时系统始终为所有对象维护一个运行时类型。...堆 堆是一个可以自己组织的叉树,其添加和删除操作可以让最小的元素移动到根,而不必花费时间对元素进行排序。...简单算法 Collections.replace(words,”C++”,”java”); 将word列表中为“C++”的值替换成“Java” 批操作 coll1.retainAll(coll2...();//返回栈顶元素,但不弹出,如果栈为空,不要调用这个方法 属性映射 property map是一个特殊类型的映射结构, 键和值都是字符串 这个映射可以容易地保存到文件以及文件加载 有一个级表存放默认值...同步块 每个Java对象都有一个锁,线程可以通过同步方法获得锁,还有另一种机制可以获得锁,即进入一个同步块。

49610

知识点总结:Java核心技术(1)

Java核心技术(1) 一、基础概念 1.1 基本程序设计结构 1.1 数据类型 1.1.1 数值类型 1️⃣从java7开始,加上前缀0b或0B就可以写进制; 2️⃣指数的表示...的核心技术 super和this 有些人认为super与this引用是类似的概念,实际上这样的比较并不恰当。...Java的高级特性 2.1 反射 能够分析类能力的的程序称为反射 在运行时分析类的能力 在运行时查看对象 2.1.1 Class类 一个Class对象实际上表示的是一个类型,而这个类型未必一定是一种类...Java语言规范建议不要书写这些多余的关键字。...散列码:hashCode Java8中,桶满时会从链表变为平衡叉树。 初始化桶数 散列因子 HashSet类,实现了基于散列表的值。

32130

面霸篇:高频 Java 基础问题(核心一)

JVM Java Virtual Machine 是 Java 虚拟机,Java 程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此 Java 语言可以实现跨平台。...JRE Java Runtime Environment包括 Java 虚拟机和 Java 程序所需的核心类库等。...核心类库主要是 java.lang 包:包含了运行 Java 程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包 如果想要运行一个开发好的 Java...逻辑与跟短路与的差别是非常巨大的,虽然者都要求运算符左右两端的布尔值都是 true 整个表达式的值才是 true。...(wrapper class),int 的包装类就是 Integer,从 Java 5 开始引入了自动装箱/拆箱机制,使得者可以相互转换。

37011

Java核心技术2 高级特性 学习笔记(4)

参考:Java核心技术2 高级特性 第八章 三种用于处理代码的技术: 脚本API使得调用诸如JavaScript和Groovy这样的脚本语言代码 可以使用编译器API在应用程序内部编译Java代码...注解处理器可以在包含注解的Java源代码和类文件上进行操作。...注解不会改变程序的编译方式,Java编译器对于包含注解和不包含注解的代码会生成相同的虚拟机指令。...在Java中,注解是当做一个修饰符来使用的,被置于被注解项之前,中间没有分号。...语言模型API,可以使用语言模型API来分析源码级的注解,与呈现类和方法的虚拟机表示形式的反射API不同,语言模型API让我们可以根据Java语言的规则去分析Java程序。

65910

Java核心技术2 高级特性 学习笔记(6)

参考:Java核心技术2 高级特性 第十二章 建议只有在必需的时候才使用本地代码,特别是在以下三种情况下,也许可以使用本地代码: 你的应用需要访问的系统特性和设备是通过Java平台无法实现的 已经有大量的测试过和调试过的用另一种语言编写的代码...,并且知道如何将其导出到所有的目标平台上 通过基准测试,发现所编写的Java代码比用其他语言编写的等价代码慢很多 Java有一个用于和本地C代码进行互操作的API,称为Java本地接口(JNI)。...将一个本地方法连接到Java程序中: (1)在Java类中声明一个本地方法 (2)运行javah以获得包含该方法的C声明的头文件 (3)用C实现该本地方法 (4)将代码置于共享类库中 (5)在Java程序中加载该类库

42820

Java核心技术2 高级特性 学习笔记(3)

参考:《Java核心技术2 高级特性 》第三章 XML是一种非常有用的描述结构化信息的技术。 XML格式能够表示层次结构,这比属性文件的平面结构更加灵活。...解析XML文档,Java提供了两种XML解析器: 文档对象模型(Document Object Model,DOM)解析器这样的属性解析器,将读入的XML文档转换为树结构 XML简单API(Simple...XPath执行下列操作比普通的DOM方式要简单的多: (1)获得文档节点 (2)枚举它的子元素 (3)定位某个元素 (4)定位其子节点中名字为xx的节点 (5)定位其子节点中的text节点 (6)获取其数据 Java...类库提供的流机制解析器,老而弥坚的SAX解析器和添加到Java SE6中的更现代化的StAX解析器。

61630

Java核心技术2 高级特性 学习笔记(5)

参考:Java核心技术2 高级特性  第九章 Java技术提供了三种确保安全的机制: 语言设计特性(对数组的边界进行检查,无不受检查的类型转换,无指针算法等)。...类加载器 Java编译器会为虚拟机转换源指令,虚拟机代码存储在以.class为扩展名的类文件,每个类文件都包含某个类或者接口的定义和实现代码。...在Oracle的Java语言实现中,扩展类加载器和系统类加载器都是用Java来实现的。它们都是URLClassLoader类的实例。...安全管理器与访问权限 一旦某个类被加载到虚拟机中,并由检验器检查过之后,Java平台的第种安全机制就会启动,这个机制就是安全管理器。 安全管理器就是一个负责控制具体操作是否允许执行的类。...默认情况下,有两个位置可以安装策略文件: Java平台主目录的java.policy文件 用户主目录的 .java.policy文件 数字摘要 消息摘要 消息摘要是数据块的数字指纹,例如,所谓的SHA1

60020

Java核心技术2 高级特性 学习笔记(2)

参考:Java核心技术2 高级特性 第章 对象序列化是以特殊的文件格式存储对象数据的。当存储一个对象时,这个对象所属的类也必须存储。...某些数据域是不可以被序列化的,java有一种很简单的机制来防止这种域被序列化,就是将它们标记成是transient的。如果这些域属于不可序列化的类,也需要将它们标记成transient。...如果使用的是Java语言的enum接口,就不必担心序列化,它能够正常工作。 即使构造器是私有的,序列化机制也可以创建新的对象! 为了解决这个问题,必须定义称为readResolve的特殊序列化方法。...java.nio包使内存映射变得简单,需要做的: 首先,从文件中获得一个通道(channel),通道是用于磁盘文件的一种抽象,它使我们可以访问诸如内存映射、文件加锁机制以及文件间快速数据传递等操作系统特性...需要注意的几点: 在某些系统中,文件加锁仅仅是建议性的,如果一个应用未能得到锁,它仍旧可以向被另一个应用并发锁定的文件执行写操作 在某些系统中,不能再锁定一个文件的同事将其映射到内存中 文件锁是由整个Java

63420

Java核心技术2 高级特性 学习笔记(1)

参考:Java核心技术2 高级特性 第一章 Java SE 8的流库 流提供了一种让我们可以在比集合更高的概念级别上指定计算的数据视图。...如果value为null,那么第一个方法会抛出一个NullPointerException对象,而第个方法会产生一个空Optional static Optional of(T value...// java.util.stream.Collectors 8 // 产生一个将元素收集到列表或集中的收集器。 static Collector downstream) reduce方法是一种用于从流中计算某个值的通用机制,其最简单的形式将结构一个元函数,并从前两个元素开始持续应用它。...由数组或平衡叉树支撑的流都可以工作的很好,但是Stream.iterate返回的结果不行 流操作的工作量应该具有较大规模。

99920

Java核心技术 I:基础知识》读书笔记

健壮性 安全性 体系结构中立 可移植性 解释性:过去Java解释器可以在任何移植了解释器的机器上执行java字节码,现在使用即使编译器将字节码再翻译成机器码 高性能 多线程 动态性 第Java程序设计环境...因此,维数组的每一行可以拥有不同的长度 int[][] odds = new int[NMAX+1][] for(int n=0;n<=NMAX;n++){ odds[n] = new int...第种形式中,表达式将被传入AssertionError的构造器,并转换成一个消息字符串。 11.4.1 启用和禁用断言 感觉和python挺不一样的,更多是作为调试手段。...第个是ReentrantLock类,使用例子如下: myLock.lock(); // a ReentrantLock object try{ //critical section }finally{...mayInterrupt); boolean isCancelled(); boolean isDone(); } 第一个get方法的调用被阻塞,直到计算完成;如果在计算完成之前,第个方法的调用抄书

54220

Java核心技术 I 基础知识 学习笔记(1)

参考  Java核心技术 I 基础知识 Java: 简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性。...健壮性 Java的设计目标之一在于是的Java编写的程序具有多方面的可靠性,Java投入了大量的经历进行早期问题检测、后期动态的运行时检测,并消除了容易出错的情况,Java和C++最大的不同在于Java...Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。 安全性 Java适用于网络、分布式环境,为了达到这个目标,在安全方面投入了很大精力。使用Java可以构建防病毒、防篡改的系统。...在Java中,数据类型具有固定的大小,这消除了代码移植时令人头痛的主要问题。进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰,字符串时用标准的Unicode格式存储的。...动态性 Java能适应不断发展的环境,库中可以自由地添加新方法和实例变量,对客户端却没有任何影响,在Java中找出运行时类型信息十分简单。

54220

Java核心技术 I 基础知识 学习笔记(2)

参考:Java核心技术 I 基础知识 Unicode和char类型 码点是指与一个编码表中的某个字符对应的代码值。在Unicode标准中,码点采用十六进制书写,并加上前缀U+。...这样的设计可以使得我们很迅速的直到一个代码单元是一个字符的编码还是一个辅助字符的第一或第部分。 Java中,char类型描述了UTF-16编码中的一个代码单元。 运算符优先级 ? ?...码点与代码单元 Java字符串由char值序列组成。char数据类型是一个采用UTF-16编码表示Unicode码点的代码单元。...大数值 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal,这两个类可以处理包含任意长度数字序列的数值。

53620
领券