Java知识点总结(二)

news2024/11/18 2:35:04

ID生成策略

主键自增id

主键自动增长,不用手工设值、数字型,占用空间小、检索非常有利、有顺序,不会重复,但在迁移旧数据是会出现id冲突

UUID

基于时间,计数器和地址生成32位的id

redis生成id

原子性自增,并发性能高,id格式可以自定义

雪花算法

64位long型的id,按时间递增

UidGenerator

基于Snowflake算法的唯一ID生成器,适用于高并发

美团leaf算法

全局唯一,绝对不会出现重复的ID,且ID整体趋势递增

BIO,NIO,AIO,IO多路复用

BIO

我们最常见的io模型,例如serversocket,一个客户端对应一个服务端,但在处理高并发场景下大量客户端同时请求时会造成阻塞,虽然可以通过多线程或线程池来进行优化,但是还是会有性能问题

NIO

非阻塞型IO,不再是一个连接对应一个处理线程,而是一个有数据传输的连接对应一个处理线程,没有数据传输的则不需要工作线程来处理,这个操作是通过多路复用器完成的(selector),当有读写操作时,selector会获取相对应的selectionKey,并且通过他找到对应的channel

AIO

读写操作是异步进行的,当有流可读取时,操作系统会将可读的流传入read方法的缓冲区,并通知应用程序;对于写操作而言,当操作系统将write方法传递的流写入完毕时,操作系统主动通知应用程序。

select,poll,epoll

  1. select函数:进程通过调用select函数,监测多个fd文件,只要有数据状态准备就绪了就视为可返回状态,调用函数返回(数组实现)

  2. poll:poll解决了select连接数有上限的问题,但仍有大量遍历造成性能消耗的问题(链表实现)

  3. epoll:采用事件驱动来完成,epoll 先通过 epoll_ctl()来注册一个 fd,一旦基于某个 fd 就绪时,内核会采用回调机制,迅速激活这个 fd,当进程调用 epoll_wait()时便得到通知。(红黑树和双链表实现)

布隆过滤器

作用:判断某个东西可能存在或者一定不存在,可以解决redis缓存击穿的问题

底层:bitmap+映射函数,通过k个映射函数将字段对应的映射位置置为1,当查询时如果全为1,则该元素可能存在(会有误判可能)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1491317.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 关于函数的使用

一、学习目标 1.掌握函数定义和调用。 2.掌握函数形参与实参的使用。 3.熟练掌握lambda表达式使用。 二、相关练习 1.建立自定义函数实现计算圆的面积和球的体积。 def Count(radius):area 3.14*radius**2volume (4/3)*3.14*radius*…

C 判断

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。 C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。 下面…

C语言快速入门之指针详解

一.指针基础 1.指针定义的理解 就像我们住房子划分房间一样,在系统中,内存会被划分为多个内存单元,一个内存单元大小是一个字节,我们在搜索房间时有门牌号,与之类似,每个内存单元都会有一个编号 地址 指…

UCSF DOCK 分子对接详细案例(05)- 遗传算法用于分子生成 DOCK_GA

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 文章目录 前言一、软件及操作环境二、遗传算法三、结构文件准备四、 DOCK_GA4.1 Fragment Library Generation4.2 运行 GA没有RDKit编译的情况RDKit编译的情况在服务器上运行 总结参考资料 前言 本文是UCSF DOC…

能源大数据采集,为您提供专业数据采集服务

随着经济的不断发展,能源产业也逐渐成为国民经济的支柱产业之一。而对于能源行业来说,数据采集是一项至关重要的工作。以往,能源企业采集数据主要依靠人工收集、整理,但是这种方式不仅效率低下,而且容易出现数据不准确…

Spring——Bean的作用域

bean的作用域 Bean Scope Scope说明singleton(默认情况下)为每个Spring IoC容器将单个Bean定义的Scope扩大到单个对象实例。prototype将单个Bean定义的Scope扩大到任何数量的对象实例。session将单个Bean定义的Scope扩大到一个HTTP Session 的生命周期…

Python 面向对象编程——类的使用

一、学习目标 1.掌握类的定义和实例化对象。 2.熟练掌握类的构造函数__init__使用。 3.掌握类的继承机制和使用。 二、相关练习 1、定义一个玩具类Toy(),创建名字为“小汽车”、“手枪”和“积木”的玩具实例,计…

qt cmake添加resource文件

文章目录 方式一:方式二:qrc的使用 两种方式 方式一: 创建一个qrc文件,在qt_add_executable 中直接添加 qt_add_executable(helloworldmain.cppimageresources.qrc )方式二: 使用 qt_add_resources qt_add_resources(helloworld "app_images"PREFIX &…

tomcat nginx 动静分离

实验目的:当访问静态资源的时候,nginx自己处理 当访问动态资源的时候,转给tomcat处理 第一步 关闭防火墙 关闭防护 代理服务器操作: 用yum安装nginx tomcat (centos 3)下载 跟tomcat(centos 4&#xff0…

循环队列:一道使数据结构萌新知道什么是“愁滋味“的题目

这破题目肝了我一天半才搞明白,也正是因为这道题目,我才豁然明白了李煜所说的"剪不断,理还乱...别是一般滋味在心头"到底是什么"滋味".在完全搞明白之前,真的是放有放不下,理也理不清... 但是理解之后你会发现,嘛い---,也就那么个回事嘛O(∩_∩)O 目录 1…

瑞_Redis_短信登录(一)

文章目录 项目介绍1 项目准备1.1 导入SQL1.2 导入后端项目1.2 导入前端项目 🙊 前言:本文章为瑞_系列专栏之《Redis》的实战篇的短信登录章节的项目准备小节。由于博主是从B站黑马程序员的《Redis》学习其相关知识,所以本系列专栏主要是针对该…

Tonka Finance,BTCFi 浪潮的发动机

在 2023 年年初,Ordinals 技术方案为比特币 Layer1 带来了一种全新的资产发行方式,此后一场以比特币生态为主战场的新一轮资金、注意力价值争夺战打响,并且越来越多的加密原教旨主义者、密码极客们加入这场战争中。我们看到,铭文市…

【操作系统概念】 第1章:导论

文章目录 关于本书内容0.前言1.1操作系统的功能1.1.1 用户视角1.1.2 系统视角1.1.3 操作系统的定义 1.2 计算机系统的组成1.2.1 计算机系统的运行1.2.2 存储结构1.2.3 I/O结构 1.3 计算机系统体系结构1.4 操作系统的结构1.5 操作系统的执行1.5.1 双重模式与多重模式的执行1.5.2…

DolphinScheduler——介绍及架构设计

目录 一、DolphinScheduler介绍 1.1 概述 1.2 特性 1.2.1 简单易用 1.2.2 丰富的使用场景 1.2.3 High Reliability 1.2.4 High Scalability 1.3 名词解释 1.3.1 名词解释 1.3.2 模块介绍 二、DolphinScheduler架构原理 2.1 系统架构图 2.2 架构说明 2.2.1 Maste…

【AI视野·今日Sound 声学论文速览 第五十一期】Mon, 4 Mar 2024

AI视野今日CS.Sound 声学论文速览 Mon, 4 Mar 2024 Totally 6 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers VoxGenesis: Unsupervised Discovery of Latent Speaker Manifold for Speech Synthesis Authors Weiwei Lin, Chenhang He, Man Wai Mak, …

66-ES6:var,let,const,函数的声明方式,函数参数,剩余函数,延展操作符,严格模式

1.JavaScript语言的执行流程 编译阶段:构建执行函数;执行阶段:代码依次执行 2.代码块:{ } 3.变量声明方式var 有声明提升,允许重复声明,声明函数级作用域 访问:声明后访问都是正常的&…

最新LangChain+GLM4开发AI应用程序系列(三):RAG检索增强生成篇

最新LangChainGLM4开发AI应用程序系列(三):RAG检索增强生成篇 一、前言二、RAG介绍1、文档加载器2、文本分割器3、嵌入模型4、向量数据库 三、RAG开发案例1、创建智谱GLM4大模型对象2、加载文档3、文本分割4、向量化存储5、向量库检索6、生成…

初始网络 --- 网络基础

目录 0、 前言 1、 计算机网络发展背景 1.1. 局域网(LAN) && 广域网(WAN) 2、 认识并理解协议 3、 初始网络协议 3.1. 协议分层 4、 TCP/IP 五层(或四层)模型 4.1. 简单了解TCP/IP层状体系 4.2. TCP/IP协议层状结构和计算机层状结构的关系 5、 OSI七层模型 …

程序员如何选择职业赛道:探索未知,寻找激情

作为程序员,我们时常面临职业选择的难题。在这个充满变革的行业中,如何选择适合自己的职业赛道成为了我们关注的焦点。本文将探讨程序员如何选择职业赛道,帮助你找到适合自己的发展方向。 一、认识自己的兴趣和激情 首先,我们需要…

为什么要用云手机进行国外社媒监控?

随着全球化的不断发展,社交媒体已成为企业推动全球品牌知名度和业务流量的关键渠道。在这个数字时代,云手机作为一种强大的工具,为国外社交媒体监控提供了全新的可能性。在这篇文章中,我们将探讨使用云手机进行国外社媒监控的重要…