随笔分类 - JAVA笔记
摘要:容器,就是用来存放数据的,本文将使用两个容器俩储存一个表格数据。 使用的容器可以是任何容器,选择合适的,能满足需求即可。 本案例使用的容器是:列:使用Map 行:使用List 目标表格展示: 代码实现 提到一个词:ORM 对象关系映射 package _20191213; import java.u
阅读全文
摘要:Collections是一个工具类,它提供了与集合操作有关的方法,好比数组中的Arrays工具类。(jdk中的工具类名都是xxxs,有关工具类名参考:https://zhuanlan.zhihu.com/p/93737066) 工具类一般不提供构造方法,直接使用类名点的方式调用方法。 只能对List
阅读全文
摘要:迭代器的获取 LIst与Set容器统一使用他们的对象.Iterator()方法获得迭代器对象,然后使用while循环配合迭代器的方法hasNext()及next()来遍历容器。 List<String> myList = new ArrayList<>(); Iterator<String> it
阅读全文
摘要:方法重载与下列因素相关: 1. 参数个数不同。 2. 参数类型不同。 3. 参数的多类型顺序不同 方法重载与下列因素无关 1. 与参数的名称无关,无法根据参数名称进行重载。 2. 与方法的返回值类型无关。 思考:为什么参数的多类型不同顺序也会构成重载?
阅读全文
摘要:HashSet的特点: 无序,不可重复。 HashSet实现自Set,而Set继承自Collection,在日常使用中,我们都是以Set引用指向HashSet对象的方式。 所以,Set中的方法是我们主要学习的,而Set中的方法与属性,基本都是Collection里的方法与属性。 主要有以下 : Ha
阅读全文
摘要:红黑树是比较难以理解的一种数据结构。它能从10亿数据中进行10几次比较就能查找到需要的数据。效率非常高。 理解起内部结构也难。 现阶段我们知道有这种东西就行了。 参考文章: https://www.jianshu.com/p/e136ec79235c
阅读全文
摘要:权限从小到大: private protected default public private : 类 protected :类,包 default : 类,包,子类 public :所有地方 权限修饰符对外部类的修饰:只能使用public 与 default 对类修饰 权限修饰符对成员内部类的修
阅读全文
摘要:权限修饰符需要注意的地方 派生类重写超类中的方法的权限修饰符,只能比超类的该方法的权限修饰符大或一样大。 权限修饰符的大小顺序:public default protected private 如超类中某方法的权限修饰符为:protected 则它的派生类重写此方法时可以使用:protected d
阅读全文
摘要:多态三要素: 1.继承 2.重写父类方法 3.父类引用指向子类对象 代码: package _20191211; /** * 多态 * @author TEDU * */ public class PolymorphicTest { /** *多态三要素: *1.继承 *2.重写父类方法 *3.父类
阅读全文
摘要:向上造型(转型) 定义:超类的引用指向子类对象。 例如: Animal o1 = new Tiger();//Tiger是Animal的派生类(子类) 以上即为向上转型。 特性: 向上转型后的引用只能使用超类中的方法和属性。 向上转型后的引用不能使用派生类中自有的方法和属性,可以使用重写父类的方法
阅读全文
摘要:哈希表结构 哈希表是由数组+链表组成的,首先有一个数组,数组的每一个位置都用来存储一个链表,链表的基本节点为:【hash值,key值,value值,next】,当存入一个键值对时,首先调用hashcode()方法获得key的hashcode,然后通过算法计算出hash值,当不同的key取到相同的ha
阅读全文
摘要:HashMap的概念 HashMap底层实现了哈希表,这是一种非常重要的数据结构,对于以后我们理解很多技术都有帮助,例如 redis数据库的核心技术和HashMap一样,因此,非常有必要让大家理解。 HashMap的数据结构由数组和链表来实现对数据的存储,它们各有特点: 数组:占用空间连续,寻址容易
阅读全文
摘要:在List中,最常用的三个List为: ArrayList 频繁查询时推荐使用 LinkedList 频繁增删时推荐使用 Vector 线程安全时推荐使用 Vector的底层跟ArrayList相差无几,在需要线程安全的方法中使用了synchronized。
阅读全文
摘要:概念 LinkedList级双向链表,它的单位是节点,每一个节点都要一个头指针和一个尾指针,称为前驱和后继。第一个节点的头指针指向最后一个节点,最后一个节点的尾指针指向第一个节点,形成环路。 链表增删速度快,查询速度慢。 手写LinkedList 通过今天手写LinkedList,我觉得,我并没有体
阅读全文
摘要:方法都比较简单,这里列出来即可: add(index,ele) //忘制定下标插入元素 add(ele) addAll(Collection <C> c) 泛型必须与调用add的泛型保持一致 set(index,ele) remove(index) remove(Object) removeAll(
阅读全文
摘要:emm...记一些关键词吧 原子操作 悲观锁、乐观锁 比较交换 硬件层面 C、C#底层实现 JUC = java.util.concurrent 高级并发才使用 面试会问到 了解即可 剩下的内容交给未来的自己吧!——2019.12.9
阅读全文
摘要:我们使用的synchronized加的锁是可以延续使用的,如下: public void test() { //第一次获得锁 synchronized(this) { while(true) { //第二次获得同样的锁 synchronized(this) { System.out.println(
阅读全文
摘要:目前阶段,我只能知其然,不能做到知其所以然,这里引用一篇其所以然的文章,为以后理解ThreadLocal做准备: https://www.cnblogs.com/ldq2016/p/9041856.html 我把它大概理解为:一个线程模型,这个模型下的线程都共享这个模型下的一个泛型引用变量,但各线程
阅读全文

浙公网安备 33010602011771号