Java
文章平均质量分 59
郭咖啡
***
展开
-
真的了解HashMap、HashSet吗?做一道测试题试试!
深入了解hashmap\hashset的put、remove方法原创 2023-02-20 17:48:47 · 426 阅读 · 1 评论 -
Hashtable底层原理分析
Hashtable特点、高频问题、源码分析、扩容机制等原创 2023-02-17 19:19:59 · 644 阅读 · 0 评论 -
Hashmap链表长度大于8真的会变成红黑树吗?
Hashmap大于8时树化Hashmap扩容树化机制链表树化原创 2023-02-17 17:16:23 · 1704 阅读 · 0 评论 -
LinkedHashSet底层源码分析
linkedHashSet源码分析,底层采用linkedHashMap原创 2023-02-10 18:59:38 · 173 阅读 · 0 评论 -
ArrayList底层源码分析、扩容机制
ArrayList底层源码分析以及扩容机制原创 2023-02-09 18:42:21 · 105 阅读 · 0 评论 -
idea导入jdk源码
idea导入jdk源码,源码注释原创 2022-12-22 17:34:23 · 1659 阅读 · 0 评论 -
创建线程的四种方式、线程状态、核心线程是否会回收
创建线程的四种方式、自定义线程池及参数介绍、线程状态、核心线程是否回收原创 2020-10-29 20:54:47 · 1372 阅读 · 4 评论 -
java的list集合如何根据对象中的某个字段排序?
结果为有小到大1、list里面为map public static void main(String[] args) { List<Map<String, Integer>> list = new ArrayList<>(); Map<String, Integer> map1 = new HashMap<&...原创 2020-11-08 16:46:16 · 408 阅读 · 0 评论 -
if(a == (Integer)1 && a == (Integer)2),为true,你敢信???Integer、new Integer() 区别
事例直接上测试事例Class cache = Integer.class.getDeclaredClasses()[0];Field c = cache.getDeclaredField("cache");c.setAccessible(true);Integer[] array = (Integer[]) c.get(cache);// array[129]=1// array[130]=2,将array[130]赋值为1array[130] = array[129]; // arr原创 2021-08-19 15:41:57 · 246 阅读 · 0 评论 -
docker安装并使用阿里巴巴Canal(含安装MySQL、开启binlog、Java代码、填坑经验)
阿里系一般都对开发者非常友好只需要稍微配置一下就可以用了,Canal也一样只需要简单的配置就可以部署使用。先在Docker Hub中下载v1.1.4版本的canal-server镜像 docker pull canal/canal-server:v1.1.4先启动Canal docker run -p 11111:11111 --name canal -d canal/canal-server:v1.1.4初次启动Canal镜像后,将instance.properties文件复制到宿原创 2021-06-10 10:23:41 · 6264 阅读 · 2 评论 -
启动项目时报错Error:java: Compilation failed: internal java compiler error
错误原因主要是因为jdk版本问题,要么编译版本不匹配,要么是当前项目jdk版本不支持。解决办法查看项目的jdk查看模块的jdk查询编译jdk版本maven项目查看pom配置文件中指定的JDK版本将上方涉及的JDK版本统一即可根据上图发现是编译jdk版本为1.7,导致JDK版本不一致编译失败的,将版本改为1.8后,即可正常启动...原创 2021-06-08 11:09:25 · 281 阅读 · 0 评论 -
Java反编译利器JD-GUI(解决报错This program requires Java 1.8+)
JD-GUI官方下载地址:http://java-decompiler.github.io/#jd-gui-download问题描述:Mac下载JD-GUI后,启动时报错This program requires Java 1.8+启动JD-GUI时显示需要jdk 1.8+的版本,但是查询本机jdk版本时版本为1.8.0_241,满足要求但是还是显示错误。解决方法:1、右击JD-GUI.app 点击显示包内容2、编辑Info.plist文件3、将jdk1.8+修改为jdk1.8,将+删除原创 2021-05-28 17:36:56 · 3692 阅读 · 0 评论 -
Mac jdk版本更新
记录一次JDK版本更新(Mac OS)jdk版本更新前jdk1.8.0_241,更新后jdk1.8.0_2911、通过系统偏好设置,点击Java,然后点击更新,再点击立即更新2、在Java更新完成后,在终端查看jdk版本是,jdk版本信息还是241,并未升级到2913、还是在Java控制面板中找到Java,点击查看即可找打jdk安装位置/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home4、由于路径中存在空格,故将C原创 2021-05-28 17:18:33 · 5439 阅读 · 0 评论 -
springMVC整合JSR303验证框架(hibernate-validator)并做全局捕获
目录JSR303介绍Hibernate Validator常用注解springMVC整合Hibernate Validator1、导入maven依赖2、修改springMVC配置文件3、编写验证实体4、编写Controller5、全局异常捕获其他链接说明:1、springMVC配置全局捕获请查看本人此博客:https://blog.csdn.net/qq_34497272/article/details/115726055JSR303介绍JSR 是Java Specification Request原创 2021-05-11 11:29:26 · 302 阅读 · 0 评论 -
解决hibernate-validator使用@Valid注解校验集合list时失效问题
springMVC整合hibernate-validator+全局异常捕获请参考本人此博客:https://blog.csdn.net/qq_34497272/article/details/116603372问题描述在整合验证框架后,发现集合类无法校验校验实体:请求参数:[ {"id":"1","name":"张三"},{"name":"张三"} ]下图中list前存在@Valid注解,但是没有生效,请求参数中ID存在空值,但是方法依旧正常执行。问题解决1、新建类实现Listim原创 2021-05-11 11:27:56 · 2692 阅读 · 5 评论 -
使用过滤器对dubbo请求时参数返回值等做日志记录
1、新建过滤器过滤器需要实现com.alibaba.dubbo.rpc.Filter。import com.alibaba.dubbo.common.Constants;import com.alibaba.dubbo.common.extension.Activate;import com.alibaba.dubbo.rpc.Filter;import com.alibaba.dubbo.rpc.Invocation;import com.alibaba.dubbo.rpc.Invoker;原创 2021-04-20 14:19:29 · 634 阅读 · 0 评论 -
java实现对象对比工具类
目录说明对比示例/结果源码说明此工具类对比两个Java对象相同属性以及不同属性对比示例/结果对比示例,可以对比实体,实体中嵌套实体,实体中嵌套集合等{ "id":"", "username":"", "age":0, "address":[ { "province":"", "city":"", "disrtict":"" } ], "details":{ "sex":"", "mobile":"" }}一下对比结果(更多测试可使用下方源码进行原创 2021-02-24 17:32:52 · 1740 阅读 · 0 评论 -
map/list遍历的方法总结
文章目录一、map1、keySet(),获取key,然后通过key获取value2、values(),获取value,不能获取key3、迭代器4、entrySet(),推荐使用二、list1、一、map1、keySet(),获取key,然后通过key获取valuepublic static void main(String[] args) { HashMap<String, String> map = new HashMap<>(); map.put("test原创 2020-11-17 22:16:53 · 347 阅读 · 0 评论 -
字符串常量java内部加载(字符串intern方法)
public static void main(String[] args) { String str1 = new StringBuilder("te").append("st").toString(); System.out.println(str1); System.out.println(str1.intern()); System.out.println(str1 == str1.intern()); String str2 = new StringBuil原创 2020-10-30 16:39:28 · 128 阅读 · 0 评论 -
HashMap、HashSet底层原理分析
1、HashMap 1.7和1.8区别2、1.8底层原理分析(含扩容过程分析)3、扩容为什么是2的幂次4、什么时候树化、链化原创 2020-10-17 17:16:05 · 337 阅读 · 0 评论