java
文章平均质量分 93
java学习和分享
Upaaui
渐行渐远渐无书,水阔鱼沉何处问
展开
-
EasyExcel使用,实体导入导出
实体与excel列的映射创建实体类使用 @ExcelProperty、@ExcelIgnore 等注解标识导出列;@ExcelIgnore 表示忽略此字段@ExcelProperty 用于标识列 value属性设置列的名称,index属性设置设置列的序号 从 0 开始@Data/*** @description: 使用@ExcelIgnore注解忽略此字段**//*** @description: 使用@ExcelProperty标识列。原创 2024-01-31 18:43:58 · 1054 阅读 · 0 评论 -
Java自定义注解
Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP配合使用,可以用来设计自己的框架,也可以用于开发中的权限校验Java注解是什么,以下是引用自维基百科的内容Java注解又称Java标注,是JDK5.0版本开始支持加入源代码的特殊语法元数据。ava语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。当然它也支持自定义Java标注。原创 2024-01-17 22:40:02 · 969 阅读 · 0 评论 -
java中ArrayList和LinkedList的区别
这边可以看到一个严重的问题,一旦我们执行了初始容量为0,那么根据下面的算法前四次扩容每次都 +1,在第5次添加数据进行扩容的时候才是按照当前容量的1.5倍进行扩容。而后的数组扩容才是按照当前容量的1.5倍进行扩容;Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据, (因为删除数据以后, 需要把后面所有的数据前移)ArrayList在初始化的时候指定长度肯定是要比不指定长度的性能好很多, 这样不用重复的申请空间, 复制数组, 销毁老的分配空间了。原创 2021-05-17 15:32:28 · 3833 阅读 · 9 评论 -
int和Intege的区别
int是Java中的一种基本数据类型,用于表示整数。它是Java语言中最常用的数据类型之一,可以直接进行数值运算,无需通过封装类进行转换。Integer是Java中的一个封装类,用于表示整数。它是int的封装类,可以将int类型的数据转换为Integer类型的数据。Integer类提供了许多操作整数的方法,使得整数的操作更加方便和灵活。在本篇文章中,我们解释了Java中int和Integer之间的差异,并结合一些代码案例进行了说明和分析。原创 2021-05-19 21:19:08 · 31486 阅读 · 10 评论 -
强引用和弱引用区别
在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。同样,弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。在一个方法的内部有一个强引用,这个引用保存在Java栈中,而真正的引用内容(Object)保存在Java堆中。强引用是使用最普遍的引用。当这个方法运行完成后,就会退出方法栈,则引用对象的引用数为0,这个对象会被回收。原创 2023-03-28 14:30:10 · 651 阅读 · 0 评论 -
内存泄漏和内存溢出
内存泄露什么是内存泄漏?内存泄漏:是指程序中已动态分配的堆内存由于某种原因未释放或⽆法释放,造成系统内存的浪费,导致程序运⾏速度减慢甚⾄系统奔溃等严重后果内存泄漏的特性:内存泄漏具有隐蔽性,积累性的特征,⽐其他内存⾮法访问错误更难检测。这是因为内存泄漏产⽣的原因是内存块未被释放,属于遗漏型缺陷⽽不是过错型缺陷。此外,内存泄漏不会直接产⽣可观察的错误,⽽是逐渐积累,降低系统的整体性性能。内存溢出 :内存溢出:out of memory 指程序在申请内存时,没有⾜够的内存空间供其使⽤原创 2022-05-10 09:00:50 · 3023 阅读 · 1 评论 -
8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL)
log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。ALL最低等级的,用于打开所有日志记录。TRACEdesignates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。DEBUG指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一...原创 2021-11-28 20:52:43 · 15948 阅读 · 1 评论 -
java如何处理Excel-(easyexcel)
最近有一个需求需要处理Excel,当初还以为Excel有多难呢,没想到早有人在我们前面就把路给我们铺好了这里给一个官方的git。原创 2021-11-24 11:20:21 · 11598 阅读 · 2 评论 -
Java 中 == 和 equals 的区别?
equals: equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。==: ==比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。举个例子:==是判断两个人是不是住在同一个地址,而equals是判断同一...原创 2022-05-06 21:29:08 · 2754 阅读 · 0 评论 -
java中的数据类型转换
其他类型转StringString s = String.valueOf( value); // 其中 value 为任意一种数字类型。 字符串型转换成各种数字类型:String s = "11111"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integer.parseInt( s ); long l = Long.parseLong( s ); Floa..原创 2021-11-28 20:59:44 · 8752 阅读 · 1 评论 -
多态的实现
多态实现条件在Java中要实现多态,那么必须要满足以下几个条件,缺一不可:必须在继承体系下子类必须要对父类中的方法进行重写通过父类的引用调用重写的方法多态体现:在代码运行时,当传递不同类对象时,会调用对应类中的方法。运行结果👇在上述代码中,分割线上方的代码是类的实现者 编写的,分割线下方的代码是类的调用者编写的当类的调用者在编写eat();这个方法的时候,参数类型为Animal(父类),此时在该方法内部并不知道,也并不关注当前的animal引用指向的是哪个类型(哪个子类)的实例。.原创 2022-06-07 21:21:46 · 9087 阅读 · 0 评论 -
Java中的多态:什么是多态?
Java中的多态:什么是多态?多态性是面向对象编程的三大重要特征之一,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。对面向对象来说,多态分为编译时多态和运行时多态。 其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的方法。通过编译之后会变成两个不同的方法,在运行时谈不上多态。而运行时多态是动态的,它是通过动态绑定来实现的,也就是大家通常所说的多态性。Java实现多态有 3原创 2022-05-27 21:12:18 · 9435 阅读 · 1 评论 -
java 集合
Java是在JDK1.5中引入的一个新特性,其本质是参数化类型,把类型作为参数传递常见的有泛型类、泛型接口、泛型方法语法T:tape 类型E:element元素K:key键值V:value值叫做类型占位符,表示一种引用类型。提供代码的重用性防止类型转换异常,提高代码的安全性特点:无序,无下标,元素不可重复方法:均继承Collection接口存储结构:红黑树基于排列顺序实现元素不重复。实现了SortedSet接口,对集合元素自动排序。原创 2022-08-20 15:20:22 · 5963 阅读 · 0 评论 -
java基础知识总结(四)static关键字
一.static关键字:(1)静态的意思,用来修饰成员变量和成员函数(2)静态的特点:随着类的加载而加载优先于对象存在对所有对象共享可以被类名直接调用(3)静态的注意事项A:静态方法只能访问静态成员为什么:因为静态的内容是随着类的加载而加载,它是先进内存的。B:静态方法中不能使用this,super关键字C:主方法是静态的...原创 2021-06-29 08:46:51 · 6834 阅读 · 10 评论 -
java基础知识总结(三)面向对象
一.面向对象思想:(1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,强调具备功能的对象;(2)思想特点:A:是符合人们思考习惯的一种思想;B:将复杂的事情简单化了;C:将程序员从执行者变成了指挥者;比如我要达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机,至于怎么洗我不管。(3)特...原创 2021-06-29 08:44:42 · 6845 阅读 · 7 评论 -
java基础知识总结(二)
一.有符号数据的表示法(次重点)原码,反码(原码取反),补码(反码+1)。二.函数定义:函数就是定义在类中的具有特定功能的一段独立小程序。特点:定义函数可以将功能代码进行封装便于对该功能进行复用函数只有被调用才会被执行函数的出现提高了代码的复用性对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可...原创 2021-06-29 08:41:06 · 6794 阅读 · 5 评论 -
java基础知识总结(一)
java语言的三种技术架构J2EE:企业版是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发。J2SE:标准版是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。比如Java版的扫雷。J2ME:小型版是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费...原创 2021-06-29 08:34:41 · 6876 阅读 · 6 评论