随笔分类 - JAVA
JAVA相关
摘要:链接:https://bigdata.51cto.com/art/202006/619000.htm?mobile 前言 BitMap从字面的意思,很多人认为是位图,其实准确的来说,翻译成基于位的映射,怎么理解呢? 问题引入 有一个无序有界int数组{1,2,5,7},初步估计占用内存44=16字节
阅读全文
摘要:通过反射来修改,反射还能实现swap(int a,int b) package zhengze; import java.lang.reflect.Field; import java.util.logging.FileHandler; public class Person { private i
阅读全文
摘要:单一职责原则:一个类只做它该做的事情。(单一职责原则想表达的就是"高内聚",写代码最终极的原则只有六个字"高内聚、低耦合",就如同葵花宝典或辟邪剑谱的中心思想就八个字"欲练此功必先自宫",所谓的高内聚就是一个代码模块只完成一项功能,在面向对象中,如果只让一个类完成它该做的事,而不涉及与它无关的领域就
阅读全文
摘要:Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。 ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个
阅读全文
摘要:java为数据结构中的映射定义了一个接口java.util.Map,他实现了四个类,分别是:HashMap,HashTable,LinkedHash,MapTreeMap Map不允许键重复,但允许值重复 1.HashMap: 最常用的Map,根据键的hashcode值来存储数据,根据键可以直接获得
阅读全文
摘要:Object的hashCode()默认是返回内存地址的,但是hashCode()可以重写,所以hashCode()不能代表内存地址的不同。 System.identityHashCode(Object)方法可以返回对象的内存地址,不管该对象的类是否重写了hashCode()方法 对于对象,比较的是对
阅读全文
摘要:首先默认对象继承object,object中equals比较的是对象的内存地址信息,hashcode比较的是对象的内存地址经过hash计算后的hash值。如过是我们需要判断两个对象的内存是否相等的时候,一般不涉及hash类型集合时不用重写hashcode方法,equals就够了,但是涉及到HashM
阅读全文
摘要:一、简介 方法引用是java8的新特性之一, 可以直接引用已有Java类或对象的方法或构造器。方法引用与lambda表达式结合使用,可以进一步简化代码。 来看一段简单代码: public static void main(String[] args) { List<String> strList =
阅读全文
摘要:1.引言 float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上
阅读全文
摘要:java中Array和ArrayList区别1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”。 2)Array([]):最高效;但是其容量固定且无法动态改变; ArrayList: 容量可动态增长;但牺牲效率; 3)建议:基于效率和类型检验,应尽可能使用Array,无
阅读全文
摘要:什么是不可变对象? 众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其
阅读全文
摘要:1、Integer是int的包装类,int则是java的一种基本数据类型 2、Integer变量必须实例化后才能使用,而int变量不需要 3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 4、Integer的默认值是null
阅读全文
摘要:https://www.runoob.com/java/java-string-trim.html trim() 方法用于删除字符串的头尾空白符。 语法 public String trim() 参数 无 返回值 删除头尾空白符的字符串。 实例 public class Test { public
阅读全文
摘要:本文章中有几处错误,算是边看边思考边修改还是挺不错的。 java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher
阅读全文
摘要:自用。 同样的代码在不同的平台生成的机器码是不一样的,为什么java代码生成的字节码文件,能在不同的平台运行? 因为不同版本的jdk里面的虚拟机会屏蔽不同操作系统在底层硬件与指令上的区别。 栈:线程栈,局部变量存放栈内存区域。线程(分配一个栈)运行分配栈将局部变量放入内存。怎么放:栈帧。分配方法专属
阅读全文
摘要:https://www.cnblogs.com/lukelook/p/11183155.html 先看一个例子: //class A package com.my.test; class A { static { System.out.println("A1:父类静态代码区域"); } { Syst
阅读全文
摘要:@Autowired 应用场景:父类或抽象类中存在公共依赖的bean时 工作原理1.注解解析器:AutowiredAnnotationBeanPostProcessor 2.Spring容器启动时,AutowiredAnnotationBeanPostProcessor被注册到容器; 3.扫描代码,
阅读全文
摘要:最近从C++转JAVA很多不适应的地方 List的拷贝就是其中之一 //假如申请一个ListList<Integer> temp = new ArrayList<>();//另申请一个直接相等, List<Integer> t1 = temp;temp.add(1); t1.forEach(Syst
阅读全文
摘要:使用的idea版本是2019.2.1,以及MAVEN版本是3.6.3。 同步一直出现问题,查看日志后报错 java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector, see t
阅读全文
摘要:Comparator接口 public interface Comparators <T> { int compare(T first, T second); } //要按长度比较字符串,可以如下定义一个实现 Comparator<String> 的类: class LengthComparator
阅读全文