自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(162)
  • 收藏
  • 关注

原创 geoHash的入门认识

GeoHash核心原理解析 - zhanlijun - 博客园

2024-11-06 20:15:36 146

原创 单元测试引入 - Jacoco -报错 not find column $.jacocoData问题

not find column jacocoData

2022-10-19 11:09:10 685

原创 Mockito 简单示例

Mockito

2022-10-19 11:02:55 397

原创 Idea debug 调试运行慢

有method级的断点,取消掉method级的断点即可。

2022-08-31 10:59:02 975

原创 如何计算一个对象的大小

lucene-core 为我们提供了简单的API,直接调用就能够简单的计算出一个Java对象占用内存的大小使用方式:<dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>4.6.0</version></dependency>Java .

2022-04-28 23:13:33 1243

原创 Spring @Value @Resource @Autowired注解的原理

Spring的属性注入一般会使用到的注解基本就@Value @Resource @Autowired 这几种,属性注入的原理第一步:org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean第二步:核心都在这里 调用不同的InstantiationAwareBeanPostProcessor 处理不同的属性注入for (BeanPostProcessor bp

2022-03-30 20:01:25 715

原创 Spring的xml配置文件中 已String形式配置List

spring xml properties split with comma for list_Black Shadow-优快云博客

2021-12-16 14:11:31 1326

原创 @Value为null问题排查及解决方法

Spring的BeanDefinitionRegistryPostProcessor原理

2021-11-21 11:53:49 3699

原创 Linux 文件被删除单文件句柄没有释放导致磁盘满问题排查

1 线上的服务一直跑的好好的,也很长时间没有进行过发布或重启,日志也是滚动的,突然有一天监控报警说磁盘使用率达到了95%以上了,这就很奇怪了2 查看了磁盘的使用情况发现磁盘的使用都还OK,都没有超过安全水位怎么会报警呢?3 后面经过艰难排查发现是有文件被删除了但是文件句柄没有被释放使用如下命令:lsof | grep deleted 查看是哪些文件被删除了但是文件句柄没有被释放,然后在重启应用 就OK了参考:linux中文件句柄未释放,会导致什么问题_百度知道lsof处理

2021-10-31 23:31:47 1506

原创 如何安装历史版本的maven

以Mac为例:1 登陆maven官网:https://maven.apache.org/download.cgi2 找到下载历史版本的入口3 下载历史版本https://archive.apache.org/dist/maven/maven-3/4 解压然后配置环境变量(配置maven的环境变量前需要配置好JDK的环境变量) vim ~/.bash_profile export M2_HOME=/Users/zeal/MyApp/MyReposito...

2021-07-13 23:32:09 1879

原创 IDEA中遇到One of the two will be used. Which one is undefined.

1、问题描述:IDEA启动Java项目后报错objc[5811]: Class JavaLaunchHelper is implemented in both/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java(0x10a0df4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/libinstrumen.

2021-06-21 17:36:46 1858 1

原创 字符串文本diff实现

最近项目上需要实现一个类似于两个字符串比较差异并将差异展现出来,搜索了很多方法都不好用,最终在gitHub上找到了一个超厉害的工具,今天记录一下,方便有需要的朋友1 导入jar包<dependency> <groupId>io.github.java-diff-utils</groupId> <artifactId>java-diff-utils</artifactId> <version>4.5&l

2021-06-21 17:01:18 769

原创 SpringBoot自动生成实例对象

参考:https://zhuanlan.zhihu.com/p/149052766

2021-06-06 16:17:57 592

原创 Spring整合mybatis原理分析

原生的mybatis的使用方式public class MybatisOriginalDemo { public static void main(String[] args) { Reader reader = null; try { reader = Resources.getResourceAsReader("mybatis/mybatis-config.xml"); } catch (IOException

2021-06-05 17:30:46 336 2

原创 Spring + mybais实现多数据库读写分离

项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此。多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源。例如在一个spring和hibernate的框架的项目中,我们在spring配置中往往是配置一个dataSource来连接数据库,然后绑定给sessionFactory,在dao层代码中再指定sessionFactory来进行数据库操作。————————————————版权声明:本文为优快云博主「wangpeng047」的原创文章,遵循CC 4.0

2021-06-05 12:58:50 300 1

原创 Spring循环依赖--三级缓存

protected Object getSingleton(String beanName, boolean allowEarlyReference) { Object singletonObject = this.singletonObjects.get(beanName); if (singletonObject == null && isSingletonCurrentlyInCreation(beanName)) { synchronized (this..

2021-05-31 19:54:48 95

原创 SpringMVC 参数转换处理

这个比较有意思下面是大佬的解析过程参考:https://www.cnblogs.com/java-chen-hao/p/11187914.html

2021-05-27 17:25:14 124

原创 SpringCloud Eureka注册中心

springCloud 1 eureka 注册中心 1 服务注册 2 注册中心 3 心跳机制eureka 集群部署 : 采用的是节点之间进行信息同步的方式,将所有的注册表同步到其他节点并在内存中存储 1 响应速度快,能够做到最大可能的数据一致性 2 内存利用率低,每个节点都存储了一份一样的数据服务注册的代码:com.netflix.eureka.registry.AbstractInstanceRegistry#regis...

2021-05-27 11:12:24 103

原创 leetCode 链表反转

方法一:递归实现public ListNode reverseList(ListNode head) { if(head == null || head.next == null){ return head; }ListNode pre = reverseList(head.next); head.next.next = head;head.next = null;return pre;}方法二:双指针方式public ListNod...

2021-05-26 20:00:38 114

原创 动态规划之 -- 01背包问题

有N件物品和一个容量为V的背包,第i件物品消耗的容量为Ci,价值为Wi,求解放入哪些物品可以使得背包中总价值最大。解法一:static int[] w = new int[]{0, 2, 3, 5, 5};static int[] v = new int[]{0, 2, 4, 3, 7};public static int test2(int i , int c){ int result = 0; if(i == 0 || c == 0){ return

2021-05-26 14:14:40 129

原创 ForkJoinDemo

public class ForkJoinPoolTest { public static void main(String[] args) throws ExecutionException, InterruptedException { int[] arr = new int[]{1,2,3,4,5,6}; LongSum longSum = new LongSum(0,arr.length,arr); ExecutorService e..

2021-05-23 21:47:45 136

原创 消息中间件

https://blog.youkuaiyun.com/Iperishing/article/details/86674649

2021-05-21 10:29:27 59

原创 Mysql中的锁

一 mysql中的锁1 乐观锁 悲观锁2 表级锁 页级锁 行锁3 读锁(S锁) 写锁(X锁)4 间隙锁 临健锁二mysql设置session的事务隔离级别:读未提交:set tx_isolation='read-uncommitted';读已提交:set tx_isolation='read-committed';可重复读:set tx_isolation='repeatable-read';串行化: set tx_isolation='serializab...

2021-05-14 00:19:28 66

原创 自定义RequestMappingHandlerMapping实现多版本接口管理

项目中需要兼顾老项目,同时提供新的接口,这时就需要实现多版本,小事安排:1 自定义注解:@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface ApiVersion { double value() default 0;}2 自定义一个RequestConditionimport org.springframe...

2021-05-12 22:55:17 858

原创 给定一个二叉树,找出其最小深度

classSolution{publicintminDepth(TreeNoderoot){if(null==root){return0;}if(null==root.left&&null==root.right){return1;}if(null==root.left){return...

2021-05-11 18:45:31 268

原创 leetCode求两数之和

第一种方法: 暴力列举publicint[]twoSum(int[]nums,inttarget){int[]result=newint[]{0,1};if(nums.length==2){returnresult;}for(inti=0;i<nums.length-1;i++){for(intj=i+1;j<nums.length;j++)...

2021-05-11 18:44:38 79

原创 JVM 内存分配及回收机制

1 对象优先Eden分配空间2 大对象直接进入老年代 -XX:PretenureSizeThreshold=31457283 长期存活的对象直接进入老年代4 动态年龄判断机制 -XX:MaxTenuringThreshold=155 空间担保机制 -XX:HandlePromotionFailure

2021-05-08 23:55:01 93

原创 面试之redis连环问

参考文档:https://blog.youkuaiyun.com/wsdc0521/article/details/106997623

2021-04-23 16:20:50 119

原创 java 实现任意对象的值修改为期望的值

最近项目上和其他团队的同学进行对接,发现他们对String类型的数据为"" 的时候处理不符合预期,这种为""的数据只能传null的时候,他们才能正确处理这个要求~~~ 没事 安排功能实现:private static void changeParam(Object obj, Object expectValue,Function<Object, Boolean> function) throws Exception { Class<?> clazz...

2021-04-12 16:51:01 164

原创 Spring中@Import注解的使用及原理分析

经常面试的时候会被问到了解SpringBoot的自动配置原理吗?大部分都是向下面这边解释其实并不了解其中的原理@SpringBootApplication ---> @EnableAutoConfiguration --> @Import({AutoConfigurationImportSelector.class})但是如果面试官进一步的追问 知道什么时候处理@Import 吗 ? 或者AutoConfigurationImportSelector 的selectImpor.

2021-03-27 22:46:38 490

原创 java如何对一个对象实现深拷贝?

经常面试的时候会被问到Java的深拷贝和浅拷贝的区别,以及如何实现一个深拷贝?(是不是熟悉的味道) Java的对象拷贝分为两种情况:浅拷贝和深拷贝 浅拷贝:指的是拷贝的当前对象的地址引用,这种拷贝当原对象值发生变化时,拷贝对象的值也会跟随变化 深拷贝:相对于浅拷贝而言,深拷贝拷贝的是原对象的值,简单理解就是当原对象的值发生变化时,拷贝对象的值是不会跟随变化的 基础类代码 创建一个Question类public class Question { ...

2021-03-04 15:16:57 1293 4

转载 SpringMVC 过滤器与拦截器

参考:https://blog.youkuaiyun.com/zxd1435513775/article/details/80556034?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.baidujs&dist_request_id=4b4558ad-1857-4c07-882c-34d50e4a3e24&depth_1-utm_source=distribute.pc_rele

2021-02-26 18:20:54 141

原创 Java实现爬虫

1、代码jar包<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.3</version></dependency>2 编写测试类public class JsoupTest { public static void main(String[

2021-02-24 18:00:01 202

原创 Java 通过mave命令下载jar

之前一直都是使用的idea,创建maven工程进行jar包导入操作,居然接到了通过java 代码导入jar包的需求,满脸的懵逼,好在功夫不负有心人,最终将其拿来了,现在这里记录一下,方便以后学习使用; 本次采用的方案是基于pom.xml模板的形式+maven命令的方式,到仓库下载jar报错,示例代码如下: 项目依赖:<dependency> <groupId>commons-io</groupId>...

2020-11-12 13:00:24 339 2

原创 Java 基于上传的jar进行反射生成对象

最近项目上有个新需求,用户上传的jar包,然后解析jar包中指定的类的指定方法的请求参数和返回参数,这里做一个简单的记录,以后可以基于这个demo进行扩展创建一个SpringBoot 的web项目,项目集成了swagger 和 lombokcontroller编写:controller 很简单 主要是实现文件的上传@RestController@RequestMapping("/upload")@Api(tags = "FileUploadController")public c.

2020-11-10 23:52:00 389

原创 Java反射简单认识

概述: Java的强大之一,就是强大的反射功能,如果能够熟练的使用Java的反射,那你对Java的理解将更深入一层;JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取对象的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法,所以先要获取到每一个字节码文件对应的Class类型的对象。 ...

2020-11-10 14:19:19 206

原创 Idea 集成 Java诊断工具jvisualvm

第一步 :插件安装 setting——> Plugings——> VisualVM launcher ——> Search in repositories ——> install——> Restart IDEA第二步:指定jdk自带的visualVM 工具路径setting——>other settings——> visualVM launcher——>填写jvisualvm的地址第三步:使用效果展示...

2020-11-06 10:42:59 1010

原创 Java的类加载机制及双亲委派

Java类加载过程Java的类加载主要流程如下所示:1 加载:主要是完成字节码的加载2 验证: 主要完成字节码的合法性的验证3 准备:为静态变量和静态的 final字段赋值4 解析:将符号引用转为地址引用5 初始化: 调用构造器完成对象的初始化JVM的类加载器 1 启动类加载器 2 扩展类加载器 3 应用类加载器 4 自定义类加载器双亲委派:扩展问题: Java虚拟机的基本机构? 什么是类加载器?...

2020-11-04 00:45:47 700

原创 JAVA HashMap 原理分析

HashMap 是Java面试中被点名频率较高的一个,今天找时间总结一下:1 、jdk7 多线程环境下使用HashMap会有什么问题,怎么导致的? 怎么解决? 参考:https://www.cnblogs.com/lan-ge/p/10290169.html2、java8 中hashMap put方法和Java7 有什么不同? 参考:http://tianxiaobo.com/2018/01/18/HashMap-%E6%BA%90%E7%A0%81%E8%AF%A6%E7%BB%86%..

2020-10-25 00:09:13 97

原创 学习资料汇总

IDEA 插件开发:https://www.jianshu.com/p/722841c6d0a9arthas 使用:https://blog.youkuaiyun.com/u012881904/article/details/103865802

2020-10-22 16:17:57 198

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除