摘要: 最近遇到两个题目,比较有意思,由于两个题目的描述比较相似,在这里就一起说了,做一个比较 题目一:给定一个字符串,给该字符串添加一些字符,使其成为一个回文串,求需要添加的最少字符数,并求出添加字符后回文串的样子,如果有多个这样的回文串,只用返回其中一个即可 比如: str="AB" 那么,只用在 "A 阅读全文
posted @ 2019-09-08 21:59 流浪猿球 阅读(1871) 评论(0) 推荐(0) 编辑
摘要: 关于java的自动包装机制想必大家都用过吧,一般这些机制都用于在往容器中存储基本类型数据的时候,因为容器中不允许存在基本数据类型,所以就会调用自动包装机制,将基本数据类型转换为对象,将基本数据保存在对象中,并且提供一些基本方法,但是自动包装机制存在一些陷阱,使用不当就会出错 先看看下面一个例子吧 上 阅读全文
posted @ 2019-05-04 11:54 流浪猿球 阅读(1600) 评论(0) 推荐(0) 编辑
摘要: 以下我说的排序算法都是说的从小到大排序 1.插入排序 插入排序是每次都确定一个数,在最差情况下,每次都需要遍历当前插入元素的前面所有元素,所以其时间复杂度为O(N^2),有一个哨兵位置,所以空间复杂度为O(1),插入排序是稳定的排序算法 2.冒泡排序 冒泡排序是每次都是从前到后的扫描,每次都把最大的 阅读全文
posted @ 2019-05-02 10:04 流浪猿球 阅读(462) 评论(2) 推荐(2) 编辑
摘要: 在使用线程池时,我们都知道线程池有两种提交任务的方式,那么他们有什么区别呢? 1.execute提交的是Runnable类型的任务,而submit提交的是Callable或者Runnable类型的任务 2.execute的提交没有返回值,而submit的提交会返回一个Future类型的对象 3.ex 阅读全文
posted @ 2019-04-27 16:58 流浪猿球 阅读(6223) 评论(0) 推荐(1) 编辑
摘要: 再进入主题之前,我们先了解几个概念,对读源码有所帮助,对于线程池的运行状态,有4个级别,分别是RUNNING,SHUTING,STOP,TIDING,TERMINATED 解释如下: 将这几个任务对应着数字,所以可以进行大小比较 下面我们正式了解线程池: 线程池的实现有很多,比如 这些线程的创建方法 阅读全文
posted @ 2019-04-26 20:54 流浪猿球 阅读(714) 评论(0) 推荐(0) 编辑