摘要:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html 泛型,即参数化类型,泛型擦除:Java 编译器生成的字节码文件不包含有泛型信息,泛型信息将在编译时被擦除,这个过程称为泛型擦除。其主要过程为 1)将所有泛型参数用其最左边界(最顶级的父类型)类型替换;
阅读全文
摘要:项目中用到的md5工具类: 1 package com.mall.util; 2 3 import org.springframework.util.StringUtils; 4 5 import java.security.MessageDigest; 6 7 /** 8 * Created by
阅读全文
摘要:题目链接:https://leetcode.com/problems/combination-sum-iii/description/ 题目大意:与39题类似,这里数组没有重复数字,就是从1到9,每个数字也不能重复选,且要求选的数字一共要是k个。 法一:利用39题的法一,直接暴力。代码如下(耗时2m
阅读全文
摘要:题目链接:https://leetcode.com/problems/combination-sum/description/ 题目大意:给出一串数字(没有重复数字)和一个数字,找出所有组合数的和与这个数字相等的组合数,其中组合数的每一个数字可以重复选,例子如下: 法一:利用78题的法一,只是这里对
阅读全文
摘要:题目链接:https://leetcode.com/problems/combination-sum-ii/description/ 题目大意:与39题类似,只是这里数组中的数字可以有重复,且每一个数字只能取一次。 法一:利用39题的剪枝代码,加了一个去重的操作(与前面47和90的去重操作一样)。代
阅读全文
摘要:题目链接:https://leetcode.com/problems/subsets-ii/description/ 题目大意:与78题一样,只是这里给出的数组中有重复数字。 法一(借鉴):利用78题的法一,进行与47题类似的剪枝去重操作。也就是排序,判断前一个元素等。代码如下(耗时4ms): 1
阅读全文
摘要:题目链接:https://leetcode.com/problems/subsets/description/ 题目大意:给出一个数组序列的所有子集合,包括空集。(数组中的数字唯一) 法一(借鉴):利用77题组合的思想,只是这里不需要判断集合中总数是不是达到k值,而是将每一次得到的集合都加入结果集中
阅读全文
摘要:题目链接:https://leetcode.com/problems/combinations/description/ 题目大意:组合问题,给出一个数n以及要组合的数的个数k,输出所有组合数。 法一(借鉴):虽然前面做了排列的题,可惜还是不会做这个组合题。代码如下(耗时76ms): 1 publi
阅读全文
摘要:题目链接:https://leetcode.com/problems/permutations-ii/description/ 题目大意:全排列一串数(有重复数字)。 法一:也即是46题的法一,只加了一行代码。代码如下(耗时499ms): 1 public List<List<Integer>> p
阅读全文
摘要:题目链接:https://leetcode.com/problems/permutations/description/ 题目大意:给出一串数组进行全排列(数组中数字唯一)。 法一:模板全排列代码标记数组版。代码如下(耗时5ms): 1 public List<List<Integer>> perm
阅读全文
摘要:题目链接:https://leetcode.com/problems/generate-parentheses/description/ 题目大意:给出一个数字n,找出所有包含n对()括号对的组合,例子如下: 法一:直接用深搜,将(和)交换着加入string中,然后每得到一个string用stack
阅读全文
摘要:功能: 1.添加地址 controller层用到了SpringMVC中的数据绑定的对象绑定方式: 1 @RequestMapping(value = "add.do", method = RequestMethod.POST) 2 @ResponseBody 3 //这里直接传shipping对象,
阅读全文
摘要:功能: 1.加入商品或更新商品数量 controller层实现: 传入userId,productId和商品数量,进service层判断,如果productId已经传入,则说明购物车中已经有该商品,则只更新商品数量即可,如果没有传入productId,则说明购物车中没有改商品,则直接新增即可。 1
阅读全文
摘要:题目链接:https://leetcode.com/problems/median-of-two-sorted-arrays/description/ 题目大意:给出两个有序数组,找出他们的中位数,如果是偶数,要计算两个最中间的数的均值。 法一:模拟归并排序的核心算法,将两个有序数组合成一个有序数组
阅读全文
摘要:为什么要使用pageHelper:https://www.cnblogs.com/ljdblog/p/6725094.html 配置文件详解:https://www.cnblogs.com/cksvsaaa/p/6036068.html,https://www.cnblogs.com/digdeep
阅读全文
摘要:POJO,BO,VO的关系: 简单理解:http://www.blogjava.net/vip01/archive/2007/01/08/92430.html 全面:https://www.cnblogs.com/yxnchinahlj/archive/2012/02/24/2366110.html
阅读全文
摘要:官方文档(FQ访问):http://google.github.io/guava/releases/snapshot-jre/api/docs/ 使用详情: 1.Set<Category> categorySet = Sets.newHashSet(); 2.List<Integer> catego
阅读全文
摘要:定义:一个不包含重复元素的collection。set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素,不保证集合里元素的顺序。 方法使用详解: 1.int size() 2.boolean isEmpty() 3.boolean contains
阅读全文
摘要:题目链接:https://leetcode.com/problems/longest-substring-without-repeating-characters/description/ 题目大意:找出一串字符串的最长无重复子串。例子如下: 法一:两层for循环,一个字符一个字符的遍历其后是否有子
阅读全文
摘要:功能: 前台: 1.产品搜索 controller层实现:根据关键字或分类id进行搜索。 1 /** 2 * 前台搜索商品列表:搜索,分页,排序 3 * @param keyword 搜索关键字 4 * @param categoryId 分类id 5 * @param pageNum 页码 6 *
阅读全文
摘要:功能: 1.增加分类 2.修改分类名字 3.获取当前子分类 4.获取当前分类的所有子分类(递归获取) controller层实现: 1 @RequestMapping(value = "get_category_and_deep_children_category.do", method = Req
阅读全文
摘要:泛型与string:http://blog.csdn.net/u013096088/article/details/69815631,http://blog.csdn.net/imzoer/article/details/8039369 当遇到如下所示的重载的时候,如果我现在传入一个字符串对象,我只
阅读全文
摘要:官方:http://ifeve.com/google-guava-cachesexplained/ 理解:https://segmentfault.com/a/1190000007300118 项目中用到cache的例子: 1 public class TokenCache { 2 3 //打印日志
阅读全文
摘要:题目链接:https://leetcode.com/problems/single-number-ii/description/ 题目大意:给出一串数,每个数都出现三次,只有一个数只出现一次,把这个出现一次的数找出来。 法一:利用hashMap,空间换时间,但是好像也没怎么换到时间。代码如下(耗时1
阅读全文
摘要:SpringMVC数据绑定方式: 1. 基本数据类型(以int为例,其他类似):Controller代码: 1 @RequestMapping("saysth.do") 2 public void test(int count) { 3 } 表单代码: 1 <form action="saysth.
阅读全文
摘要:注意isNotEmpty()和isNotBlank()的区别 过去的字符串判空:if("".equals(str) || str == null)。现在使用工具类StringUtils就可以实现: 1.判断字符串是否为空isEmpty()和isBlank()。 isEmpty()方法: 1 Stri
阅读全文
摘要:sql注入实例:https://www.cnblogs.com/hkncd/archive/2012/03/31/2426274.html sql 注入的原因 sql注入的原因,表面上说是因为 拼接字符串,构成sql语句,没有使用 sql语句预编译,绑定变量。 但是更深层次的原因是,将用户输入的字符
阅读全文
摘要:1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper 3 PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" 4 "http://ibatis.apache.org/dtd/ibati
阅读全文
摘要:使用jackson进行序列化时,往往会遇到后台某个实体对象的属性为null,当序列化成json时对应的属性也为null,可以用以下的注解方式完成当属性为null时不参与序列化: @JsonIgnoreProperties 类注解,作用是json序列化时将bean中的一些属性忽略掉,序列化和反序列化都
阅读全文
摘要:功能: 1.登录 controller层实现: 从前端获取传入的用户名和密码,然后通过service进行具体的业务层校验,如果通过校验,则将此时的sessionId作为token值写入cookie中,然后将登录信息写入redis中,key是sessionId,value是具体的登录信息,并设置有效期
阅读全文
摘要:越权定义:一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽未对信息进行增删改查的时候没有进行一个判断,判断所需要操作的信息是否属于对应的用户,可以导致用户A可以操作其他人的信息。 横向越权定义:攻击者尝试访问与他拥有相同权限的用户的资源。Web应用程序接收到用户请求
阅读全文
摘要:http://blog.csdn.net/yanweju/article/details/70622313
阅读全文
摘要:题目链接 题目大意:题意见112题,这里就是找出所有路径,并且返回所有路径值。也就是要想办法把路径存起来。 法一:利用145的后序非递归遍历,因为在后序非递归遍历中,当要弹出某一个结点时,栈中所存的就是当前结点的所有父节点,也就是从根结点到当前结点的路径,所以很快想到用后序非递归。这里还有个要注意的
阅读全文
摘要:题目链接 题目大意:后序遍历二叉树。 法一:普通递归,只是这里需要传入一个list来存储遍历结果。代码如下(耗时1ms): 1 public List<Integer> postorderTraversal(TreeNode root) { 2 List<Integer> list = new Ar
阅读全文
摘要:1.web.xml配置 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml
阅读全文
摘要:http://www.cnblogs.com/chyong168/archive/2011/12/19/2293482.html,http://blog.csdn.net/shendl/article/details/1790933
阅读全文
摘要:1.Mybatis-generator 自动化生成数据库交互代码->dao+pojo+xml 2.Mybatis-plugin dao文件和xml自动跳转,验证正确性,在xml中只能提示等功能 3.Mybatis-pagehelper 好用的分页组件,通过AOP使分页功能对sql没有入侵的,只需要保
阅读全文
摘要:1.用户表: 1 /*用户表*/ 2 /* 3 CREATE TABLE user ( 4 id int(11) NOT NULL AUTO_INCREMENT COMMENT '用户表id', 5 username varchar(50) NOT NULL COMMENT '用户名', 6 pas
阅读全文
摘要:DECIMAL(N,M)中M是小数部分的位数,若插入的值未指定小数部分或者小数部分不足M位则会自动补到M位小数,若插入的值小数部分超过了M为则会发生截断,截取前M位小数。 N是整数部分加小数部分的总长度,也即插入的数字整数部分不能超过N-M位,否则不能成功插入,会报超出范围的错误。
阅读全文
摘要:题目链接 题目大意:返回二叉树的先序遍历list。中序见94,后序见145。 法一:普通递归遍历,只是这里多了一个list数组,所以分成了两个函数。代码如下(耗时1ms): 1 public List<Integer> preorderTraversal(TreeNode root) { 2 Lis
阅读全文
摘要:题目链接 题目大意:141题目的扩展,给出单链表,判断是否有环,如果有环,找出环的开始的结点,如果没有环,返回null。 法一(借鉴):在已经找出单链表环的基础上再找开始结点,要时刻记住这个环不一定是从尾结点到头结点,有可能是中间的某一段。所以对于这里具体路径的分析,有两个博客可看http://bl
阅读全文
摘要:题目链接 题目大意:给出第几行,返回杨辉三角里的该行数据。要求空间复杂度o(k) 法一:这里用一个list数组实现,就会导致所有数据存在一个list中,无法分辨的问题,所以后来要新开一个list从前面的list中抽取出最后的结果数据。空间复杂度不是o(k),代码如下(耗时3ms): 1 public
阅读全文
摘要:题目链接:https://leetcode.com/problems/pascals-triangle/description/ 题目大意:给出杨辉三角的行数,打印其杨辉三角。例子如下: 法一:直接模拟(传说这就是dp),杨辉三角的规律是:每个数都是其上两个元素的和。注意内层的list在每一次for
阅读全文
摘要:nginx简介: nginx是一款轻量级web服务器,也是一款反向代理服务器(比如域名转发等)。 nginx功能: 1.可直接支持Rails和PHP的程序。 2.可作为HTTP反向代理服务器。 3.作为负载均衡服务器。 4.作为邮件代理服务器。 5.帮助实现前端动静分离。 nginx下载: http
阅读全文
摘要:题目链接:https://leetcode.com/problems/path-sum/description/ 题目大意:给出一个二叉树和一个数字,求出是否有从根节点到叶节点的路径上的数之和等于这个数字,如果有返回true,否则返回false。 法一:利用先序遍历的思想,先对结点值进行加和然后再递
阅读全文
摘要:题目链接:https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/description/ 题目大意:将升序单链表转换为平衡二叉排序树。 法一(借鉴):利用108的二分思想,只是这里单链表没法直接拿到下标,所以每
阅读全文
摘要:题目链接:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/ 题目大意:将一个升序数组转换成平衡二叉排序树。 法一(借鉴):一看到平衡二叉,就懵了,以为是用平衡转换来做,直接看了题
阅读全文