摘要: 一、问题介绍 有一个迷宫地图,有一些可达的位置,也有一些不可达的位置(障碍、墙壁、边界)。从一个位置到下一个位置只能通过向上(或者向右、或者向下、或者向左)走一步来实现,从起点出发,如何找到一条到达终点的通路。本文将用两种不同的解决思路,四种具体实现来求解迷宫问题。 用二维矩阵来模拟迷宫地图,1代表 阅读全文
posted @ 2018-08-06 16:30 随性如风 阅读(35247) 评论(5) 推荐(4) 编辑
摘要: 一、java对象初始化过程 第一步,加载该类,一个java对象在初始化前会进行类加载,在JVM中生成Class对象。加载一个类会进行如下操作,下面给出递归描述。(关于Class对象详见反射 点击这里) 如果该类有父类,则先加载其父类。 i 初始化该类静态成员 ii 执行该类静态代码块 第二步,创建对 阅读全文
posted @ 2018-07-06 22:41 随性如风 阅读(5116) 评论(0) 推荐(1) 编辑
摘要: java有四种访问权限,它们各自的范围如下图所示 当下列访问修饰符修饰字段和方法时: private 任意位置的子类不可以访问从父类继承的private字段和方法。这里所说的访问包括通过super关键字访问。 任意位置的对象不能通过“.”访问对象的字段和方法。 public 任意位置的子类可以访问从 阅读全文
posted @ 2018-07-02 20:13 随性如风 阅读(3304) 评论(0) 推荐(0) 编辑
摘要: 一、基本思想 归并排序,将当前序列分成若干个小的有序序列,然后逐个合并成更大的有序序列。这里所谓的若干个小的有序序列即是将序列分割成n个长度为1的序列,然后两两合并成长度为二的有序序列。然后在将这长度为二的有序序列合并为长度为四的有序序列。依次类推,最终达到原序列长度,这样,排序就完成了。这其实是归 阅读全文
posted @ 2018-06-21 23:26 随性如风 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 一、基本思想 堆排序是在选择排序基础上改进的排序,首先建立大根堆(即任意根节点的值均不小于子节点),然后每次取出堆顶元素,重新调整堆,然后再取出堆顶元素,直至最后一个堆元素被取出,则整个排序也就完成了。它的思想就是每次取出堆中的最大值,使其自然成序。 二、实现步骤 我们用一个数组来建立堆,期间会用到 阅读全文
posted @ 2018-06-21 15:26 随性如风 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 一、基本思想 每次从待排记录中选出最小值放在有序记录的末尾。等每一个待排元素均被选出后,整个记录排序就完成了。 二、实现步骤 这里采用双向选择排序,每次从待排记录中选出最大值和最小值,最大值和待排记录的最后一位交换位置,最小值和待排记录的第一位交换位置。 注意,交换位置分如下情况: 1)最大值在最左 阅读全文
posted @ 2018-06-20 13:00 随性如风 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 一、基本思想 快速排序是 一种基于交换的排序算法,是对冒泡排序的改进。它的基本思想是,通过一趟快速排序,将待排记录分割成独立的两部分,其中一部分的关键字均比另一部分小;在分别对这两部分进行排序排序,直至整个序列有序。 二、操作步骤 1.将待排记录分隔成独立的两部分,其中一部分的关键字均比另一部分小。 阅读全文
posted @ 2018-06-19 11:42 随性如风 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 一、何为动态代理? 建议看动态代理前,先看看反射 点击这里 先看一个小案例,假设有咖啡类A,B,C。有添加物类a,b,c,。现在对咖啡类进行增强。( 比如像向啡中加糖,牛奶等这个意思)。 对一个类进行增强可以有三种方式: 1.继承,可以直接继承父类的属性和方法,在新增自己的属性和方法。那么我们对每种 阅读全文
posted @ 2018-06-09 19:11 随性如风 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 一、类加载器定义 从作用的角度来认识类加载器:(根据API文档) 1.类加载器是一个负责加载类的对象,而ClassLoader是一个抽象类。类加载器将xxx.class文件加载到JVM,生成xxx的Class对象。(Class详见反射 点击这里) 2.类加载器被安全管理器用来表示安全范围。 二、类加 阅读全文
posted @ 2018-06-08 16:33 随性如风 阅读(607) 评论(0) 推荐(1) 编辑
摘要: 反射是Java中一个非常重要、非常强大的机制。曾看到一句话“反射是框架的灵魂”,初学时不懂,等到学完框架之后才慢慢理解其意。 什么是反射?我们先通过几个类和示例来初步体会一下反射。 一、ClassLoader类 什么是类加载器? ClassLoader是一个抽象类,它的实例是类加载器。磁盘上存在的x 阅读全文
posted @ 2018-06-06 16:23 随性如风 阅读(4025) 评论(0) 推荐(2) 编辑