自定义博客皮肤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)
  • 收藏
  • 关注

原创 栈的应用-表达式求值

栈是一种先进后出的数据结构,栈的应用很多,表达式求值问题就是一个典型的应用,包含:括号匹配,中缀/后缀表达式的转换以及后缀表达式求值…括号匹配使用栈,可以检查一个表达式的括号是否匹配,由于只关心括号的成对匹配,而不关心括号的类别,所以假设只包含()。检查括号匹配的算法思路是:① 依次遍历表达式,记录当前字符② 如果当前字符不是括号,继续遍历下一个字符③ 如果当前字符是左括号,入栈...

2019-08-15 19:19:51 661

原创 一次循环获取数组最小的两个数

很多情况下,我们需要找到一组数中的最小值或者最大值,通过一次循环就可以搞定,那么如果要获取最小的两个数可以吗?只需要稍作变动就可以实现…很多情况下,我们需要找到一组数中的最小值或者最大值,最简单的方法是循环遍历一次,代码实现非常容易(以最小值为例): public static int getMin(int[] values){ int min=values[0]; fo...

2019-08-01 16:07:41 2019

原创 创建一个泛型数组会发生什么?

数组的使用频率非常高,我们经常会创建一个数组,无论是基本类型还是引用类型的数组;但是你尝试创建过泛型数组吗?又会发什么什么?尝试创建一个泛型数组如果你使用Java语言,并且尝试创建一个泛型数组;好吧,其实你会发现根本无法创建一个泛型数组,编译器在编译阶段就制止了你的这一行为。数组与泛型不能很好的结合,也不能创建具有泛型类型的数组。其中的原因与泛型的实现机制有关。泛型与类型擦除Java...

2019-07-20 23:30:54 491

原创 如何在实际项目中使用PageHelper分页插件

PageHelper是一个分页插件,能够简单快速的帮助开发人员完成常见的分页功能,你只需要简单的使用两行代码就可以完成一个分页效果…最近做一个科创项目,使用Maven+SSM的环境,有分页的功能,于是使用了PageHelper的分页工具来完成分页功能,体验非常不错。准备工作1. 数据库准备t_diy是用户自己写个性文章的的一个表,t_categories是文章的分类表,t_user用...

2019-07-11 23:26:32 374

原创 (旋转数组的)二分查找算法

二分查找算法(Binary Search)是一种高效的、应用广泛的查找算法。它是一种采用分治策略的算法。基本二分查找算法二分查找是针对顺序存储的有序序列的;二分查找的基本思想是:将目标元素与序列中位数比较,如果大于中位数则在右半段序列查找,反之在左半段查找。为了能够方便表示(以升序序列为例),设置两个索引值start,end表示查找范围即下图中的两个灰色箭头,设置一个标记mid表示当前范围...

2019-06-17 13:32:21 1914

原创 持有对象-容器类基础

容器类的作用是存储对象(持有对象),它们提供不同的方式保存程序中的对象,常用的容器有ArrayList,LinkedList,HashMap等…Java容器的继承结构橙色框是最常用的几个容器类。容器的基本概念Java容器类类库的用途是保存对象;容器类被划分为两大类:Collection和MapCollectionCollection是独立元素的序列,这些元素的存储都必须遵守一定的...

2019-06-14 15:40:25 271

原创 内部类自救指南

内部类是Java的一个重要组成,参考《Java编程思想》一书后,对内部类进行了一些整理…初识内部类内部类是指在类内部定义的类.内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并控制位于内部类的可视性。内部类了解外围类,并能与之通信,而且你用内部类写出的代码更加优雅而清晰,尽管并不总是这样。——摘自《Java编程思想》内部类与外围类的通信开始并创建一个内部类...

2019-06-08 07:19:15 137

原创 计数排序

认识计数排序计数排序是一种典型的不需要比较的排序方法,它的算法效率高于基于比较的排序算法的效率。计数排序是一种稳定的排序算法。简单计数排序计数排序将待排元素值定义为数组下标,用数组对应的值表示该下标(元素)出现的次数,最后将遍历数组即可得到有序的元素。比如有一组数[4,2,5,1,2,2,4,5,6],由于需要将元素值转换为数组下标,所以需要一个新的数组counting,长度为元素最大值+...

2019-05-10 08:39:45 359 1

原创 单链表环问题?

如何判断单链表是否存在环如果单链表的尾节点的next指针不为null,而指向链表中的某个节点,则称该单链表存在环。比如下图所示的单链表是一个存在环的单链表(请暂时忽略meeting):判断单链表是否存在环有多种方法,比如你可以使用哈希缓存,快慢指针甚至直接暴力的遍历等方法。本文介绍快慢指针法的解决策略。快慢指针法的实现思路如下:定义两个指针:快指针和慢指针;都指向第一个节点快指针...

2019-05-03 15:03:31 168

原创 独一无二的单例模式

经典单例模式单例模式被定义为:确保一个类只有一个实例,并提供一个全局访问点。单例模式使得一个类只能有唯一的一个实例,这意味着不能再使用new关键字创建对象,因为一旦可以被new,就可以被多次new。问题1:如何保证一个类只有一个实例?问题2:不能使用new如何获取对象?这两个问题的答案非常简单:由于new对象会调用构造方法,所以只需要将构造方法定义为private(虽然很少这么干,但...

2019-04-28 13:28:40 134

原创 学会了这个调试方法,再难的Bug都不怕!

作为一个程序员,不仅要担心的自己的发量,而且每天都要饱受Bug的折磨,遇到Bug是经常的事,今天就教大家一个调试代码的绝招!第一步 打开开发环境比如我这里打开了Atom编辑器。第二步 找到需要调试的代码比如我这里想要调试一下C++实现的一段数据结构代码。第三步 具体的调试办法首先,你要通过各种方法采购到我们至少一只小黄鸭,大小不限;然后你要将买到的小黄鸭放在电脑前,小黄鸭的朝向无关紧...

2019-04-25 14:36:22 404

原创 String相关的四种字符串类

本篇文章介绍String,StringBuilder,StringBuffer和StringJoner的区别和使用,以及如何进行字符串拼接的常用方法StringString类被final修饰,不可被继承,内部由一个被final字符数组实现,因此String是一个不可变类,这意味着对String的每次修改都会创建新的存储空间,而StringBuilder,StringBuffer都是字符串变量...

2019-04-12 10:04:57 336

原创 IO流与装饰者模式

个人网站:smartpig612.club 微信公众号:SmartPig阅读本篇文章大约花费您8-10分钟装饰者模式的定义:动态的将责任附加到对象身上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。了解装饰者模式装饰者模式的定义:动态的将责任附加到对象身上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。在定义在提到了几个关键点:动态附加扩展功能比继承更优由此...

2019-04-09 16:52:13 1064

原创 深入理解HashMap

HashMap介绍HashMap是Java中Map的一个实现类。是一个双列结构,插入和查询的效率都很高;允许null键和null值。HashMap的键唯一,值可以重复,元素存储无序;HashMap是线程不安全的。HashMap是一个散列表。JDK1.8对HashMap使用了红黑树进行优化。HashMap的双列结构HashMap采用数组+链表的双列结构,简单示意图如下:HashM...

2019-04-01 09:23:31 236

原创 Hutool使用指南(五):分页工具

阅读本篇文章大约花费您4~5分钟! 今天是Hutool的第五篇文章,一起了解一下分页工具的使用。 分页工具:PageUtil,主要帮助操作数据库的方便,几乎所有的网页都需要使用分页来显示过多的数据,以MySQL为例,常用的是limit子句,用于限制查询的结果,limit后面的参数是起始记录,而我们更加习惯于第几页和每一页的容量来描述分页,分页工具可以很方便的帮助我...

2019-03-17 22:45:13 16882

原创 Hutool使用指南(四):正则工具

今天介绍Hutool的正则工具,由于和正则表达式关系密切,所以今天只是了解一下正则工具的基本使用,以后会专门介绍正则表达式,到时再结合Hutool详细介绍。 正则表达式工具类是ReUtil,其中的方法都是static方法。判断是否匹配使用isMatch(String regex,CharSequence content):boolean方法,第一个参数是正则,第...

2019-03-04 20:20:33 18417

原创 Hutool使用指南(三):随机工具

阅读本篇文章大约花费您1~2分钟! 今天给大家介绍Hutool工具中随机工具的使用方法。随机工具非常简单,也非常容易理解,用了一次就会。 随机工具主要是封装了java.util.Random对象,提供了一些产生随机数或者随机字符串的方法。随机工具类是RandomUtil,里面的方法都是静态方法。了解随机工具方法随机工具的主要方法如下:RandomUtil.r...

2019-02-28 16:54:04 16889

原创 Hutool使用指南(二):字符串工具

阅读本篇文章大约花费您5分钟!     今天是Hutool工具的第二篇文章,介绍一下字符串相关的处理方法。字符串工具指cn.hutool.core.util.StrUtil类,其中对String的多种方法进行了封装并且提供了其他方便实用的方法。StrUtil中的方法是静态方法。从多个字符串中判断是否有空      这里的空有两层含义:一是null或者“”(空串),二是不可见字符构成的字...

2019-02-26 20:14:04 30662

原创 单链表逆序掌握这两种思路就够了!!!

阅读本篇文章大约花费您4~5分钟!      链表是非常重要的一种数据结构,插入和删除的效率都是O(1),但是查找的效率比较低是O(n)。在单链表中,经常会遇到逆序单链表的题目,虽然听起来很简单,但是要想完整无误的写出代码,还是有很多细节要注意的。     今天给大家介绍两个思路来分析这个问题。     首先我们要知道单链表逆序的本质就是将节点的next指针指向它的前一个节点;并且完成...

2019-02-21 23:37:29 2701

原创 Hutool使用指南(一):时间日期工具

阅读本篇文章大约花费5~6分钟!    从今天开始,持续为大家介绍一款超厉害的国产Java工具——Hutool。Hutool是一个Java工具包类库,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类。适用于很多项目以及Web开发,并且与其他框架没有耦合性。话不多说,今天首先介绍Hutool中的时间日期相关操作。时间日期类介绍DateUtil...

2019-02-20 22:53:51 75366 6

原创 从《天行九歌》到海盗问题

阅读本篇文章大约花费您8分钟!今天和大家一起思考一道博弈题:海盗问题。提出海盗问题在国产动画《天行九歌》中,有这样一个场景:在鬼兵盗窃军饷后,公子韩非深入将军府,与大将军姬无夜展开了一场精彩绝伦的对弈,其中涉及到一个分金币的游戏,游戏规则如下:图片中提到的游戏实际上是一道博弈题:海盗问题。分金币是一种变种而已,本质是不变的。题目的一种解法已经在图片中显示出来了。关于海盗问题如何...

2019-02-09 21:26:44 318

原创 超级简单的导航菜单效果!

阅读本篇文章大约花费您1-3分钟!最近刚刚结束了数据库的课程设计,因为正好学了JavaWeb,就做了一个简单的管理系统,于是想着做一个菜单导航栏,可以将所有的功能都放在这个导航栏中,因为还没有学前端的框架,就直接用JS写了一个简单的效果:今天就和大家分享一下这个简单的效果的制作方法吧!一.准备工作准备工作非常简单:下载好JQuery,放在eclipse的WebContent...

2018-12-27 13:10:08 596

原创 多个请求使用一个Servlet!

阅读本篇文章大约花费您4分钟!在写JavaWeb的项目时,MVC模式是一个基本思想,不使用任何框架的情况下,当我们的功能模块变多以后,我们的请求也会变多,这些请求往servlet传送的时候,都会调用doPost()或者doGet()方法,但是一个servlet只有一个doPost()或者doGet(),处理这么多请求显然是忙不过来的。我们应该如何解决这个问题?一.一个请求写一个Serv...

2018-12-26 19:48:25 584

原创 HttpServlet背后的那些事!

阅读本篇文章大约花费您4分钟!  我们自己新建一个Servlet类的时候,我们通常会继承自HttpServlet类,并且编译器也是默认帮我们继承了HttpServlet类,为什么我们要继承HttpSerlvet类呢?初学Web的同学一定知道Servlet类,并且熟知里面的五个方法和Serlvet的生命周期,为什么到具体使用Serlvet的时候却和HttpServlet关系深厚,看起来和Serl...

2018-12-17 15:58:22 180

原创 JavaWeb中常见配置文件的配置方法!

  今天给大家总结一下javaWeb常见配置文件的配置方法吧。一.Tomcat的安装下载并解压tomcat安装包 配置java_home环境变量,值为jdk安装路径 配置catalina_home环境变量,值为tomcat安装路径上面就是基本的配置方法,tomcat默认的端口号是8080,如果因为各种原因想要修改,只需要在tomcat安装路径下的conf/server.xml配置co...

2018-12-15 20:36:58 3513

原创 马上要步入社会的你该怎么办?

今天南京下雪了,这么冷我还是去参加了学生会组织的校友讲堂活动,请了两位学长和我们分享经验。这么好的机会,我当然要把今天学长们给的忠告和大家分享,希望大家在奋斗的路上不再迷茫!考研vs工作vs创业?考研对于不是知名大学生给自己更高平台的一个好机会!当下定决心考研的那一刻,就不要再受外界的干扰,一定要专心备考,并且重中之重是一定要选一个好的大学的好的专业,不要为了容易考而报一个一般的学校,考研就...

2018-12-09 22:34:55 645 2

原创 关于Struts2出现“No result defined for action”的错误!

学习Struts2的过程中,你是否遇到过这样的错误:今天我在测试表单重复提交的时候就突然出现了这个错误,仔细看了代码和配置文件,发现没有什么问题,下面是出现错误的配置文件代码<package name="default" extends="struts-default"> <action name="login"

2018-12-04 15:15:18 1025

原创 深入解析Struts拦截器的工作原理

Struts2中有三大核心:ognl,拦截器和action;这里就给大家介绍一下Struts2拦截器的工作原理;

2018-11-27 12:24:42 438 2

原创 大整数求和其实很简单!

昨天参加了学校的程序设计大赛,最后一题就是单纯的大整数求和的实现,由于前面做的比较慢,最后没有来得及做,还是有点遗憾的。那么大整数是什么样的数?究竟有多大呢?求和又该怎么样实现?下面分别介绍这几点。## 何为大整数百度百科给出的定义如下:大数在编程中表示超过32位二进制位的数....

2018-11-22 11:34:37 2198 2

原创 Java是如何一步一步抓住了我的心

刚进大学那会,对编程真的是一无所知,大一莫名其妙的学了C语言,然后学了C++,当初的感觉就是C真的很好用,那时候完全体会不到指针,内存等问题的繁琐。后来接触了java,正所谓没有对比就没有伤害,和java相比,c的各种问题就一涌而出了。第一次感受到C++的不便就是因为编译器的原因,我用的是VS系列,我不得不说和eclipse相比,VS的界面真的做的很不错,一看就是有一种贵族气息,而且它的功能确实...

2018-11-20 20:04:14 176

原创 关于struts2.5.18框架访问jsp时报404的错误

最近在搭建struts2框架的时候遇到了jsp404的错误,于是我开始在百度上搜各种技术博客,对着各种各样的问题试了很久,仔细检查了很多遍发现路径没有写错,url映射也是没问题的,web.xml和struts.xml的配置也都没有问题,但是就是没有解决这个问题,当时一度想把电脑砸了。后来实在没办法,把eclipse全部删干净,从头开始,我开始导入jar包,然后我就发现我这一次导进来的jar包好像...

2018-11-18 22:02:24 622

Struts2解决表单重复提交

struts2中对表单重复提交的处理方法;包括处理两种典型的表单重复提交的思路和方法

2018-12-17

空空如也

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

TA关注的人

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