无论事情怎么糟糕,将来多么不确定,当下多么痛苦,保持一颗让自己有好心情的❤。
数据结构Generic
接下来我们要处理的是前面实现里另一个 根本性的缺陷 那些实现只适用于字符串,想要实现其他类型数据的队列和栈怎么办呢? 这个问题就涉及泛型的话题了。 有一个广泛采用的捷径是 使用强制类型转换对不同的数据类型重用代码 我们对Object类实现数据结构,Java中所有的类都是Object的 子类,当客户端使用时,就将结果转换为 对应的类型。这个我不想花很多时间来讲 因为我认为这样的解决方案不能令人满意。 第二种方法是用的是泛型 这种方法中客户端程序不需要强制类型转换...
Java 虚拟机对象布局及创建过程
一. 对象创建过程一、类加载 这个阶段其实主要做的就是类的加载验证,以及类的准备等等一系列的工作。为后面的类的初始化和解析做铺垫。 二、类解析 这个阶段主要对上面已经加载入内存的类进行词法语法的解析,形成语法树等操作。 三、类初始化 类初始化执行的就是 <clinit> 方法,以及在类中的各种常量的初始化(放入常量池中的常量)。 四、分配内存 虚拟机对所需要创建的对象分配内存,在类的解析的时候其实已经知道实例变量需要的堆空间了。此时只需要调用...
Java 虚拟机运行时数据区
运行时数据区:Java 虚拟机的运行时数据区按照大的可以分为线程独立使用的数据区,和所有线程共享的数据区。 一.线程独立使用数据区1.程序计数器 程序计数器其实就是 jvm 里面的pc,他指向的都是字节码的偏移量,也就是下一条要执行的字节码 当然这是 jvm 在执行 java 方法的时候,当程序在执行 navtive 方法的时候这时候起作用的其实是我们物理机上的 pc 此时 jvm 的 pc 是空值(undefine) 并且这个地方也是所有的 jvm 内存区完全不会抛出 OutOfMema...
今日总结20180304
八大排序算法 优先队列 红黑树 并查集 左式堆 栈的应用:逆波兰表达式计算、中缀表达式转后缀表达式 队列应用:杨辉三角、 最大子序列的和:分治、贪心 递归的四大原则: 基准情型:所有的递归都有一个基准,或者说是递归停止的界限,他是无序计算就能够得到的 不断推进:向着基准方向不断的推进,也就是递归的过程。 设计法则:我们假定递归的每一个环节都能运行,也就是我们无需考虑递归甚至调试追踪递归内部的情形 合成效益:不要进行重复的计算. 内部类的作用,静态内部类的特点。 二叉树表示表达式,先序...