自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HashMap使用遇到的坑

大家好,我是程序员行一本文介绍一下我在使用java.util.HashMap中遇到的一个NPE问题,实际上是因为个人对API了解不深入导致使用时出现意想不到的问题先来介绍bug现象// 这段代码编译时没有任何问题的@Testpublic void testPutIfAbsentBug() { final HashMap<String, Boolean> hashMap = new HashMap<>(2); String key = "行一"; // 这里想表达

2021-07-17 17:34:35 568

原创 【经验杂谈】为什么静态方法不能调用非静态方法?

前言今天分析一下为什么静态方法不能调用非静态方法,但是反过来却可以调用。本文将从字节码的角度分析底层原因。原理分析这里先说结论:静态方法属于类,方法的参数列表没有默认隐含的this引用,这也说明了调用静态方法不需要当前对象的引用this,但是调用非静态方法需要当前对象的引用才能调用,所以这就是不能调用非静态方法的主要原因,非静态方法属于实例对象,方法的参数列表有默认隐含的this引用,同时调用静态方法不需要this,因此可以调用。示例代码package com.github.xfc.stati

2021-09-03 00:54:11 1831

原创 linux 的cat grep用法

catxx.log|grep-C5'关键字'显示file文件里匹配“关键字”字串那行以及上下5行catxx.log|grep-B5'关键字'显示“关键字”及前5行catxx.log|grep-A5'关键字'显示“关键字”及后5行...

2021-08-25 10:41:29 25273

原创 【经验杂谈】一个使用transient不慎带来的坑

前言说明:如果您对transient关键字非常了解或熟悉,请忽略,不喜勿喷。本文主要介绍本人最近在重构线上代码时,发现组内小伙伴用了transient关键字带来的一个问题,因此在这里记录一下,同时巩固一下transient关键字的作用和原理,如果您对transient关键字非常了解或熟悉,本文可以跳过不看。问题复现说明:本文的序列化主要用了fastjson作为序列化测试工具pom依赖<dependency> <groupId>org.projectlombok

2021-07-31 08:19:13 611

原创 【经验杂谈】JDK源码总是将实例变量赋值到本地变量再操作?

前言我们在源码中总是看到源码作者将实例变量赋值到本地变量后再操作,我们平时写业务代码会很少这么干,为什么人家这么写?有什么好处?本文深入了解一下final Object[] items = this.items;final ReentrantLock lock = this.lock;猜测 ?源码中很多的类似final Object[] items = this.items;操作,这里分析一下为什么要这么做。猜想:局部变量都是存在于栈中,但是实例引用都存在于堆中,因此猜测这个处理是为了性

2021-07-21 14:36:42 202

原创 享元模式

享元模式享元模式概念享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于 享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种 对象结构型模式。享元模式类图这里盗了个别人的图享元模式代码示例享元接口package com.x...

2019-12-23 16:14:19 139

原创 springboot中的事件

官网对springboot事件的描述springboot中事件的发布顺序(发送优先级从高到底)ApplicationStartingEvent在运行开始时发送 ,但在进行任何处理之前(侦听器和初始化程序的注册除外)发送ApplicationEnvironmentPreparedEvent当被发送Environment到中已知的上下文中使用,但是在创建上下文之前ApplicationCon...

2019-12-06 18:14:59 919

原创 一道不寻常的面试题

本题主要考察类加载机制,考察jvm在加载类时的加载顺序。可能没描述

2019-07-06 11:29:25 281

原创 使用tableExport.js直接导出web页面上的table

1,需要导入两个js文件,一个tableExport.js,另一个是jquery.base64.js,前一个文件是导出数据和核心类库,后一个是为了避免导出中文时乱码的js文件,如果你导出的数据没有中文,可以不适用它。说明:只能对table标签进行操作2,导入以上两个js后,为下载按钮绑定事件,如下代码是最简单的导出配置//文件导出--------------------------

2016-12-23 15:42:06 28678 16

空空如也

空空如也

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

TA关注的人

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