数据结构Generic

​ 接下来我们要处理的是前面实现里另一个 根本性的缺陷 那些实现只适用于字符串,想要实现其他类型数据的队列和栈怎么办呢? 这个问题就涉及泛型的话题了。 ​ 有一个广泛采用的捷径是 使用强制类型转换对不同的数据类型重用代码 我们对Object类实现数据结构,Java中所有的类都是Object的 子类,当客户端使用时,就将结果转换为 对应的类型。这个我不想花很多时间来讲 因为我认为这样的解决方案不能令人满意。 ​ 第二种方法是用的是泛型 这种方法中客户端程序不需要强制类型转换...

Read More

数据结构Queue

​ 栈和队列其实是相同的,只是名字不一样 入栈换成了入队(enqueue),出栈换成了出队(dequeue)。语义 是不同的。入队操作向队尾添加元素,而出队操作从 队首移除元素。 ​ 现在,队列的链表表示中 我们需要维护两个指针引用。一个是链表中的第一个 元素,另一个是链表最后一个元素。插入的时候我们在 链表末端添加元素,而不是在链表头。移除元素的时候 不变,依然从链表头取出元素。那么这就是出队操作的实现 和栈的出栈操作的代码是一样的。保存元素,前进指针 指向下一个节点,这样就...

Read More

数据结构Stack

​ 在很多应用中,我们需要维护多个对象的集合,这种操作非常简单。我们可能想要向集合中 加入某个元素,去掉某个元素,以及遍历 集合中的元素并对他们执行某种操作,当然还有 检查集合是否为空。对于大多数操作来说,目的都很明确 关键是当需要去掉一个元素时,去掉哪一个元素呢?处理这类问题 有两个经典基础数据结构,栈和队列。 ​ 它们的区别就在于 去除元素的选择方式。在栈中,我们取出 最近加入的元素。插入元素对应的术语是入栈(push) 去掉最近加入的元素叫做出栈(pop)。这也叫做后进先...

Read More

Java 虚拟机对象布局及创建过程

一. 对象创建过程一、类加载​ 这个阶段其实主要做的就是类的加载验证,以及类的准备等等一系列的工作。为后面的类的初始化和解析做铺垫。 二、类解析​ 这个阶段主要对上面已经加载入内存的类进行词法语法的解析,形成语法树等操作。 三、类初始化​ 类初始化执行的就是 <clinit> 方法,以及在类中的各种常量的初始化(放入常量池中的常量)。 四、分配内存​ 虚拟机对所需要创建的对象分配内存,在类的解析的时候其实已经知道实例变量需要的堆空间了。此时只需要调用...

Read More

Java 虚拟机运行时数据区

运行时数据区:Java 虚拟机的运行时数据区按照大的可以分为线程独立使用的数据区,和所有线程共享的数据区。 一.线程独立使用数据区1.程序计数器 程序计数器其实就是 jvm 里面的pc,他指向的都是字节码的偏移量,也就是下一条要执行的字节码 当然这是 jvm 在执行 java 方法的时候,当程序在执行 navtive 方法的时候这时候起作用的其实是我们物理机上的 pc 此时 jvm 的 pc 是空值(undefine) 并且这个地方也是所有的 jvm 内存区完全不会抛出 OutOfMema...

Read More

今日总结20180304

八大排序算法 优先队列 红黑树 并查集 左式堆 栈的应用:逆波兰表达式计算、中缀表达式转后缀表达式 队列应用:杨辉三角、 最大子序列的和:分治、贪心 递归的四大原则: 基准情型:所有的递归都有一个基准,或者说是递归停止的界限,他是无序计算就能够得到的 不断推进:向着基准方向不断的推进,也就是递归的过程。 设计法则:我们假定递归的每一个环节都能运行,也就是我们无需考虑递归甚至调试追踪递归内部的情形 合成效益:不要进行重复的计算. 内部类的作用,静态内部类的特点。 二叉树表示表达式,先序...

Read More

博客迁移到 coding 了

​ 从这个博客搭建成功到现在已经过了两年了,哎!时间真的过的超快。纪念一下 :) ​ 但是一直以来我的博客都是托管到 github 上面的,每次最讨厌去访问博客了,做一次翻页我的等几秒,用户体验极差(虽然还是我自己写的,要是别人的博客估计直接一个 ctrl+w 伺候着了 )。 ​ ​ 后来也是看到简书上有人说使用 coding 也可以部署 hexo 一直想迁移来着,昨天终于是完全的迁移过来了。感觉速度真的没的说,比我用梯子访问 github 不知道快了多...

Read More

今日总结20180304

八大排序算法 优先队列 红黑树 并查集 左式堆 栈的应用:逆波兰表达式计算、中缀表达式转后缀表达式 队列应用:杨辉三角、 最大子序列的和:分治、贪心 递归的四大原则: 基准情型:所有的递归都有一个基准,或者说是递归停止的界限,他是无序计算就能够得到的 不断推进:向着基准方向不断的推进,也就是递归的过程。 设计法则:我们假定递归的每一个环节都能运行,也就是我们无需考虑递归甚至调试追踪递归内部的情形 合成效益:不要进行重复的计算. 内部类的作用,静态内部类的特点。 二叉树表示表达式,先序...

Read More

博客迁移到 coding 了

​ 从这个博客搭建成功到现在已经过了两年了,哎!时间真的过的超快。纪念一下 :) ​ 但是一直以来我的博客都是托管到 github 上面的,每次最讨厌去访问博客了,做一次翻页我的等几秒,用户体验极差(虽然还是我自己写的,要是别人的博客估计直接一个 ctrl+w 伺候着了 )。 ​ ​ 后来也是看到简书上有人说使用 coding 也可以部署 hexo 一直想迁移来着,昨天终于是完全的迁移过来了。感觉速度真的没的说,比我用梯子访问 github 不知道快了多...

Read More

SpingBoot笔记一

一.目录配置1、Application.java 建议放到跟目录下面,主要用于做一些框架配置 2、domain目录主要用于实体(Entity)与数据访问层(Repository) 3、service 层主要是业务类代码 4、controller 负责页面访问控制 ##二.pom.xml 配置 引入web模块 1、pom.xml中添加支持web的模块: 1234<dependency> <groupId>org.springframework.boot&...

Read More


Powered by Hexo and Hexo-theme-hiker

Copyright © 2015 - 2025 昨夜凛雨 All Rights Reserved.

UV : | PV :