随笔分类 - java基础
摘要:### HashMap hashmap会将key和value生成一个entry对象。 将entry放在数组中。放的位置,将key进行hashcode后取余,获取数组下标。 链表:头插法、尾插法。头插法更快。 #### 1.7创建HashMap的底层源码 * 1.创建HashMap ```java H
阅读全文
摘要:toString()方法 返回该对象的字符串表示。该字符串由类名、@、和次对象哈希码值的16进制表示组成,换句话说就是 原理分析: 全限定路径:包名+类名 has code() 》将对象在堆中的地址,进行哈希算法,返回一个码值 〉哈希码。 将这个哈希码传入到Integer.toHexString(哈
阅读全文
摘要:super属性和方法指的是:父类 super可以修饰属性,修饰方法。 在子类的方法中,可以通过super属性,super方法的方式,显式的去调用父类的属性和犯法,在通常情况下,super.可以省略不写。 在特殊情况下,当子类和父类的属性或者方法重名时,要是想用父类的方法,必须使用super.进行调用
阅读全文
摘要:java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理
阅读全文
摘要:为什么使用Stream流? 1.Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。相当于高级版的Iterato
阅读全文
摘要:概述 JDK8 提供的函数式接口 提供一个抽象方法test, 接受一个参数, 根据这个参数进行一些判断, 返回判断结果 true / false 提供几个默认的default方法, and, or, negate 用于进行组合判断 在流中被广泛使用 FunctionalInterface publi
阅读全文
摘要:java是一门开发语言。 J2se是java的桌面应用平台,用于开发桌面应用程序,比如qq,暴风影音等都是桌面应用程序,其中s表示standard,标准的意思。 j2ee,其中e表示enterprise,即企业的意思,即java企业应用平台,用于大型的分布式的开发程序。 j2me,m表示mobile
阅读全文
摘要:objectMapper.convertValue将linkedHashMap转成对象使用的的方法 ObjectMapper处理从远程获取的Object对象 微服务中从其他服务获取过来的对象,如果从Object强转为自定义的类型会报错,利用ObjectMapper转换。 ObjectMapper m
阅读全文
摘要:java并发包里面的类一直是学习和面试的重点,这篇文章主要是对java并发包的其中一个类AtomicInteger的讲解。从为什么要出现AtomicInteger再到其底层原理来一个分析。 一、从a++说起为什么使用AtomicInteger 我们知道java并发机制中主要有三个特性需要我们去考虑,
阅读全文
摘要:1、java.util.concurrent.atomic 的包里有AtomicBoolean, AtomicInteger,AtomicLong,AtomicLongArray, AtomicReference等原子类的类,主要用于在高并发环境下的高效程序处理,来帮助我们简化同步处理. 在Java
阅读全文
摘要:一、简述: cmd中,执行java命令与javac命令的区别: javac:是编译命令,将java源文件编译成.class字节码文件。 例如:javac hello.java 将生成hello.class文件。 java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。 例如:java h
阅读全文
摘要:pringBoot跑个单元测试只需要在测试类加两个注解就行了。 @RunWith(SpringRunner.class) @SpringBootTest 然而这样的单元测试默认是提交事务的,一般的场景下都是要对事务进行回滚的。要支持回滚,只需要增加一个@Transactional注解即可。 @Run
阅读全文
摘要:在springboot中使用事务,非常的简单,只要我们增加两个注解就可以解决事务问题。下面我们演示一下: 1 在入口类使用注解@EnableTransactionManagement开启事务: 2、 在访问数据库的service方法上添加注解@Transactional即可 例如我们在程序中增加一个
阅读全文
摘要:创建临时文件 在java中创建临时文件有许多场景,但是大多数是在单元测试或者是对上传的文件进行内容处理。当测试用例或者文件处理完成后,你并不关心文件是否还存在。况且持续累积的无效文件无疑会浪费许多磁盘空间。 通过使用java.io.File.createTempFile()创建临时文件 public
阅读全文
摘要:String: 1,是字符串常量,一旦创建就不能修改。对于已经存在了的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。 2,String也是final类,不能被继承。 3,而且String是对象而不是基本类型。 4,string覆盖了equals方法和hashCode()方法。
阅读全文
摘要:Java的transient关键字 Java 中的 transient 关键字被用来表示变量将不被序列化处理。那么在理解 transient 关键字之前,我们先了解下什么是序列化。 什么是序列化 序列化是对象进行持久化处理,也就是说,将对象转化成一个字节流进行存储(比如存储为一个字节文件)或传输(通
阅读全文
摘要:一、简述 java.math.BigDecimal不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值(unscaledValue)和32位的整数标度(scale)组成。其值为该数的非标度值乘以10的负scale次幂,即为(unscaledValue * 10-scal
阅读全文
摘要:引出: 在使用Lanbda表达式的时候,我们实际上传递进去 的代码就是一种解决方案:拿什么参数做什么操作.那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再重复逻辑? 冗余的Lambda场景 来看一个简单的函数式接口以应用Lambda表达式,在acc
阅读全文
摘要:一.java的入门程序 java语言的简单介绍 关于java语言的特点:(1) 简单性和c++相比,java没有头文件、指针、运算符重载等,java语言相当于是一个比较纯净版的c++。(2) 面对对象java是纯粹的面对对象的语言。(3) 分布式java有一个拓展的例程库,用于处理Http/Ftp之
阅读全文