- 博客(87)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
原创 LeetCode-79
给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCE...
2019-05-23 00:03:04
206
原创 HttpClient连接池的使用示例
public class PoolUtil { private static CloseableHttpClient httpClient; private static PoolingHttpClientConnectionManager poolingHttpClientConnectionManager; private static final int MA...
2019-01-24 20:19:19
2025
1
原创 HttpClient使用实例
获取HttpClient链接:CloseableHttpClient client = HttpClients.createDefault();创建get请求对象:String url = "http://www.dianping.com/searchads/ajax/recads/baby?cityId=1"; HttpGet httpGet ...
2019-01-23 17:49:11
1069
原创 lambda表达式无法抛出异常
背景:在一个方法中使用了lambda表达式,表达式中需要捕获异常,使用throws关键字发现并不起作用,必须使用trycatch才行public class BeanUtil { public static <T,R> List<R> copyList(List<T> source , Class<R> clazz) throws E...
2019-01-21 19:11:30
8215
原创 一次web项目无法启动 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
报错原因:Error during artifact deployment. See server log for details.严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFound...
2018-10-17 17:13:13
473
原创 在Java中使用组合slf4j+log4j记录日志
log4j是一个具体的日志系统,使用之前,在pom文件中引入<!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>...
2018-10-11 17:36:22
2167
原创 Java回调的简单理解
学习的过程中总是碰到各种各样的陌生词汇,起初以为很高大上,当你真正理解之后就发现并没有你想象中的那么难。对于java回调的理解:A想完成一件事情b,但是自己因为某种原因做不了,于是把这件事情b交给了B去做,但是仅仅吩咐下去又不放心,所以要求B做完b之后把结果通过A指定的途径反馈给A。这样从A--->B--->A就实现了一个类似的回调过程。这里面有几个关键点:1. b这...
2018-10-10 19:29:29
158
原创 Java8-Function
我们仔细看一下源码:@FunctionalInterfacepublic interface Function<T, R> {}第一部分:接口声明,使用了@FunctionalInterface注解,此注解标注了Function接口为函数式接口(函数式接口就是只能有一个抽象方法),此注解跟@override类似,仅仅作为一个提示和编译检查的作用,也可以省略不写。R ...
2018-09-20 15:33:00
1363
原创 Lambda表达式
在集合遍历中的使用示例1:public class TestLambda { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); ...
2018-09-19 17:38:01
157
原创 Java范型中的T和?
在代码中使用范型可以避免对象转型,降低了异常的出现。范型仅仅是在编译期间起作用,在运行时范型信息会被擦除,所以可以利用反射跳过范型检查public class SkipGenerics { public static void main(String[] args) throws Exception{ List<String> list = new A...
2018-09-19 15:30:17
1128
原创 反射学习1----Class对象
对于接口Subject,我们打印了接口的Class对象名称,接口实现类SubjectImpl的Class对象名称以及直接实现接口的Class对象名称public class Fanshe { public static void main(String[] args) { Subject subject = new Subject() { pu...
2018-09-19 15:22:14
146
原创 Spring Boot中bean的注解和注入
初次接触SpringBoot中的注解,原理不太懂,只能各种情况都试了一遍,以下是结果:注解:@Servicepublic class BabyUrlMappingServiceImpl implements BabyUrlMappingService注入方式1:@Resource private BabyUrlMappingServiceImpl babyUrlMap...
2018-09-12 15:03:51
4918
2
原创 SpringDataJpa save操作提示sql语法错误
错误提示:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use ne...
2018-09-10 11:47:26
3071
2
原创 IDEA自动生成serialVersionUID For Mac
preferences --- Editor ---- Code Style ----- Inspections ---- serialzable class without "serialVersionUID"勾上。在实现了Serializable接口的类上使用alt+enter,会提示自动生成serialVersionUID...
2018-08-30 17:01:06
1354
1
原创 Java实现简单爬虫
对于爬虫的粗略理解:给定url-------访问url得到网页源代码-------1.按规则筛选,得到需要的数据 2.筛选出url,继续循环爬取数据 本文实现一个简易的java爬虫,暂时没有循环这个步骤,仅仅是爬取指定页面的数据。目标网页:http://www.dianping.com/shanghai/ch70/g193,这是大众点评某个商户推荐页面,我们需要实现的是爬取商户...
2018-08-14 21:07:14
270
原创 Threadlocal
Threadlocal<T>用来保存线程局部变量,也就是每个线程的变量不会互相干扰。知晓以下几点:1.在Thread类中存在成员变量ThreadLocal.ThreadLocalMap threadLocals 2.在Threadlocal类中存在一个静态内部类ThreadLocalMap,用来保存线程局部变量3.在Threadlocal类中存在3个成员变量thread...
2018-08-13 11:48:12
165
原创 集合与字符串之间进行转化
public String listToString(List list){ if(list.size() == 0) return ""; StringBuilder stringBuilder = new StringBuilder(); for(int i=0; i<list.size(); i++){ ...
2018-07-17 10:21:42
683
原创 Mysql存储json等数据类型问题
场景:接受到dto对象中属性值为List类型,而Mysql表中对应的数据类型是json或者String.解决:将dto转化成entity,entity中List对应的数据类型改为String,使用FastJson中的方法:JSON.toJSONString(list)取出数据时,使用JSON.parseArray(json String)将json数据再次转化成list。...
2018-07-17 10:17:32
8341
1
原创 mac idea个人常用快捷键及设置
后退back : command+[前进forward : command+]运行run : control+Ridea默认最多只能打开10个窗口,超过10个,新打开的窗口会覆盖之前的。更改的方法:preferences -- Editor -- General -- Editor Tabs --tab closing polisy -- tab li...
2018-07-17 10:08:59
1862
原创 mapper.xml文件
<sqlMap namespace="****">在使用MyBatis编写sql文件时,必须用到上面的标签,namespace指“命名空间”,举例说明:我们编写了一个接口:aaaaDao,那么对应sql文件中的namespace值就可以设置为是“aaaaDao”,这样做可以将Dao接口和sql文件进行绑定,不需要写Dao接口的实现。<typeAlias alias...
2018-07-14 13:19:40
870
原创 RowBounds实现分页功能
首先我们了解一下物理分页和逻辑分页物理分页:直接从数据库中拿出我们需要的数据,例如在Mysql中使用limit逻辑分页:从数据库中拿出所有符合要求的数据,然后再从这些数据中拿到我们需要的分页数据优缺点物理分页每次都要访问数据库,逻辑分页只访问一次物理分页占用内存少,逻辑分页相对较多物理分页数据每次都是最新的,逻辑分页有可能滞后我们再来看RowBounds,我们可以通过RowBounds对象来实现逻...
2018-04-10 20:12:23
4093
原创 接口开发中BeanUtils.copyProperties的使用
在后台开发过程中我们肯定会使用各种各样的bean,我目前遇到2类其一是dto:返回给调用方的bean另外是entity:与数据库映射的bean由此就会遇到bean直接赋值的问题,我们常常使用BeanUtils.copyProperties(a,b)来进行赋值,将a中的属性赋值给b中的属性(浅复制)在最近的接口开发过程中遇到的场景:前端传过来的数据包装成一个dto(a),然后new一个对应的enti...
2018-03-30 20:16:46
1533
原创 实习记录2-随手记
~idea 调试按钮:step into:单步调试,进入子函数(不会进入官方类库的方法)force step into: 单步调试,进入任何方法step out:越过子函数,但是子函数会执行step over:跳出子函数~前端页面对应后端模块:google浏览器打开网页,右键检查,选择network,再选择XHR,然后刷新页面,之后会多出来一行,双击进入,得到链接和Json数据,根据链接判断是否需...
2018-03-28 20:07:24
775
2
原创 Mongodb数据库安装和基本使用
首先,我们需要安装homebrew:Homebrew是以最简单,最灵活的方式来安装苹果公司在MacOS中不包含的UNIX工具安装命令为:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"接下来使用homebrew安装mongo,安装命令为:brew in...
2018-03-28 19:47:57
268
原创 Mybatis中mapper.xml文件update、delete以及insert返回值问题
最近写了几个非常简单的接口(CRUD),在单元测试的时候却出了问题,报错如下:Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageListener': Unsatisfied dependency expressed th...
2018-03-22 20:34:12
21780
原创 java.lang.NoSuchMethodError
最近在线上报了一个case:商户删除报价单之后,商户后台仍然显示已删除的报价单查询数据库得知,报价单已经删除成功(软删除),所以问题的原因是redis缓存没有执行删除操作,查看删除操作对应的接口,删除数据库和redis缓存是2行相邻的代码,按理来说,这2个操作必定是同时都执行或者不执行,现在的结果却是只执行了其一,百思不得解。想起来之前该项目做过redis迁移,应该与此有关,最终得到的结果
2018-03-13 16:48:32
911
原创 实习记录1-git入门
mac查看是否安装git的命令:git --version查看git的路径:which git创建任意一个文件夹,从终端进入该文件夹,执行 git init ,将该文件夹作为git仓库。新建文件: touch readme.txt如果是vi,则:Esc 退出编辑模式,输入以下命令::wq 保存后退出vi,若为 :wq! 则为强制储存后退出(常用):w 保存但不退出(常用):w! ...
2018-02-23 09:54:26
294
原创 Java中的泛型问题小记
看一段简单的代码:public class Main { public static void main(String[] args) { List list1 = new ArrayList<>(); List list2 = new ArrayList<>(); //list1 = list2; compile error
2017-09-12 14:04:02
327
原创 2018CVTE后台研发工程师内推笔试编程题2
使用BFS的思想,遍历所有可能的分割情况,求出最接近的数字。代码:import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { in
2017-09-02 21:50:41
1910
原创 2018美团点评内推笔试编程题2
老师不想自己改试卷,于是让大家互相改试卷。把全班同学分为k组,每组有s(k)个同学,老师先选择一个组i,将这个组的所有试卷s(i)份都收上来放在讲台上然后再选择一个组j,从讲台上拿s(j)份试卷随机分给j组的同学,然后把j组的所有试卷收上来,放在讲台上试卷的最下方……重复上述过程,最后把剩余的试卷随机分给i组的s(i)个同学。但是这样分配试卷是有缺陷的,比如:1.有可能
2017-08-31 23:15:50
2576
原创 2018美团点评内推笔试编程题1
思路:对于题目给定的数组,我们求数组的累加和数组sum,然后对于累加和数组sum中的任一个元素sum[i],j分别取0到i-1,当sum[i]-sum[j]是k的倍数时,i-j就是以以第j个元素结尾的长度最长的子串的长度。因此,我们只要遍历i就能求出k倍数的最长子串的长度。我们看代码:import java.util.Scanner;public class Main {
2017-08-31 22:29:45
3448
原创 2018搜狐内推笔试编程题2
这个题我的想法是从大到小依次考虑对于6*6的产品,每个产品需要一个包裹对于5*5的产品,每个产品需要一个包裹,每个包裹剩下的空间最多可以装下11个1*1的产品,根据包裹数量更新1*1产品的剩余数量对于4*4的产品,每个产品需要一个包裹,每个包裹剩下的空间最多可以装下5个2*2的产品或者20个1*1的产品,根据包裹数量以及2*2产品的数量进行相应的更新……依次讨论下去,最后求得所
2017-08-28 22:30:05
667
原创 2018搜狐内推笔试编程题1
输入:两行数据第一行包括n和m,空格隔开,n表示输出Kolakoski序列的前n项,m表示给定数组的长度第二行m个数字,表示给定的数组元素输出:n行输出Kolakoski序列的前n项这个题的首要的一点是要理解题目的意思,什么是Kolakoski序列以及怎么求?第一,Kolakoski序列是基于一个初始序列的第二,Kolakoski序列中的元素按照相邻
2017-08-28 22:14:44
683
原创 WARN: Establishing SSL connection without server's identity verification is not recommended.
使用Spring Boot连接mysql数据库,配置application.properties文件时使用了如下URLspring.datasource.url=jdbc:mysql://localhost:3306/toutiao?useUnicode=true&characterEncoding=utf8&useSSL=false运行的时候报了警告:W
2017-08-24 23:04:54
817
原创 525. Contiguous Array
Given a binary array, find the maximum length of a contiguous subarray with equal number of 0 and 1.Example 1:Input: [0,1]Output: 2Explanation: [0, 1] is the longest contiguous subarray with
2017-08-24 12:29:06
289
原创 2018今日头条内推笔试2
对于这道题,假设 区间最小数*区间所有数的和 记为一个区间的K值我们首先要明确一点:假设有一个区间,它的最小值为a,我们对这个区间进行扩张,当扩张的值大于等于a时,这个区间的K值只增不减,这个很好理解。明白这点之后,我们就不需要遍历序列的所有子区间了,只需要遍历所有扩张之后的区间即可得到最大的K值。接下来,我们依次以序列中的每个值作为区间的最小值,并且以这个值作为基准,向两边
2017-08-23 13:22:06
4546
2
原创 2018今日头条内推笔试1
按照y坐标j降序排序,然后从第一个元素开始从后往前找,当x坐标变大时,这个点就是“最大”点,更新x值,继续往后找,直至全部遍历;例如有5个点,横坐标分别为9,6,3,1,5 纵坐标分别为3,4,5,6,8先按照y降序排序, 横坐标分别为5,1,3,6,9
2017-08-22 23:30:51
4658
原创 77. Combinations
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]
2017-08-22 16:13:16
21855
原创 76. Minimum Window Substring
Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).For example,S = "ADOBECODEBANC"T = "ABC"Minimum window is "BAN
2017-08-21 16:01:40
379
转载 数据库索引的实现原理
说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增
2017-08-18 20:15:51
278
MyBatis中怎么读取count值
2017-09-07
MyBatis通过xml文件配置DAO层Mapper出错
2017-08-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人