- 博客(9)
- 收藏
- 关注
原创 正确使用ArrayList的sublist()方法
使用ArrayList的sublist()返回的是父list的视图,以下3点是摘自sublist的方法说明sublist()返回的是ArrayList的内部类“非结构性修改”:指不涉及到list的size改变的修改。如执行set()方法父子list都会受到影响,不会报异常,但会有数据使用错误的风险。“结构性修改”: 涉及size改变的修改,子list的所有操作都会反映到父list上。但父list的修改将会导致返回的子list失效,子list后续操作报异常1、sublist()返回的是ArrayLi
2021-12-24 14:34:16
1913
原创 JAVA集合和guava集合使用和原理解析
一:总体介绍:Java集合框架介绍集合可以看作是一种容器,用来存储对象信息。所有集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出了三个子接口:List、Set、Queue(Java5新增的队列),因此Java集合大致也可分成List、Set、Queue、Map四种接口体系,(注意:Map不是Collection的子接口)。其中L...
2020-11-06 11:48:39
1447
原创 3万字:SpringBoot入门及原理
springboot基础使用引入 web 模块1、pom.xml中添加支持web的模块: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> pom.xml 文件中默认有两个模块:spring-bo...
2020-07-28 10:42:17
580
原创 Java内存模型和内存溢出异常
1、程序计数器:线程私有的,可以看作是当前线程所执行的字节码的行号指示器。由于java多线程是通过线程的轮流切换并分配处理器时间的方式来实现的。所以在切换后要恢复到正确的执行位置,需要程序计数器来记录。2、java虚拟机栈:线程私有的,生命周期和线程相同。虚拟机栈描述的是java方法执行的内存模型。因为每个方法在执行的时候会创建一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法出...
2019-09-16 21:14:52
211
原创 泛型:类型擦除
首先,虚拟机是没有泛型类型的对象的,所有的对象都属于普通的类无论何时定义一个泛型类型,都自动提供了一个相应的原始类型,原始类型的名字就是删去类型参数后的泛型类型的名字。擦除类型变量,替换为限定变量(若无限定的变量用Obejct,若有限定变量的话替换为第一个) List<String> ls = new ArrayList<String>(); ...
2019-08-02 09:05:19
208
原创 Mybatis深入理解及源码解析(1)
首先,从官网看看mybatis的定义:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。...
2019-08-01 16:36:41
423
3
原创 java中set的使用
Set集合的特点:不能存储相同的元素。同时因为其是一个抽象的接口:所以不能直接实例化一个set对象。(Set s = new Set() )错误该接口主要继承于Collections接口,所以具有Collection的一些常见的方法。常见的方法:Sr.No.Method & Description1add( ) 向集合中添加元素2clear( ) 去掉集合中所...
2018-02-11 20:23:49
13961
3
原创 java中保留几位小数的问题
代码如下:mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double d1 = 3.23456 double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(
2018-01-10 11:19:29
1034
原创 JAVA中求最小公倍数的几个算法(做蓝桥杯往年习题时的一些收获)
首先,我先用了最小公约数,直接上代码吧package two;import java.util.*; class Main{ public static void main(String args[]){ Scanner scan=new Scanner(System.in); while(scan.hasNext()){
2018-01-07 09:57:58
3062
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人