Java
文章平均质量分 55
Tg丶break
201702201755
展开
-
Java判断List中有无重复元素
Talk is cheap, show me the code:import java.util.ArrayList;import java.util.HashSet;import java.util.List;/** * 通过简单的代码判断List中是否包含相同元素 * @author wei 2017年7月10日 下午8:34:47 */public class ListH原创 2017-07-10 20:41:22 · 9589 阅读 · 0 评论 -
spring boot项目启动报错,找不到XXX类
不是很懂csdn如何提问,所以先记录下来,也希望知道解决方案的能给点提示。问题描述: 新建一个spring boot工程,并且有如下项目: 项目一:cust-service,有启动类CustApplication、有依赖一个base服务(base没有application类,是以jar包形式提供一些基础代码)、还有调用一个feign的client服务,还有依赖并调用redis-serv...原创 2018-04-10 14:01:40 · 6656 阅读 · 0 评论 -
JSONObject解析多层对象字符串
将多层次的json字符串转为java对象,比如:List<Map<String, String>>,其中List,Map,String可以为任何自定义的对象,由于经常忘记具体写法,故记下。import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util....原创 2018-05-04 15:20:45 · 7201 阅读 · 0 评论 -
Excel工具类
Excel导出工具类,BizException为自定义的RunTimeException业务异常,可按需求修改catch处理方法:import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java....原创 2018-05-14 13:01:04 · 140 阅读 · 0 评论 -
Java导出csv文件
首先,文件导出不需要前端做操作,只需格式对上即可,建议前端请求采用form表单请求,即:Content-Type=application/x-www-form-urlencoded下面主要记录了使用CsvWriter工具类写csv文件,并且解决文件名乱码、文件内容乱码等问题,但是该方法是为了http请求设计,故不能通过运行验证。但是代码已通过验证,可以参考:import java.io.File;...原创 2018-05-15 11:42:10 · 863 阅读 · 0 评论 -
文件上传的同时,传其他参数
首先我们需要知道,http get请求是可以有body的,post请求也是可以在url上增加参数以get方式提交参数。所以,我们把文件以post方式提交,其他参数以get方式提交,而Controller的请求方式设为POST即可。代码如下: @PostMapping("import") public Result<Boolean> importExcel(@Requ...原创 2018-08-03 15:35:17 · 9579 阅读 · 4 评论 -
等额本金、等额本息工具类(Java版)
等额本息:/** * Description:等额本息工具类 * Copyright: Copyright (corporation)2015 * Company: Corporation * @author: 凯文加内特 * @version: 1.0 * Created at: 2015年11月...转载 2018-08-08 15:02:56 · 369 阅读 · 0 评论 -
MultipartFile和File互转
1、M转FFile file = new File(path); FileUtils.copyInputStreamToFile(multipartFile.getInputStream(), file); 2、F转MFile file = new File("src/test/resources/input.txt");FileInputStream input = ne...转载 2018-08-08 18:09:46 · 20388 阅读 · 1 评论 -
GC Root的对象
所谓“GC roots”,或者说tracing GC的“根集合”,就是一组必须活跃的引用。注意,是一组必须活跃的引用,不是对象。所有Java线程当前活跃的栈帧里指向GC堆里的对象的引用;换句话说,当前所有正在被调用的方法的引用类型的参数/局部变量/临时值。 VM的一些静态数据结构里指向GC堆里的对象的引用,例如说HotSpot VM里的Universe里有很多这样的引用。 JNI ha...转载 2018-10-30 16:15:45 · 429 阅读 · 0 评论 -
记一个@Column的坑
注解@Column(javax.persistence.Column),我们通常使用在DAO实体类的属性上,一般用来标识该属性的数据库值(name,其他用途不提)。BUG是这样产生的:项目中的实体类生成时每个字段均生成了@Column注解,且准确无误。然后通用mapper使用没有任何问题,直到有一次,在*Mapper接口中手写了SQL(查询某表中满足条件的最新的一条记录):@Sele...原创 2019-02-22 16:52:43 · 2090 阅读 · 3 评论 -
Spring Boot注解@Cacheable与Redis缓存关于LocalDateTime(反)序列化问题
由于项目中使用Spring Boot 2.0,以及需要将包含LocalDateTime的对象通过注解@Cacheable存入缓存。若不做配置,存入缓存会成功(redis数据类型为HEX,不便阅读),取出对象时则会报错反序列化失败。下面是具体解决办法:需要增加一个修改RedisCacheManager序列化格式的RedisConfig类,包含LocalDateTime类型属性不需要添加任何注解。...原创 2019-02-20 11:17:27 · 4000 阅读 · 0 评论 -
HttpClient下载图片
主要是一些流操作吧,之前用得少,这次写了就先保存起来,代码如下:import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.I...原创 2018-03-05 14:08:32 · 2379 阅读 · 0 评论 -
Java常用排序算法
列举四种常用的排序算法,分别是:冒泡、选择、插入、快速。其中快速排序在自己编码过程中遇到了一点小问题,已标记在代码注释中,希望不要重蹈覆辙。import java.util.Arrays;/** * 常用排序算法 * @description 本排序均为顺序/升序 * @author xiaowei 2018年2月22日 下午4:04:32 */public class ...原创 2018-02-23 10:08:57 · 152 阅读 · 0 评论 -
Java面试题 - 使用二分法计算任意整数在任意整数数组中的下标,不存在则返回-1
恒生面试过程中的一道笔试题,使用二分法计算任意整数在任意整数数组中的下标,不存在则返回-1。当时理了下思路,当时代码没有写完,后面回家后重新完成了这道题目,面试时的考虑并不全面,当然下面的代码水平也有待提升,欢迎大家指教。废话少说,上代码:import java.util.ArrayList;import java.util.Arrays;import java.util.List;/*...原创 2017-11-06 13:37:05 · 1369 阅读 · 0 评论 -
Spring注解@RequestBody相关
@RequestMapping(value = "/unlock", method = RequestMethod.POST) public ResultDTO unlockCustomer(@RequestHeader("id") String testId, @RequestBody String原创 2017-07-05 16:05:58 · 424 阅读 · 0 评论 -
面试题之“路灯”
题目描述 V先生有一天工作到很晚,回家的时候要穿过一条长l的笔直的街道,这条街道上有n个路灯。假设这条街起点为0,终点为l,第i个路灯坐标为ai。路灯发光能力以正数d来衡量,其中d表示路灯能够照亮的街道上的点与路灯的最远距离,所有路灯发光能力相同。为了让V先生看清回家的路,路灯必须照亮整条街道,又为了节省电力希望找到最小的d是多少?输入输入两行数据,第一行是两个整数:路灯数目n原创 2017-11-17 13:16:40 · 1294 阅读 · 0 评论 -
利用HashMap辅助调整对象结构
将Person类firstName相同的人合并到一个PersonResponse对象,List --> List。这个需求可能没有太大实际意义,但是重要的是理解为什么要用到HashMap,不用HashMap可以怎么做,区别在哪里。Person类:/** * person类 * @author xiaowei 2017年11月14日 下午2:11:14 */public class原创 2017-11-14 14:34:07 · 175 阅读 · 0 评论 -
com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.apache.ibati
开始查询数据库的结果是A类的一个list,然后在代码Java里面将List 的数据结构改为List,B类里面又包含List的一个属性。后面将其改为直接从数据库里面将List查询出来,不在代码里面做转换了,不知道有没有解释清楚,先贴报错:2017-11-15 11:16:49 302739 [http-nio-5014-exec-3] ERROR c.s.b.e.h.CommonExceptio原创 2017-11-15 13:30:54 · 1721 阅读 · 0 评论 -
面试题之“度度熊” - 计算字符串中,子字符串的种类
题目描述 度度熊收到了一个只有小写字母的字符串S,他对S的子串产生了兴趣,S的子串为S中任意连续的一段。他发现,一些子串只由一种字母构成,他想知道在S中一共有多少种这样的子串。 例如在串”aaabbaa”中,度度熊想找的子串有”a”,”aa”,”aaa”,”b”,”bb”五种。 (本题只考虑子串的种数,相同的子串在多个位置出现只算一次)看到这个题目的时候,第一反应就是用HashMa原创 2017-11-16 09:57:19 · 823 阅读 · 0 评论 -
面试题之“股神”
题目描述 有股神吗?有,小赛就是!经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天...依此类推。为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?题意已经很清晰了,主要就是试探解题思路,直接上代码:/** * 题目描述 * 有股神吗?原创 2017-11-16 17:12:40 · 488 阅读 · 0 评论 -
面试题之“约德尔测试”
题目描述 兰博和提莫闲聊之后,回归到了他们的正题,约德尔人的未来。说起约德尔人的未来,黑默丁格曾经提出了一个约德尔测试,将约德尔人的历史的每个阶段都用一个字符表达出来。(包括可写字符,不包括空格。)。然后将这个字符串转化为一个01串。转化规则是如果这个字符如果是字母或者数字,这个字符变为1,其它变为0。然后将这个01串和黑默丁格观测星空得到的01串做比较,得到一个相似率。相似率越原创 2017-11-16 17:26:26 · 445 阅读 · 0 评论 -
Java面试题 - 超过int大小的数字相加操作
package xw20171031;import org.apache.commons.lang3.StringUtils;/** * 超过int大小的数字相加操作(当然,位数不能超过int大小) * * @author xiaowei 2017年10月31日 */public class IntAddOperation {public原创 2017-11-24 15:41:55 · 1229 阅读 · 0 评论 -
常用位运算
为了避免日后忘记,故简单记录基本的位运算。二进制:二进制数在内存中是以补码的形式存放的。(所以取反是按照补码来运算的,注意反码和取反不是同一个操作,取反时符号位也会变化)原码、反码、补码,补码是为了解决正数原码+负数原码和不为0的情况(0000 0001 + 1000 0001不等于0),所以我们认定正数的表示形式没问题,所以正数的补码(计算用的)即为原码。1. 正原创 2018-02-01 11:20:46 · 419 阅读 · 0 评论 -
如何在不使用第三个变量的情况下交换两位数的值
/** * 如何在不使用第三个变量的情况下交换两位数的值 * @author xiaowei 2018年1月29日 下午5:35:42 */public class ExchangeTest { public static void main(String[] args) { int a = 1; int b = 2; // 第原创 2018-01-29 17:45:48 · 311 阅读 · 0 评论 -
二叉树遍历
二叉树遍历,根据根的输出顺序可分为:先序、中序、后序遍历。/** * 二叉树遍历 * @author xiaowei 2018年2月27日 下午6:11:16 */public class TreeRecursionTest { public static void main(String[] args) { /* * 1 ...原创 2018-02-27 18:15:24 · 189 阅读 · 0 评论 -
Spring Boot @Cacheable注解自定义key名称
小记一下, 其中RedisKeyConstants为常量类,CONFIG_KEY为常量类中的一个常量,bizKey为方法入参。@Cacheable(value = RedisKeyConstants.PREFIX_CONFIG, key = "T(完整包名.RedisKeyConstants).CONFIG_KEY+#bizKey")public String getConfigValue...原创 2019-02-20 13:56:19 · 5747 阅读 · 0 评论