- 博客(35)
- 收藏
- 关注
原创 ConcurrentHashMap
综上所述,ConcurrentHashMap 是在多线程环境中处理哈希表数据时非常有用的数据结构,它提供了高性能的并发访问能力,并通过分段锁机制来减少竞争,使得多线程访问哈希表更加高效和安全。
2024-06-06 15:21:13
430
1
原创 HashMap面试问题及其详细回答
加载因子小于1可以预留一定的空间,避免频繁的扩容操作,而0.75是一个经验值,能够在空间利用率和插入成本之间取得较好平衡。例如,如果容量是16(二进制10000),任何数与其进行位与运算,结果的范围始终在0到15之间,正好对应数组的索引。如果该位置没有元素,则直接插入;回答:从Java 8开始,当链表中的节点数量超过8个,并且数组长度大于等于64时,该链表会被转换成红黑树,以减少查找时间复杂度从O(n)降低到O(log n)。查找:同样根据键的哈希值定位桶的位置,然后沿着链表或在红黑树中查找对应的键值对。
2024-06-06 15:04:48
422
原创 spring-test依赖中MockMultipartFile冲突问题
file转MultipartFile的时候会用到MockMultipartFile当你导入spring-test依赖的时候 会跟某些依赖冲突(暂未找到具体是哪个冲突)解决方法 重写一个类去实现MultipartFile接口直接用MockMultipartFile的源码public class MultipartFileDto implements MultipartFile { private final String name; private String origi
2021-12-24 15:45:55
7181
1
原创 List实体类 多个条件 差集 交际
//多个条件 List<V2permissionVo> addGradeScoreRuleList = oldList.stream() .filter(gradeRule -> !newList.stream().map(dbGradeRule -> dbGradeRule.getServerId() + dbGradeRule.getSubAccId()) .collect(Collector...
2021-12-16 10:53:53
793
原创 mysql 语句单引号问题
写sql语句的时候 由于英文的写法问题 会与sql语句单引号冲突 写两个单引号就正常匹配update table set `value` = 'Today''s'
2021-12-01 15:16:34
930
原创 Caused by: java.lang.ClassNotFoundException: org.elasticsearch.search.aggreg
es注入不进去 本身版本号为5.6.8,别的地方引入的依赖带进来了7.6.2,导致版本冲突,spring根据springboot的版本会覆盖调5.6.8,只需要在主pom文件修改,就okle<properties> <revision>1.2.0-SNAPSHOT</revision> <elasticsearch.version>5.6.8</elasticsearch.version></properties>
2021-11-17 17:26:45
1216
原创 Caused by: java.util.concurrent.ExecutionException
Caused by: java.util.concurrent.ExecutionException: org.apache.dubbo.remoting.RemotingException: Fail to decode request due to: java.lang.UnsupportedOperationException: com.alibaba.com.caucho.hessian.io.MapDeserializer@246b9626java.lang.UnsupportedOperat.
2021-10-20 11:18:36
2103
1
原创 Timestamp 时间比较
Timestamp from_time = BzUtils.parseUTCDateTime("2020-03-05 10:37:28"); Timestamp t1 = BzUtils.parseUTCDateTime("2020-03-05 10:37:28"); Timestamp t2 = BzUtils.parseUTCDateTime("2020-03-05 10:37:29"); Timestamp t3 = BzUtils.pa...
2021-09-08 14:24:12
1431
原创 配置路由指定接口只能通过get访问
{ "id": "app-common", "predicates": [{ "name": "Path", "values": [ "/common/v*/verify" ] },{ "name": "Method", "values": ["GET"] }], "filters": [{ "name": "StripPrefix", "args": { "parts": "2" } .
2021-09-02 16:59:14
231
原创 List<String> 去重排序
String area = "[\"1\",\"71\",\"81\",\"82\",\"1\",\"71\",\"81\",\"82\",\"5\",\"85\",\"541\",\"-1\"]"; String dat = area.replaceAll("\\\"", ""); List<String> list = Arrays.asList(dat.replaceAll("[\\[\\]]", "").split(",")); lis..
2021-08-31 18:30:52
506
原创 list.tostring后返回list
String s = "["a","sd"]"; s = t.getChartData().replaceAll("\\\"", ""); List<String> list = Arrays.asList(s.replaceAll("[\\[\\]]", "").split(","));先去除双引号 ,在去除中括号 ,最后变成list 有更简便的 欢迎评论
2021-08-30 14:28:36
5463
1
原创 Failed to configure a DataSource: ‘url‘ attribute is not specified and no embe
报错解决:因为项目比较小 所以不需要连数据库 (需要连数据库的报这个错配置一下数据库就ok )第一种解决:@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})加这个配置 让springboot不去默认加载数据库第二种 清除所有数据库依赖 下一个mybatis插件搜索pom文件下是否有数据库依赖如果是必须的 加上这个配置...
2021-08-05 15:23:42
299
转载 java版本差异导致SecretKeySpec解密解密失败
https://blog.youkuaiyun.com/weixin_43717407/article/details/119011685
2021-08-02 10:37:56
4806
原创 foreach 排序
<if test="articleIdList != null"> <foreach collection="articleIdList" index="index" open="order by field(article.article_id ," close=")" item="item" separator=","> #{item} </foreach></if>
2021-07-15 18:10:40
878
原创 获取距离当前时间n天时间
//获取离当天3日结束时间public long incrDate(){ Date currentDate = new Date(); LocalDateTime midnight = LocalDateTime.ofInstant(currentDate.toInstant(), ZoneId.systemDefault()).plusDays(3).withHour(0).withMinute(0) .withSecond(0).wit.
2021-06-19 10:54:36
187
原创 sql 对字段进行添加及减少
//set show_room_id = trim(both ',' from replace(concat(',', show_room_id, ','), #{id}, ','))
2021-06-18 17:20:43
358
原创 mybatis打印配置
mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
2021-06-05 09:44:25
269
原创 根据经纬度算距离
/** * 通过输入的经纬度计算距离, 单位:米 * * @param lat1 纬度1 * @param lat2 纬度2 * @param lon1 经度1 * @param lon2 经度2 * @return 距离值 */public BigDecimal computeDistance(double lat1, double lat2, double lon1, double lon2) { // 赤道半径(单位km) double R = 6378; .
2021-06-05 09:26:32
187
原创 手动分页工具类
@ApiModel(value = "分页")public class PageTool<T> implements Serializable { /** * 页面大小 */ @ApiModelProperty(value = "页面大小") private long pageSize; /** * 页码 */ @ApiModelProperty(value = "页码") private long p.
2021-06-04 17:03:39
222
原创 事务处理
等其他事务成功后执行TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override public void afterCommit() { //todo }});
2021-04-29 14:50:05
126
1
原创 json转对象
/** * 获取 JSON 一个属性转换为对象 * @param json json * @param attribute json的属性 * @param attributeType json的属性类型 * @param <T> json的属性类型的实体类 * @return */ public static <T> JsonTransitionInfo<T> toObject2Attr...
2021-04-27 11:29:57
242
原创 Bigdecimal小数位问题
Bigdecimal b = condition.stripTrailingZeros().toPlainString()可以吧末尾的0去掉 当然保留小数位自己控制
2021-04-17 11:15:20
191
原创 Bigdecimal 工具类
/** * BigDecimal 保留2位数 */ public static final int SCALE_TWO = 2; /** * BigDecimal 保留4位数 */ public static final int SCALE_FOUR = 4; /** * BigDecimal 保留8位数 */ public static final int SCALE_EIGHT = 8; /** * Big..
2021-04-15 14:46:02
274
原创 http工具类
/** * 发送HttpGet请求 * * @param url * 请求地址 * @return 返回字符串 */public static String sendGet(String url) { String result = null; CloseableHttpResponse response = null; try { HttpGet httpGet = new HttpGet(url); httpGet.setHeader("Use.
2021-04-15 14:43:19
67
原创 stream基操
//跟据某个属性分组Map<String, List<PersonData>> collect = list.stream().collect(Collectors.groupingBy(PersonData::getType));System.out.println(collect);//根据某个属性分组,汇总某个属性Map<String, Integer> collect2 = list.stream().collect(Collectors.groupi.
2021-04-15 14:40:26
161
原创 stream 去重
Set<Book> list = new HashSet<>();{ list.add(new Book("Core Java", 200)); list.add(new Book("Core Java", 200)); list.add(new Book("Learning Freemarker", 150)); list.add(new Book("Spring MVC", 200)); list.add(new Book("Hiber.
2021-04-15 14:38:41
13659
原创 list 类复制 合并
List<ClassifyAllQueryListResp> classifyQueryListResps;List<ClassifyAllQueryListPlatformResp> listPlatform = classifyQueryListResps.stream().map(e -> JSONUtil. toBean(JSONUtil.toJsonStr(e), ClassifyAllQueryListPlatformResp.class)).
2021-03-31 14:31:42
95
原创 map分组排序 再筛选每组第一条,第二条...第n条再排序
List<BusinessCouponResp> result = new ArrayList<>();int totalCount = 0;for (Map.Entry<String, List<BusinessCouponResp>> entry : collect.entrySet()) { List<BusinessCouponResp> value = entry.getValue(); value.stream.
2021-03-31 14:30:00
146
原创 java 内存分页
int curPage;int pageSize;int totalNums;int pages;PageBean pageBean = new PageBean<>();if (!CollectionUtils.isEmpty(page)) {totalNums = page.size();curPage = req.getCurPage();pageSize = req.getPageSize();page = page.subList(pageSize * (curPa
2021-02-08 17:38:00
149
原创 计算两个时间的时间差
public static Period dateSubtract(Date startSecond, Date endSecond){ long startInstant = startSecond.getTime(); long endInstant = endSecond.getTime(); LocalDate dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(startInstant), ZoneId.syst.
2021-02-06 15:20:26
647
原创 stream从list实体类筛选出符合条件的单个实体类
CommonArea l = common.stream().filter(item ->item.getName().equals("aa")).findAny().orElse(null); //此情况只符合所筛选条件至多一条 多条的话用这个 common.stream().filter(item -> item.getName().equals("aa")).collect(Collectors.toList())...
2021-02-04 11:48:16
4904
1
原创 根据前端传的流压缩图片
根据前端传的流压缩图片ByteArrayOutputStream smallOutputStream =null;ByteArrayInputStream smallIs = null;MultipartFile smallFile=null;try {smallOutputStream = new ByteArrayOutputStream();byte[] bytes = front.getBytes();smallIs = new ByteArrayInputStream(bytes);
2021-01-07 16:25:06
94
原创 stream根据list里面实体类的值赋值再排序
stream根据list里面实体类的值赋值再排序list替换list替换page为结果集page = page.stream().map(vo -> {GetCollectRecordsListResp detail = new GetCollectRecordsListResp();BeanUtils.copyProperties(vo, detail);List giftBagVoList = vo.getGiftBagVoList();if(!CollectionUtils.isE
2020-12-07 14:26:29
1958
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人