一、概述 集合框架主要包括Map和Collection,Collecton用于存储对象,而Map则通过键值对(两个对象)存储对象 二、Collection 2.1 Set TreeSet 基于红黑树实现,支持有序操作 HashSet 基于哈希表实现,查询速度快,但是数据无序 LinkedHashSet 查询效率与hashset一致,但是内部基于双向链表实现 2.2 List ArrayList 基于数组实现,查询快,增删慢 Vector 实现与ArrayList一致,但是线程安全 LinkedList 基于双向链表实现,查询慢,增删快。还可用于栈、队列、双向队列 2.3 Queue LinkedList 实现双向队列 PriorotyQueue 基于堆结构实现,可以用他来实现优先队列 三、Map TreeMap 基于红黑树实现 HashMap 基于哈希表实现 HashTable 与HashMap类似,但是线程安全 LinkedHashMap 使用双向链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序 参考Java中的Map - 问尤龙の时光 (wenyoulong.co.... Java基础--集合框架 Java基础
一、数据类型 1.1 基础数据类型 基础类型大小(字节)包装类型 boolean1Boolean byte1Byte char2Character short2Short int4Integer float4Float long8Long double8Double 基本类型与包装类型之间的赋值,通过自动装箱和自动拆箱完成 1.2 缓存池 Byte、Character、Integer、Long、Short包装类型中存在数据缓存,调用吧valueOf方法或者自动装箱时,会先去缓存中查询该数据是否存在,存在则返回缓存数据 以Integer为例,Integer中有一个内部类IntegerCache,里面设置了缓存的数据范围是[-128,127],建立了一个cache数组,并在静态代码块中初始化了该数组 private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value may be.... Java基础--基础知识 Java基础
三大特性 封装 利用抽象数据类型,将数据和基于数据的操作封装在一起,构成一个实体,将数据和操作细节隐藏在内部,在程序中控制对象的数据及行为的访问级别,用户不需要知道对象内部的细节,可以直接通过对象对外提供的接口来访问对象。 优点: 减少耦合 方便维护 继承 继承实现了IS-A关系,集成遵循里氏替换原则,子类对象必须能够替换掉所有父类对象。子类可以继承父类的非private的属性和方法。 多态 多态分为运行时多态和编译时多态。 编译时多态指方法的重载 运行时多态指的是程序中定义的对象引用的具体类型在运行期间才能确定 满足以下三个条件就会触发运行时多态 继承关系 重写 向上转型 下述代码中,动物类(Animal)有两个子类,猫(Cat)和狗(Dog),都重写了父类的eat()方法,在方法中,使用了Animal作为引用对象类型来引用Cat和Dog对象,调用方法时,会调用实际对象类型的eat方法而不是Animal的eat方法 public class Animal { public void eat(){ System.out.println("动物在吃东西"); } } public cl..... Java基础--面向对象 Java基础
elasticsearch基础--基本概念 - 问尤龙の时光 (wenyoulong.com) elasticsearch基础--linux安装 - 问尤龙の时光 (wenyoulong.com) elasticsearch基础--Docker安装 - 问尤龙の时光 (wenyoulong.com) elasticsearch基础--IK分词器 - 问尤龙の时光 (wenyoulong.com) elasticsearch基础--restful风格操作 - 问尤龙の时光 (wenyoulong.com) elasticsearch基础--搜索操作 - 问尤龙の时光 (wenyoulong.com) elasticsearch基础--聚合操作 - 问尤龙の时光 (wenyoulong.com) elasticsearch知识总结 Elasticsearch
1、JSR-303数据校验简介 JSR是Java Specification Requests的缩写,意思是Java 规范提案,JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,即,JSR 303,Bean Validation规范 ,为Bean验证定义了元数据模型和API 2、pom引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> 3、常见注解 4、定义组 在校验的时候,同一个字段在不同的业务场景下,校验规则可能会有差异需要进行不同的校验就可以通过分组实现,下述代码中,创建了两个分组,AddGroup用于处理新增数据的校验,UpdateGroup用于标识修改数据的校验 public interface AddGroup { } public interface ....... spring boot使用JSR-303做数据校验 java
1、引入pom <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>aliyun-oss-spring-boot-starter</artifactId> <version>${alioss.version}</version> </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>${sdk.oss.version}</version> </dependency> <alioss.version>1.0.0</alioss.version> <sdk.oss.version>3.15.1</sdk.oss.versio..... spring boot使用阿里oss java