Java基础——线程池
Java支持多线程,虽然启动一个新线程很容易,但是创建线程需要向操作系统申请资源,消耗大量时间,因此便有了线程池。线程池是池化技术的一种使用,池化技术指的是提前准备一定的资源,只要池中有足够的资源,在需要时可以随时从池中取出资源使用,使用完后将资源归还到池中。池化技术带来了显著的优点:主要是可重复使用资源,避免动态创建…
阅读全文 :Java基础——线程池BLOG & NOTES & IDEAS
写下思考,留下线索。
Java支持多线程,虽然启动一个新线程很容易,但是创建线程需要向操作系统申请资源,消耗大量时间,因此便有了线程池。线程池是池化技术的一种使用,池化技术指的是提前准备一定的资源,只要池中有足够的资源,在需要时可以随时从池中取出资源使用,使用完后将资源归还到池中。池化技术带来了显著的优点:主要是可重复使用资源,避免动态创建…
阅读全文 :Java基础——线程池进程和线程是操作系统中的两个基本概念,进程是操作系统中资源分配的基本单位,拥有独立的内存空间、资源和进程控制块;线程则是进程内的执行单元,是处理器调度的基本单位,不拥有系统资源,可以访问隶属于进程的资源。线程是进程的基本组成单位,一个程序至少有一个进程,一个进程至少有一个线程;线程之间可以共享内存和资源,从而提高程序的…
阅读全文 :Java基础——线程通常情况下,一个应用可以直接使用数据库的自增主键 ID 作为生成方案,这种做法既方便又通过数据库唯一约束避免了 ID 冲突的问题。但这种具有连续性的ID会暴露平台的数据量,并且在数据量过大进行分库分表后,就无法依赖数据库的自增 ID 作为生成方案了。如何在这种情况下生成一个全局唯一的ID呢?
阅读全文 :ID 生成方案一个 Java 应用在主动使用某个类时,如果该类还未加载到内存中,那么会由类加载器读取指定的 class 文件加载该类、链接、然后由 JVM 对该类进行初始化。
阅读全文 :Java类加载Java 是高级语言的其中一种,要把高级语言转换为计算机可以识别的机器码需要经过解释或者编译处理。编译的过程就是通过编译器把高级语言代码翻译成可以被机器执行的机器码(如C语言),解释的过程就是通过解释器直接解释执行(如PHP、Javascript),不需要编译成机器语言。但是现代高级语言很难简单的用“编译型”、“解释型…
阅读全文 :Java基础——JVM不同版本的 ElasticSearch API 可能有所区别,本文基于 7.17 版本。 文档在 ElasticSearch 中是一个可被索引的基础信息单元,与关系型数据库中的一行记录类似,也就是一条数据。
阅读全文 :ElasticSearch文档Elasticsearch 是一个分布式的搜索与分析引擎,它的部分使用经典场景与关系型数据库(在本篇文章中以 MySQL 举例)非常相似,比如分页、遍历等。 在分页场景下,数据库需要遍历全表读取,然后根据参数跳过舍弃指定条数的记录,最终返回数据,在页码较大的深度分页场景时,数据库的响应时间较长,且会占用较多的服务器资源…
阅读全文 :ElasticSearch分页查询不同版本的 ElasticSearch API 可能有所区别,本文基于 7.17 版本。ElasticSearch 有三个重要的概念,索引、映射、文档,本文介绍 ElasticSearch 的映射。映射是用来用来定义文档及其字段的存储方式、索引方式的手段,与关系型数据库中的表结构类似,可以从映射信息中得知索引下有哪些字…
阅读全文 :ElasticSearch数据类型与映射ElasticSearch 有三个重要的概念,索引、映射、文档,本文介绍 ElasticSearch 的索引。不同版本的 ElasticSearch API 可能有所区别,本文基于 7.17 版本。
阅读全文 :ElasticSearch索引在生产环境中使用 ElasticSearch 时,一般会使用集群模式(分片+副本)提高服务的可用性,另外,集群部署相对于单机部署有更多的存储空间,可存储的数据量更大。
阅读全文 :ElasticSearch集群搭建