自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 括号匹配算法

在文本编辑中,有必要检测一个字符串中的括号是否匹配。括号包含小括号(),中括号[ ],大括号{ },简单情况下是只包含这三种括号中的一种,可以提供一个计数器,当遇到左括号计数器值加一,遇到一个右括号,计数器值减一。遍历一遍字符串,最后计数器值为0,那么括号是匹配的,否则不匹配。但是,如果涉及两种以上的括号,这种办法就会失效。所以,选择用堆栈来辅助记录,当遇到左括号就压入栈中,当遇到右括号,弹出堆栈...

2019-11-20 15:39:24 525

原创 找无重复字符的最长子串长度之滑动窗口算法

给定一个字符串,找出其中无重复字符的最长字串长度。如“abcabc”,结果为3;如”aaa“,结果为1。求解算法有多种,本篇主要介绍其中的滑动窗口算法。什么是滑动窗口? 滑动窗口是数组/字符串问题中常用的抽象概念。 窗口通常是在数组/字符串中由开始和结束索引定义的一系列元素的集合,即 [i,j)[i, j)[i,j)(左闭,右开)。而滑动窗口是可以将两个边界向某一方向“滑动”的...

2019-11-17 15:02:18 858

原创 找最长回文子串之中心扩展算法

给定一个字符串,找到其中的最长回文子串,如“aababb”,结果为“aba”,或者“bab”;又如“abccbab",结果为”abccba“。求解的方法有很多种,这里介绍其中一种:中心扩展算法。中心扩展算法顾名思义,把字符串中的某一个字符作为中心,向中心的两边扩展查找。当中心左右两边的字符一样时,肯定构成一个回文子串,并且继续向两边扩展查找,直至达到边界。而一个字符串中存在2n-1个这样的中心...

2019-11-17 14:25:31 449 1

原创 java定时器介绍及简单模拟实现

java定时器(java.util.Timer)可以方便,高效地帮助我们完成一些周期性的操作,比如每天零点整对数据初始化操作等等。通过调用Timer内部的schedule(TimerTask task, Date firstTime, long period)方法,其中第一个参数是TimerTask类型,它“实现”了Runnable接口,但依然是抽象的,需要我们把执行的任务写在Run()方法里。第...

2019-10-26 13:05:05 219

原创 Spring介绍及模拟实现(1)

虽然说:重复造轮子是愚蠢的事情,但是对于初学者而言,一切都是在重复。我们不可能一上手就创新,只有在不断重复地练习,熟练运用并理解了前辈们留下的代码及思想,才能结合自己的理解,去创新自己的代码。所以,模拟实现Spring像是在班门弄斧,但是我们真正的意图是更好地理解Spring框架,这样不管是在运用Spring框架时,还是需要自己编写代码处理类似情况时,我们都能有更多的理解及灵感。首先,我们要对...

2019-10-09 18:38:34 168

原创 XML解析工具的实现

配置XML文件能实现一些非常实用的功能,自然XML文件的解析工作必不可少。通过JDK内的API就可以完成XML文件的解析,把这一解析过程工具化,我们以后需要解析XML文件时,就不必写大量重复性的代码了。下面给出了XML工具的实现类,如果是初学者,建议看不懂的地方当成是“巫师的咒语“,执行拿来主义,先学会用,日后再做理解。代码如下:import java.io.IOException;i...

2019-09-27 00:15:28 196

原创 C-S框架自动调用并执行应用层的方法及具体实现

今天来讲解关于C-S框架内部,自动调用并执行应用层所编写的方法的一种处理方案。具体的应用场景为,客户端应用层通过我们的 C-S框架向服务器端发送请求,服务器端在收到请求后,根据请求的内容自动反射执行服务器应用层已编写好的程序,并将执行的返回值作为回复,发送给客户端。客户端在收到服务器端的回复后,根据回复内容自动反射执行客户端应用层已编写好的程序的过程。下面来讲解这一过程的具体实现方案。首先...

2019-09-26 01:10:48 212

原创 Java各种集合的特点和数据结构

Java各种集合可以看作是一种容器,用来存储对象信息。集合类位于java.util包下,能支持多线程的集合类位于java.util.concurrent包下。其关系如下图:Colloection:单列集合List 有序,可重复集合:ArrayList 基于数组,查询快,增删快,不是线程安全的LinkedList 基于链表,查询慢,增删快,不是线程安全的Vector 基于数组,...

2019-06-11 13:35:41 265

空空如也

空空如也

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

TA关注的人

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