1、概念 JVM内存模型用于描述在多线程环境下共享变量如何在线程间通信,以保证多线程程序对共享变量操作的有序性。 2、结构 2.1、主内存 存储共享对象实例;线程共享。 2....
1、概念 JVM内存模型用于描述在多线程环境下共享变量如何在线程间通信,以保证多线程程序对共享变量操作的有序性。 2、结构 2.1、主内存 存储共享对象实例;线程共享。 2....
1、概念 类加载器把.class文件中的二进制数据读入到内存中,存放在方法区,然后在堆中创建java.lang.Class对象。 2、步骤 2.1、加载 识别字节码文件,并将...
1、堆 1.1、存储Java对象(例如数组)。 1.2、在不考虑本地内存的情况下,JVM堆是JVM中占用内存最大的区域。 1.3、线程共享。 1.4、Java堆是垃圾回收器管...
1、策略模式 在某种策略接口的多种实现中选择需要的策略并执行。 2、观察者模式 观察者订阅感兴趣的主题并随时接受主题推送的信息。
1、代理模式 只暴露代理方法而隐藏实际方法,且支持增强实际方法。 2、适配器模式 2.1、默认适配器 实现类只想重写接口中的某些方法,而不想重写其它无关方法。 2.2、对象适...
1、工厂模式 1.1、简单工厂模式 根据条件创建并获取基类的某一个派生类实例。 1.2、工厂模式 先选择使用的工厂,再选择需要的产品。 1.3、抽象工厂模式 某一类的产品统一...
1、单一职责原则 一个类只负责一项职责,减小类之间的耦合度。 2、开放关闭原则 开放扩展,关闭修改。 3、里氏替换原则 父类的抽象方法完全能由子类代替执行。 4、接口隔离原则...
1、定义 求解具有最优性质问题的方法。例如最短路径问题等。 2、概念 2.1、阶段 将待求解问题拆分而成的若干个互相联系的过程。描述阶段的变量称为阶段变量。 2.2、状态 表...
1、定义 将一组无序记录序列调整为有序记录序列的过程。 2、排序考虑的因素 2.1、时间复杂度 排序算法是否能在O(logn)或O(n)的时间复杂度内完成排序。 2.2、空间...
1、定义 将原问题分解为规模更小的子问题,逐个求解子问题,最终将子问题的解合并,作为原问题的解。 2、条件 2.1、原问题的解决难度随着数据规模缩小而降低。 2.2、原问题可...
1、定义 程序调用自身的编程方法,即某个函数自己调用自己。 2、递归的条件 2.1、待解决的问题能分解为若干子问题,这些子问题用完全相同的解题思路来解决。 2.2、待解决的问...
1、定义 哈希表(或散列表)是利用哈希函数(散列函数)把数据的存储位置与关键字码值关联后,直接根据关键字访问数据的数据结构。 2、为什么需要哈希表? 链表、栈、队列、数组、字...
1、定义 树是由n(n>=1)个结点、n-1条边组成的具有层次关系且不存在环的非线性的有穷集合。 1.1、结点 树中的元素 = 值 + 所有子结点的列表。 1.2、边 用于父...
1、定义 由n个字符(n >= 0)组成的有序整体。字符串使用两个双引号""表示,双引号之间为字符串的值。字符串本身可以看作是字符个体转换成整体的字符容器。 1.1、空字符串...
1、定义 数组是一种有序存放若干相同数据类型元素的容器。 1.1、元素(或分量或下标变量) 组成数组的各个变量。 1.2、下标(或索引) 区分数组各个元素的数字编号。 2、特...
1、定义 仅允许在表的前端(front)进行删除操作,在表的后端(rear)进行插入操作的遵循先进先出原则的线性表。 1.1、队头 进行删除操作的端。 1.2、队尾 进行插入...
1、定义 栈是一种限定仅在表尾进行插入和删除操作的遵循后进先出原则的线性表。 1.1、栈顶 增删操作的一端称为栈顶。是栈的一个指针。 1.2、栈底 相对栈顶的另一端称为栈底。...
1、定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。 2、组成 链表由一系列结点(链表中每一个元素称为结点)组成,...