摘要: 防止sql注入从前端的页面到后台可以分为以下几个办法: 1.在前端页面就可以用js过滤数据 要引入的包: import Java.util.regex.*; 正则表达式: private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$” 阅读全文
posted @ 2017-08-26 10:53 blythe 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 1.如果是二叉搜索树 2.如果是普通树 阅读全文
posted @ 2017-08-25 11:15 blythe 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1.先复习一下等差数列和等比数列求和公式 2.满二叉树与完全二叉树 满二叉树(Full Binary Tree): 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点 阅读全文
posted @ 2017-08-25 09:26 blythe 阅读(677) 评论(0) 推荐(0) 编辑
摘要: @RestController是@ResponseBody和@Controller注解的结合,当你return一个页面时,使用@Controller注解返回的是相应页面,使用@RestController注解返回的是return的那个字符串,注意@RestController不是满足Rest风格的注 阅读全文
posted @ 2017-08-24 10:49 blythe 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 单调栈与单调队列很相似,单调性指的是严格的递增或者递减。 单调栈有以下两个性质: 1、若是单调递增栈,则从栈顶到栈底的元素是严格递增的。若是单调递减栈,则从栈顶到栈底的元素是严格递减的。 2、越靠近栈顶的元素越后进栈。 单调栈与单调队列不同的地方在于栈只能在栈顶操作,因此一般在应用单调栈的地方不限定 阅读全文
posted @ 2017-08-24 09:27 blythe 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 主要用到了java.util包下的Collections.shuffle方法 阅读全文
posted @ 2017-08-18 08:27 blythe 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 要构建二叉树及对二叉树进行操作首先得构建节点,节点包括节点的值还有它的左右孩子 对二叉树的操作有构建,遍历(递归,非递归,层次遍历)。栈的特点是先进先出,用栈能保留二叉树的访问路径,所以二叉树的非递归遍历应该用栈来操作,队列是先进后出,用来层次打印二叉树。 阅读全文
posted @ 2017-08-17 09:26 blythe 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 使用synchronized(object) { 代码块.... } 能对代码块进行加锁,不允许其他线程访问,其的作用原理是:在object内有一个变量,当有线程进入时,判断是否为0,如果为0,表示可进入执行该段代码,同时将该变量设置为1,这时其他线程就不能进入;当执行完这段代码时,再将变量设置为0 阅读全文
posted @ 2017-08-17 08:53 blythe 阅读(1245) 评论(0) 推荐(1) 编辑