自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 解析ArrayList类

ArrayList类的继承关系在这上面可以看到ArrayList和AbstractList都是实现了List接口, 但是ArrayList又是继承了AbstractList, 所以我在看这一段代码的时候就很疑惑, 作者这样做的目的是什么?http://stackoverflow.com/questions/2165204/why-does-linkedhashsete-extend-hash...

2019-01-03 11:13:23 203

原创 javaJDK自带注解

JDK自带注解1.@Override 2.@Deprecated 3.@Suppvisewarnings@Override注解的作用@Override注解仅作用在方法上,被标识方法表示重写父类的方法,用这个注解可以避免方法名跟参数写错。@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)publi...

2018-05-11 11:28:55 2742

原创 什么是java注解

java注解的定义定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类 ①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】 ② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】...

2018-05-11 11:28:26 623

原创 数据结构猜字谜游戏(Java语言编写)

    前几年买的一本数据结构与算法分析的书籍, 偶然看到以前有很多题目没有做, 现在抽空来看一下。题目:输入是由一些字母构成的一个二维数组以及一组单词组成。目标是要找出字谜中的单词, 这些单词可能是水平、垂直或者沿对角线任何方向放置的。思路:首先用广度或者深度都不是一个太理想的方式。因为条件限制, 所以在这里首先将横纵斜以及字符串反向的字符保存, ...

2018-03-25 16:27:19 1970 1

原创 标准库中的集合与映射

关于Set接口    Set接口不允许重复元的Collection。由接口SortedSet给出的一种 特殊类型的Set保证其中的各项处于有序的状态。因为一个Set IS-A Collection,所以用于访问继承 Collection的List的项的方法也对Set有效。     由Set所要求的一些独特的操作是一些插入/删除/以及(有效地)执行 基本查找的能力。对于Set,add方法如果执

2017-09-29 12:10:29 448

原创 散列冲突

概念:如果当一个元素被插入时与一个已经插入的元素散列到相同的值, 那么就会产生冲突, 这个冲突需要消除。解决这种冲突的方法有几种:本章介绍两种方法:分离链接法和开放定址法1.分离链接法    其做法就是将散列到同一个值得所有元素保留到一个表中。我们可以使用标准库的实现方法。如果空间很紧(因为表是双向链表的并且浪费空间)。 为执行一次查找,我们使用散列函数来确定是那一个链表, 然后我们在被确定的链表

2017-09-08 18:40:14 1491

原创 散列

概念:散列是一种用于以常数平均时间执行插入散列函数    如果输入的关键字是整数,则一般合理的方法就是直接返回Key mod Tablesize,除非Key碰巧据有某些不合乎需要的性质。在这种情况下, 散列函数的选择需要仔细的考虑。最好的方法就是保证表的大小是素数。     通常一般来说, 关键字是字符串;在这种情形下,散列函数需要仔细的选择。1.第一种策略就是把字符串中的ASCLL(或Unico

2017-09-08 18:02:16 441

原创 JSTL的使用和语法规则

JSTL库    JSTL是标准标签库,但它是通过多个标签库来暴露其行为的。JSTL标签可以分为5类区域。 在jsp页面中使用JSTL库,必须通过·以下格式使用taglib指令:<%@ taglib uri="uri" prefix="prefix" %>例如,要使用Core库, 必须在JSP页面的开头处做以下声明:<%@ taglib uri="http://java.sun.com/jsp

2017-07-23 15:20:00 1764

原创 李白打酒

/*话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样

2017-07-22 11:04:56 472

原创 转换器和格式化

Converter    Spring的Converter是可以将一种类型转换成另一种类型的一个对象。例如,用户输入的日期可能有许多形式,如“December 25,2014”,”12/25/2014”和“214-12-25”,这些都表示同一个日期。默认情况下,Spring会期待用户输入的日期样式与当前语言区域的日期样式相同。     为了创建Converter,必须编写一个实现org.sprin

2017-07-22 10:58:43 470

原创 海盗分金币

/* 有5个海盗,相约进行一次帆船比赛。 比赛中天气发生突变,他们被冲散了。 恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人。 第一个人在沙滩上发现了一堆金币。他把金币分成5等份。发现刚好少一个金币。他就从自己口袋拿出一个金币补充进去,然后把属于自己的那份拿走。 第二个到达的人也看到了金币,他也和第一个人一样,把所

2017-07-21 14:24:30 929

原创 六角幻方

/* * 标题:六角幻方 把 1 2 3 ... 19 共19个整数排列成六角形状,如下: * * * * * * * * * * * * * * * * * * * 要求每个直线上的数字之和必须相等。共有15条直线哦! 再给点线索吧!我们预先填好了2个数字,第一行的头两个数字是:15 13,参见图【p1.png】,黄色一行为所求。

2017-07-21 14:18:30 629

原创 表单标签的使用

表单标签库表单标签库中包含了可以用在jsp页面中渲染HTML元素的标签。为了使用这些标签,必须在jsp页面中的开头出声明taglib指令。<%@ taglib prefix="form" uri="http://springframework.org/tags/form" %>在表单标签库中的标签 标签 描述 form 渲染表单元素 input 渲染 <input type="

2017-07-21 13:55:26 1332

原创 Autowired注解的使用

1. Autowired可以将@Autowired注解为传统的setter方法,也可以用于构造器或成员变量在默认的情况下,如果找不到合适的bean将会导致aotowired失败或者是抛出异常, 但是可以通过下面的代码来避免。public class SimpleMovieLister{ private MovieFinder movieFinder; @Autowired(requ

2017-05-21 10:35:28 2639

原创 蓝桥杯之滑动解锁

题目:滑动解锁 滑动解锁是智能手机一项常用的功能。你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点。 这些划过的点所组成的有向折线,如果与预设的折线在图案、方向上都一致,那么手机将解锁。 所谓两个点“相邻”:当且仅当以这两个点为端点的线段上不存在尚未经过的点。 此外,许多手机都约定:这条折线还需要至少经过4个点。 为了描述方便,我们给这9

2017-03-28 17:11:08 979

原创 蓝桥杯之风险度量

标题:风险度量 X星系的的防卫体系包含 n 个空间站。这 n 个空间站间有 m 条通信链路,构成通信网。 两个空间站间可能直接通信,也可能通过其它空间站中转。 对于两个站点x和y (x != y), 如果能找到一个站点z,使得: 当z被破坏后,x和y无法通信,则称z为关于x,y的关键站点。 显然,对于给定的两个站点,关于它们的关键点的个数越多,通信风险越大。

2017-03-28 17:08:38 948

原创 数据结构排序之希尔排序

希尔排序(shellsort)的名称源于它的发明者Donald Shell,该算法是冲破二次时间界的第一批算法之一。希尔排序也叫做缩减增量排序。package sort;/* 希尔排序的名称源于它的发明者Donald Shell,该算法是冲破二次时间的一批算法之一。 希尔排序中使用的一个序列叫增量序列(increment sequence).只要h1 = 1, 任何增

2017-03-28 17:03:16 514

原创 归并排序

归并排序    归并排序以O(NlogN)的最坏运行时间运行, 所比较的次数几乎是最优的。它是递归算法的一个好的例子。     这个算法中基本操作是合并两个已排序的表。因为这两个表是已排序的, 所以若将输出放到第三个表中,则该算法可以通过对输入数据一趟排序来完成。基本的合并算法是取两个输入数组A和B, 一个输出数组C, 以及三个计数器Actr、Bctr、Cctr,他们初始置于对应数组的开始端。A[

2017-03-28 16:41:26 311

原创 数据结构之自定义双链表

顾名思义:双链表就是在数据域之内还保存了直接前驱和直接后继, 除头尾节点除外, 这种双链表的优点是插入和删除花费的时间为O(1)package link;/* * 双链表 */public class MyLinkedList<AnyType> implements Iterable<AnyType>{ private int theSize; //除去头尾节点之外的大小(数据的大

2017-03-28 16:33:43 473

原创 蓝桥杯之还款计算

标题: 还款计算 银行贷款的等额本息还款方法是: 每月还固定的金额,在约定的期数内正好还完(最后一个月可能会有微小的零头出入)。 比如说小明在银行贷款1万元。贷款年化利率为5%,贷款期限为24个月。 则银行会在每个月进行结算: 结算方法是:计算本金在本月产生的利息: 本金 x (年利率/12) 则本月本金结余为:本金 + 利息 - 每月固定还款额

2017-03-19 16:25:55 903

原创 高精度加法运算

问题描述   输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述   由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。   定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。

2017-03-05 20:38:13 400

原创 高精度整数运算

问题描述   输入一个正整数n,输出n!的值。   其中n!=1*2*3*…*n。 算法描述   n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。 使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。   将a乘以一个整数k变为将数组A

2017-03-05 20:36:17 756

原创 数据结构排序之插入排序

package sort;/* 最简单的排序算法之一是插入排序(insertion sort).插入排序由N-1躺排序组成。对于 p = 1到N -1 趟,插入排序保证从位置0到位置p上的元素为已排序状态。插入排序利用了这样的 事实:已知位置0到位置p - 1 上的元素处于排过序的状态。 例子: 原始数组:34 8 6

2017-03-05 20:32:35 302

原创 JAVA之伸展树

伸展树与二叉平衡查找树 AVL树(带有平衡条件的树)查找的时候最坏的情形为0(N)并不坏,只要它不经常发生就可以。任何一次访问,即使花费0(N),任然可能非常快。具有最坏运行时间0(N)但保证对任意M次连续操作最多花费O(MlogN)运行时间确实让人满意了。 伸展树和其它树的区别就是没访问一个节点的时候,那个节点就会成为根节点,这样下次访问的时候时间为0(1)并且与二叉平衡查找树比少了高度的属性

2017-02-07 18:34:33 438

原创 JAVA之查找二叉平衡树

查找二叉平衡树与查找二叉树有什么区别呢?当要进行大规模删除操作时(先不考虑懒惰删除),会出现某种情况,高度会逐渐的变大,是因为我们总是把右边最小的叶子节点变为删除的点,再去删除右边最大的点,这就导致了高度变大,查找数据时间变长,显然这是要优化的。我们需要在Node(内部节点类)中加入一个高度height的一个变量思想:当插入的时候左节点和右节点的高度度相差深度超过1的时候,必须要旋转相应的节点来

2017-02-07 18:03:34 445

原创 利用动态规划和递归分别求两个串的最大公共子序列

利用动态规划和递归分别求两个串的最大公共子序列 相关代码/* * 求两个子串的最大公共子序列 */public class Msin { /* * 1.利用递归的思想来处理的求最大公共子序列 */ public static int f(String str, String str2){ if(str.length() == 0

2017-01-23 19:41:02 490

原创 JAVA之查找二叉树ADT

查找二叉树ADT:性质:对于树中每个节点X,它的左子树所有项的值小于X中的项而它的右子树所有项的值大于X中的项/* * 查找二叉树ADT: * 性质:对于树中每个节点X,它的左子树所有项的值小于X中的项 * 而它的右子树所有项的值大于X中的项 */public class BinarySearchTree> { /* * 树节点元素 */ private static cl

2017-01-23 19:21:02 516

原创 用栈来实现计算器功能运算

使用步骤1.将一个字符串算式先转换成后缀表达式2.把后缀表达式转换成结果 相关的代码如下import java.util.Scanner;import java.util.Stack;public class Task3_22 { /* * 中缀转后缀 */ public static void Suffix(String str){ S

2017-01-18 20:53:18 626

原创 数据结构之重写ArrayList的底层源码

数据结构之重写ArrayList的底层源码重写的几个主要方法构造方法添加(add)方法清除(clear)方法添加(get)以及修改(set)方法删除方法(remove)查找元素的迭代器的内部类实现(Iterator)如何合理运用这些代码,它们的时间复杂度又是多少呢?ArrayList的实现 ArrAyList是一个java里面的一种集合,它与数组最大的区别就是能够自动增大容量并

2017-01-15 13:10:20 657

原创 jsp中的request内置对象

客户端请求信息,封装在request对象中,通过它才能了解到客户的需求,然后做出响应。他是HttpServleRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。常用方法如下代码会员登录会员登录用户名:密码:爱好音乐看书看电影上网通过URL传

2016-10-08 22:44:37 421

转载 电脑事件日志服务报错1747,未知身份错误

晚上开电脑时遇到了奇怪的问题,Win 7 SP1 系统,输入密码后,一直卡在「欢迎」,硬盘也不闪,敲击两次Ctrl+Alt+Del后打开安全菜单,进入任务管理器,发现只有五六个进程在运行,桌面是黑色的。重新启动,进入网络安全模式,照样是黑色桌面,不过多了一点消息,屏幕右下角出现一个黑色气泡,字很多,大致写的是「System Event Notification Service」服务不能使用,系

2016-10-07 17:08:28 5074 1

springmvc、spring、hibernate项目

框架整合小项目

2017-08-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除