Overview of the Java Collection Interface
Collection interface is the root interface for all single-column collections in Java. It defines common methods used by all single-column containers to store multiple data elements.website·Indexed 29 days ago
https://xiaofei.site/notes/A collection of technical notes and tutorials covering backend development with Spring Boot, MyBatis, and Redis; database management for MySQL, SQL Server, and Oracle; and infrastructure topics including RabbitMQ, RPC frameworks, and multi-tenant scheduled task architectures. Also includes guides on Vue2, Node.js, Maven configuration, and computer networking fundamentals.
Collection interface is the root interface for all single-column collections in Java. It defines common methods used by all single-column containers to store multiple data elements.Java collections are categorized into several main interfaces:
ArrayList: Dynamic array; fast lookups, slow insertions/deletions.LinkedList: Doubly-linked list; slow lookups, fast insertions/deletions.Vector: Thread-safe dynamic array (similar to ArrayList).HashSet: Hash table based; unordered.LinkedHashSet: Hash table + linked list; maintains insertion order.TreeSet: Red-Black tree based; sorted.LinkedList: Implements Queue for FIFO (First-In-First-Out) operations.PriorityQueue: Priority heap; sorted by natural order or a custom comparator.HashMap: Hash table; unordered; keys must be unique.LinkedHashMap: Hash table + linked list; maintains insertion order.TreeMap: Red-Black tree; sorted by keys; keys cannot be null.ConcurrentHashMap: Thread-safe hash table; neither keys nor values can be null.The production process for finished cigarettes involves several integrated systems (MES, WMS, and Control Systems) with the following workflow:
spring-boot-starter-data-redis bundles the necessary dependencies and uses configuration classes, property loading, and spring.factories to enable auto-configuration for Redis.In Java, IO streams are categorized by the direction of data flow and the type of data handled:
Stream Classifications:
InputStream and OutputStream.Reader and Writer.SwaggerHub: https://app.swaggerhub.com/search Knife4j: https://doc.xiaominfo.com/
The system uses a layered approach to manage tenant isolation:
Data Source Layer:
DynamicDataSource: Extends AbstractRoutingDataSource to route queries based on ThreadLocal.TenantContextFilter: Extracts tenant IDs from JWTs and populates the DynamicDataSourceContextHolder.DruidConfig: Manages the creation and dynamic registration of Druid connection pools.Scheduling Layer (wsd-quartz):
SchedulerManager: The core manager maintaining a map of tenantId to Scheduler instances.AbstractQuartzJob: Base class that restores tenant context in before() and cleans it up in after().ScheduleUtils: Handles the injection of tenant identifiers into the Quartz JobDataMap.JobInvokeUtil: Uses reflection to call target bean methods via beanName.method(args).