排序算法的稳定性
摘要:稳定的排序算法:归并,插入排序 不稳定的排序算法:选择排序 (5,7,5,3)3和5交换之后,两个5的相对顺序发 生了变化) shell排序 (1, 5, 5, 2,3, 7) 间隔序列为(3, 1), 3的时候 (1,5,7)(5,2,3)), 在间隔>1的时候会出现不 稳定 快速排序 (3, 5
阅读全文
posted @
2017-08-30 18:50
blythe
阅读(134)
推荐(0)
23种设计模式分类
摘要:设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Meth
阅读全文
posted @
2017-08-30 18:23
blythe
阅读(224)
推荐(0)
哈夫曼树
摘要:参考:http://www.cnblogs.com/wuyuankun/p/3982216.html http://www.cnblogs.com/yaowen/p/4268157.html 哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点 的权值
阅读全文
posted @
2017-08-30 15:36
blythe
阅读(1584)
推荐(0)
用于进程间通信的机制
摘要:# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 # 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 # 信号量( semophore ) : 信
阅读全文
posted @
2017-08-29 16:16
blythe
阅读(139)
推荐(0)
自己实现IOC过程
摘要:阅读了《架构探险》这本书之后简单梳理一下自己实现IOC的基本流程 首先要自己定义一个注解 这个注解标记在类中的哪个属性
阅读全文
posted @
2017-08-26 11:47
blythe
阅读(185)
推荐(0)
防止sql注入的方法
摘要:防止sql注入从前端的页面到后台可以分为以下几个办法: 1.在前端页面就可以用js过滤数据 要引入的包: import Java.util.regex.*; 正则表达式: private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”
阅读全文
posted @
2017-08-26 10:53
blythe
阅读(564)
推荐(0)
二叉树的计算
摘要:1.先复习一下等差数列和等比数列求和公式 2.满二叉树与完全二叉树 满二叉树(Full Binary Tree): 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点
阅读全文
posted @
2017-08-25 09:26
blythe
阅读(715)
推荐(0)
@RestController和@Controller注解的区别
摘要:@RestController是@ResponseBody和@Controller注解的结合,当你return一个页面时,使用@Controller注解返回的是相应页面,使用@RestController注解返回的是return的那个字符串,注意@RestController不是满足Rest风格的注
阅读全文
posted @
2017-08-24 10:49
blythe
阅读(207)
推荐(0)
单调栈与单调队列
摘要:单调栈与单调队列很相似,单调性指的是严格的递增或者递减。 单调栈有以下两个性质: 1、若是单调递增栈,则从栈顶到栈底的元素是严格递增的。若是单调递减栈,则从栈顶到栈底的元素是严格递减的。 2、越靠近栈顶的元素越后进栈。 单调栈与单调队列不同的地方在于栈只能在栈顶操作,因此一般在应用单调栈的地方不限定
阅读全文
posted @
2017-08-24 09:27
blythe
阅读(155)
推荐(0)
java中删除list指定元素遇到的问题
摘要:java删除list中指定的元素可以用remove()函数,但会存在一个问题,举个例子来说 假如有a,b,c,d,e这个list,用remove()方法删除第一个元素之后,b,c,d,e会往前移动,此时再执行remove(4)可能会发生数组越界,因为下标是4的元素已经不存在了(原来是e)
阅读全文
posted @
2017-08-21 19:05
blythe
阅读(252)
推荐(0)
随机打乱数组
摘要:主要用到了java.util包下的Collections.shuffle方法
阅读全文
posted @
2017-08-18 08:27
blythe
阅读(103)
推荐(0)
Mysql基本操作
摘要:3.1 基本操作 l 查看所有数据库名称:SHOW DATABASES; l 切换数据库:USE mydb1,切换到mydb1数据库; 3.2 操作数据库 l 创建数据库:CREATE DATABASE [IF NOT EXISTS] mydb1; 创建数据库,例如:CREATE DATABASE
阅读全文
posted @
2017-08-17 13:00
blythe
阅读(332)
推荐(0)
二叉树的构建
摘要:要构建二叉树及对二叉树进行操作首先得构建节点,节点包括节点的值还有它的左右孩子 对二叉树的操作有构建,遍历(递归,非递归,层次遍历)。栈的特点是先进先出,用栈能保留二叉树的访问路径,所以二叉树的非递归遍历应该用栈来操作,队列是先进后出,用来层次打印二叉树。
阅读全文
posted @
2017-08-17 09:26
blythe
阅读(434)
推荐(0)
synchronized修饰方法和对象的区别
摘要:使用synchronized(object) { 代码块.... } 能对代码块进行加锁,不允许其他线程访问,其的作用原理是:在object内有一个变量,当有线程进入时,判断是否为0,如果为0,表示可进入执行该段代码,同时将该变量设置为1,这时其他线程就不能进入;当执行完这段代码时,再将变量设置为0
阅读全文
posted @
2017-08-17 08:53
blythe
阅读(1274)
推荐(1)
计算1+11+111+1111+........
摘要:f(n)=f(n-1)+10^n; public static void main(String[] args) { int n=2017; long temp=1; for(int i=1;i<n;i++){ temp+=func(i); } System.out.println(temp); }
阅读全文
posted @
2017-08-16 19:18
blythe
阅读(475)
推荐(0)
Jav实现F(n)=F(n-1)+F(n-2)+.....+F(1)+1
摘要:private static int func(int count) { // TODO Auto-generated method stub int cou = 0; if(count==1){ cou=1; } else if(count==2){ cou=2; } else{ for(int
阅读全文
posted @
2017-08-16 14:09
blythe
阅读(344)
推荐(0)
查找二维数组中是否有符合的目标值
摘要:/** * 在一个二维数组中,每一行都按照从左到右递增的顺序排序, * 每一列都按照从上到下递增的顺序排序。请完成一个函数, * 输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 * * 思路 : * 从左下角最后一个元素开始比较,如果target小于这个元素向上遍历否则向右遍历 */
阅读全文
posted @
2017-08-16 11:01
blythe
阅读(254)
推荐(0)
排序算法
摘要:/** * 冒泡排序 */ public static void Bubble(int[] array){ for(int i=0;i<array.length-1;i++){ for(int j=0;j<array.length-1-i;j++){ if(array[j]>array[j+1]){
阅读全文
posted @
2017-08-16 09:36
blythe
阅读(113)
推荐(0)
时间复杂度
摘要:时间复杂度与空间复杂度是衡量算法是否优秀的标准 一般时间复杂度有O(1),O(n),O(n2),O(logN) O(logN)举例: for(int i=1;i<n;i++){ i=i*2; } 在这段程序里,假设要执行x次,则2x 应该小于n,最后小于logN,所以它的时间复杂度为O(logN)
阅读全文
posted @
2017-08-15 21:11
blythe
阅读(114)
推荐(0)
Java代码实现单例模式
摘要:public class Single { /*private static final Single single=new Single(); private Single(){} public static Single getInstance(){ return single; }*/ pri
阅读全文
posted @
2017-08-15 14:44
blythe
阅读(170)
推荐(0)
查找一个字符串中重复出现字符的个数
摘要:import java.util.HashMap;import java.util.Map;import java.util.Scanner; /** * 查找一个字符串中重复出现字符的个数 * 首先声明一个map,从第一个字符开始遍历,如果map中已经有了这个字符则把值加1,否则重新 * 创建一个
阅读全文
posted @
2017-08-15 11:37
blythe
阅读(1325)
推荐(0)
null,“”,empty的区别
摘要:public class Test { public static void main(String[] args) { // TODO Auto-generated method stub /** * 等号左边是对象的引用,右边是在堆上分配的内存 */ String str1=new String
阅读全文
posted @
2017-08-15 10:43
blythe
阅读(249)
推荐(0)