java技术圈 为您找到相关结果 31

使用pandoc xelatex转换md文档为pdf

使用pandoc xelatex转换md文档为pdf Author anteoy@gmail.com | Posted 2018-02-16 23:33:00 环境 系统为ubuntu 16.04,其他linux发行版理论上可参考官方安装文档 过程 安装pandoc sudo apt install pandoc 安装texlive-xetex(解决不能转换中文问题) sudo apt-get install texlive-xetex 查看系统已安装的中文字体 fc-list :lang=zh /usr/share/fonts/truetype/wqy/wqy-microhei.ttc: 文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono:style=Re...阅读全文

博文 2019-04-04 09:56:14 www.allocmem.com

项目管理工具,选择本地部署还是上云?

企业上云,顾名思义就是将企业环境部署到云端,“云”一般指的是互联网,不用安装服务器,可即时开通使用。根据Garther的统计数据,近年来云服务市场一直以两位数增长,越来越多的企业选择“上云”,项目管理领域的云服务工具也得到越来越多企业的青睐。 一、本地安装和云服务 本地安装和云服务是两种不一样的部署方式,本地安装指的是服务器部署,需要在公司安装服务器等硬件设备,云服务则是在云端部署,不用安装服务器,也不需要运维人员;二者各有特点,企业一般根据自己的需求选择: 二、本地安装的优点 ①安全性较高:本地安装因为数据都在自己公司和服务器上,泄露和被黑客攻击的可能性较低,是比较安全的一种部署方式。 ②自主性较高:因为所有的数据都被买断,购买本地安装的企业,如果不考虑成本...阅读全文

“云开工”成主流,远程办公需求暴涨663%

2月26日,随着新冠肺炎疫情的防控进入新阶段,近期全国多个城市开始有组织和计划的启动复工复产,昨日发布的数据显示,根据对240万户使用云平台和电商平台的中小企业监测显示,全国中小企业的复工率在30%左右。 据百度发布大数据显示,目前全国各主要城市线下复工比例均不超过4成,其中沈阳、青岛占比最高,上海、长沙、东莞、宁波、昆明、成都、苏州、天津八个城市名列其后。 ![image.png](https://img-blog.csdnimg.cn/202002271336561.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4u...阅读全文

Hive On HBase实战 - 哥不是小萝莉

1.概述 HBase是一款非关系型、分布式的KV存储数据库。用来存储海量的数据,用于键值对操作。目前HBase是原生是不包含SQL操作,虽然说Apache Phoenix可以用来操作HBase表,但是需要集成对应的Phoenix依赖包到HBase集群中,同时需要编写对应的Schema才能实现SQL操作HBase。 本篇博客,笔者将为大家介绍另一位一种SQL方式来操作HBase,那就是Hive。 2.内容 2.1 使用场景 熟悉大数据的同学应该都知道,Hive是一个分布式的数据仓库,它能够将海量数据,结构化存储到HDFS上,然后通过SQL的方式对这些海量数据进行业务处理。而且,Hive学习成本很低,熟悉SQL的同学,很快就能编写一个Hive应用程序。 我们通过Hive把数据加载到HBase表中...阅读全文

博文 2020-11-12 03:39:16 博客园

统计去重后的数量 | Elasticsearch: 权威指南

速度优化edit 如果想要获得唯一值的数目, 通常 需要查询整个数据集合(或几乎所有数据)。 所有基于所有数据的操作都必须迅速,原因是显然的。 HyperLogLog 的速度已经很快了,它只是简单的对数据做哈希以及一些位操作。 但如果速度对我们至关重要,可以做进一步的优化。 因为 HLL 只需要字段内容的哈希值,我们可以在索引时就预先计算好。 就能在查询时跳过哈希计算然后将哈希值从 fielddata 直接加载出来。 预先计算哈希值只对内容很长或者基数很高的字段有用,计算这些字段的哈希值的消耗在查询时是无法忽略的。 尽管数值字段的哈希计算是非常快速的,存储它们的原始值通常需要同样(或更少)的内存空间。这对低基数的字符串字段同样适用,Elasticsearch 的内部优化能够保证每个唯一值只计...阅读全文

博文 2022-03-23 12:53:58 Elastic

Hbase中的LSM树

一、前言哈希存储引擎 是哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,哈希表就是your Mr.RightB树存储引擎是B树的持久化实现,不仅支持单条记录的增、删、读、改操作,还支持顺序扫描(B+树的叶子节点之间的指针),对应的存储系统就是关系数据库(Mysql等)。LSM树(Log-Structured Merge Tree)存储引擎和B树存储引擎一样,同样支持增、删、读、改、顺序扫描操作。而且通过批量存储技术规避磁盘随机写入问题。当然凡事有利有弊,LSM树和B+树相比,LSM树牺牲了部分读性能,用来大幅提...阅读全文

博文 2022-04-15 06:58:20 知乎

roaringBitMap简介 - DB乐之者

如何优雅高效的在海量数据存储与查找 对于这个问题我们首先可能会想到直接去存储这40亿个数据,当然这确实是一种方法。但是我们是否考虑过这样做的后果呢?如果你的解决方案就是上面的那种方法的话,那你可能真的没有考虑过后果。所以你有必要继续往下读。 我们先不管后果是什么,现在我来带大家看一组数据,假设这40亿个数据是4个字节的unsigned int 型的数据。那嘛现在 我们要存储这40亿个数据就需要的空间为:(40 * 10^8) * 4byte = 14.9GB (注意这里所换算机制:1GB=2^10Mb=2^20kb=2^30byte,下面涉及到的计算也是采用这种方式)所以大家看见了后果就是占用了这么大的内存空间,一般计算机上的内存根本就放不下嘛,所以这还怎么干活。。。 该怎么办呢? 那么我们...阅读全文

博文 2023-05-10 04:05:00 博客园

linux中iptables如何删除一条规则-腾讯云开发者社区

linux中iptables删除一条规则的方法:1、打开linux终端;2、在终端命令行中输入“iptables -L -n”命令查看出当前的防火墙规则;3、输入“iptables -L -n --line-number”命令查看到每个规则chain的序列号;4、根据序列号删除指定一条防火墙则即可。linux中iptables如何删除一条规则具体操作步骤:1、在linux系统桌面中使用快捷键【Ctrl+Alt+T】打开linux终端命令行模式。2、在linux终端命令行中输入以下命令查看出当前的防火墙规则。iptables -L -n复制3、输入以下命令查看到每个规则chain的序列号。iptables -L -n --line-number复制4、最后输入以下命令根据序列号删除指定一条防火...阅读全文

博文 2023-12-12 14:52:42 腾讯云

QQA: 为什么 Prometheus increase 不返回整数?

用 Prometheus 作业务监控,需要统计“今日请求量”,很自然想到用 increase 函数。实际效果是它不返回整数,甚至在突然的压力下“请求量”还会减少。为什么会发生这些现象呢? 原因是 increase/rate 函数对区间的统计信息做了“线性外插”,是一个估算值。 Prometheus 怎么做线性外插 如下图:我们每隔 5s 采样一次,问在 [3s, 23s] 的区间内增长了多少?这里的问题在于查询区间的时间与采样时间不重合,因此并没法得到准确的数值。 Prometheus 的策略是拿到样本的端点 {5s: 10} 与 {20s: 30},并计算它们的区间为20 - 5 = 15s,期间请求量增长了 30 - 10 = 10 次。因此推算每秒增长了 20/15次,按增长率估算在[...阅读全文

博文 2023-10-28 17:22:05 三点水

基于C++从0到1手写Linux高性能网络编程框架(2023新课)

基于C++从0到1手写Linux高性能网络编程框架(2023新课) 分享课程——基于C++从0到1手写Linux高性能网络编程框架,2023年新课,附源码+电子书,课程包更新。 Linux在服务器领域有着强大的优势,网络编程便是其中一项重要组成部分,运用合理的技巧可以构建出具有高效率、可靠性和强大可拓展性的网络框架,提高服务器功能和效率。 Linux网络编程技巧可以细分为多个方面,首先网络编程的开始必不可少的是编写好的Socket程序。Socket可以说是传输层协议的核心,它充当网络应用程序之间的接口,能够连接本地服务器与外部服务器,实现进程间的通信接口。在Linux环境下,使用C语言需要引入头文件,调用系统函数socket()来生成socket描述符: #include int socke...阅读全文

博文 2023-12-05 16:19:13 woaiwodejia333

数据库入门:MySQL事务解析,如何轻松搞定数据一致性?

在日常开发中我们经常会遇到需要同时处理多个操作的情况,比如在购物时,我们需要同时完成支付和更新库存两个操作。这时,如果其中一个操作失败了,我们就需要进行回滚,以保证数据的一致性。 那么,如何在MySQL中实现这样的功能呢?答案就是——事务。下面我们就来介绍一下MySQL事务是什么?它是如何使用的? ## 一、什么是事务? ### 事务定义 - 事务是一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务是一个最小的工作单元)。 - 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成。 - 事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同。 ### 事务是什么? ...阅读全文

抽象工厂

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 抽象工厂模式(Abstract Factory)是一个比较复杂的创建型模式。 抽象工厂模式和工厂方法不太一样,它要解决的问题比较复杂,不但工厂是抽象的,产品是抽象的,而且有多个产品需要创建,因此,这个抽象工厂会对应到多个实际工厂,每个实际工厂负责创建多个实际产品: ┌────────┐ ─ >│ProductA│ ┌────────┐ ┌─────────┐ │ └────────┘ │ Client │─ ─>│ Factory │─ ─ └────────┘ └─────────┘ │ ┌────────┐ ▲ ─ >│ProductB│ ┌───────┴───────┐ └────────┘ │ │ ┌──────...阅读全文

博文 2023-05-18 10:01:52 廖雪峰的官方网站

Linux新手村必备!这些常用操作命令你掌握了吗?

在计算机的世界里,Linux操作系统以其强大的功能和灵活性受到了广大程序员和IT爱好者的喜爱。然而,对于初学者来说,Linux的操作命令可能会显得有些复杂和难以理解。 今天,我们就来一起探索一些Linux常用操作命令,让你的计算机操作更加流畅。 ### 一、目录操作 首先带大家了解一下Linux 系统目录: ``` ├── bin -> usr/bin # 用于存放二进制命令 ├── boot # 内核及引导系统程序所在的目录 ├── dev # 所有设备文件的目录(如磁盘、光驱等) ├── etc # 配置文件默认路径、服务启动命令存放目录 ├── home # 用户家目录,root用户为/root ├── lib -> usr/lib # 32位库文件存放目录 ├── lib64 -> ...阅读全文

博文 2024-01-25 15:09:28 YDYXCODE

深入理解内存屏障:内存与屏障的奥秘

在计算机系统的运行过程中,内存屏障是一个专业但又关键的概念。很多开发者可能听说过它,但并不一定了解它在硬件级别上是如何工作的,以及为何它对于现代并行计算如此重要。在这篇文章中,我们将深入探讨内存屏障中的“内存”和“屏障”,并尝试解答几个常见的问题:它们是否是CPU提供的指令?为什么会对内存的读取和写入进行限制?以及屏障是否可以简单地理解为栅栏?什么是内存屏障?内存屏障(Memory Barrier)是计算机科学中的一个重要概念,尤其在多线程和并发编程中,用于控制和协调不同线程对内存的访问。理解内存屏障需要从两个方面来看:内存和屏障。内存在现代计算机体系结构中,内存并不仅仅是物理内存(RAM),还包括各种级别的缓存(如L1,L2,L3缓存)。处理器(CPU)和内存之间的访问速度差异很大,因此现...阅读全文

博文 2024-12-03 10:18:05 zhidiantech

CPU的指令周期

本文分享自天翼云开发者社区《CPU的指令周期》,作者:冯****怡指令周期(Instruction Cycle)CPU中会有 存器、指令寄存器、控制器等多类单元。指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。如果我们仔细看一看,可以发现,计算机每执行一条指令的过程,可以分解成这样几个步骤。1.Fetch(取得指令),也就是从 PC 寄存器里找到对应的指令地址,根据指令地址从内存里把具体的指令,加载到指令寄存器中,然后把 PC 寄存器自增,好在未来执行下一条指令。2.Decode(指令译码),也就是根据指令寄存器里面的指令,解析成要进行什么样的操作,是 R、I、J 中的哪一种指令,具体要操作哪些寄存器、数...阅读全文

互联网人副业指南 传授思维与方法 启动你的首个项目|更新完结

互联网人副业指南 传授思维与方法 启动你的首个项目|更新完结​获课:jzit点top/4820/获取ZY↑↑方打开链接↑↑在互联网时代,副业已成为许多人增加收入、拓宽职业道路的重要途径。为了成功开展副业,掌握一系列必备技能至关重要。以下是对互联网时代副业必备技能的整理总结:一、基本计算机操作技能操作系统与办公软件:熟悉Windows或MacOS操作系统,掌握Word、Excel、PowerPoint等基本办公软件的使用。这些技能不仅在日常工作中不可或缺,也是开展副业所必需的。网络基础:了解互联网基础知识,如网络连接、浏览器使用、搜索引擎等,以便更高效地获取信息和交流。二、网络营销与社交媒体运营内容创作:具备撰写文章、拍摄视频或制作音频等内容创作能力,以吸引和留住目标受众。社交媒体管理:熟悉微...阅读全文

思科网络认证工程师 CCNA 373班(完结无秘)

思科网络认证工程师 CCNA 373班(完结无秘)获课:97java.xyz/4100/获取ZY↑↑方打开链接↑↑标题:思科网络认证工程师的考试路径:笔试的重要性在当今快速发展的信息技术领域,获得专业认证是提升个人职业竞争力的重要途径之一。思科(Cisco)作为全球领先的网络设备制造商,其提供的思科认证体系被广泛认为是网络技术领域的“黄金标准”。本文将探讨思科网络认证工程师的考试路径,特别关注笔试在这个过程中的重要性。思科认证概述思科认证分为三个主要级别:CCNA(Cisco Certified Network Associate)、CCNP(Cisco Certified Network Professional)和CCIE(Cisco Certified Internetwork Exp...阅读全文

路飞 APP逆向超级班第10期

课程内容 安卓基础:包括安卓开发环境搭建、安卓应用的基本结构和组件、安卓应用的打包和签名等。获课:keyouit.xyz/13776/获取ZY↑↑方打开链接↑↑逆向工具和技术:介绍常用的逆向工具,如APKTool、dex2jar、JD-GUI等,以及如何使用这些工具进行APK文件的反编译和分析。Java基础:讲解Java语言的基本语法、面向对象编程、异常处理等,帮助学员理解安卓应用的代码逻辑。Hook技术:介绍Hook的基本概念和原理,以及如何使用Hook技术在运行时修改安卓应用的行为。常见加密算法:分析常见的加密算法,如MD5、SHA、AES等,以及如何在逆向过程中破解这些加密算法。 实战案例分析:通过实际的APP逆向案例,帮助学员掌握APP逆向的实际操作和技巧。课程目标 帮助学员掌握AP...阅读全文

思科网络认证工程师 CCNA 373班

思科网络认证工程师 CCNA 373班获课:keyouit.xyz/13882/获取ZY↑↑方打开链接↑↑思科网络认证工程师(CCNA)373班是一个专门为希望获得思科认证的网络工程师设计的培训课程。以下是关于CCNA 373班的一些详细信息:1. 课程概述CCNA(思科认证网络工程师)认证是思科公司推出的网络工程师认证体系中的基础级别认证。CCNA 373班旨在帮助学员掌握网络基础知识和技能,具备安装、配置、运行中小型路由和交换网络,并进行故障排除的能力。2. 课程内容CCNA 373班的课程内容通常包括以下几个方面:网络基础:了解网络的基本概念和原理,如TCP/IP协议、OSI参考模型、数据封装过程等。网络访问:学习如何配置和管理网络设备,如交换机和路由器。IP连接:掌握IP地址的配置和...阅读全文

机器视觉企业级实战源码

机器视觉企业级实战源码获课:97java.xyz/4267/获取ZY↑↑方打开链接↑↑机器视觉实践:开启智能识别的新纪元引言随着人工智能技术的发展,机器视觉作为其中一个重要分支,正逐步改变着我们的生活和工作方式。它不仅被广泛应用于工业自动化、医疗影像分析等领域,还在无人驾驶、智能家居等新兴领域中发挥着重要作用。本文将探讨机器视觉的基础概念、关键技术以及实际应用案例。机器视觉基础概念机器视觉是指通过光学装置和非接触传感器自动获取和解析现实世界中的信息,以获得描述一个场景或控制某种动作的数据。这一过程涉及图像采集、预处理、特征提取、图像分析与理解等多个步骤。关键技术图像处理:包括图像的增强、变换、分割等操作,目的是提高后续处理步骤的准确性和效率。特征提取:从原始图像中提取出可用于区分不同对象的特...阅读全文

嵌入式物联网工

获课:weiranit.fun/13872/获取ZY↑↑方打开链接↑↑嵌入式物联网中的大端模式和小端模式介绍在嵌入式物联网中,大端模式和小端模式是两种不同的数据存储和表示方式,以下是对它们的详细介绍:概念定义大端模式(Big-Endian):也叫大端序或大字节序。数据的高位字节存于低地址,低位字节存于高地址。就像按从左到右(高位在前)的顺序存储数据,符合人类正常的思维习惯,先看到数据的高位部分。例如,对于 32 位整数0x12345678,高位字节0x12存于内存低地址,接着依次是0x34、0x56、0x78存于更高地址。小端模式(Little-Endian):也称小端序或小字节序。与大端模式相反,数据的低位字节存于低地址,高位字节存于高地址。如同从右到左(低位在前)存储数据,在这种模式下,...阅读全文

高薪运维必备Prometheus监控系统实战 果fx

课程概览目标:使学员能够掌握使用Prometheus进行高效监控和告警设置的能力,适合希望提升技能并进入高薪运维岗位的技术人员。形式:可能包括视频讲座、实际操作演示、项目作业等。获课:keyouit.xyz/14253/ 获取ZY↑↑方打开链接↑↑主要内容Prometheus基础Prometheus架构介绍。安装与配置指南。数据收集如何配置exporters(例如Node Exporter)以从不同服务中抓取指标。自定义metrics的创建与集成。查询语言(PromQL)学习如何使用PromQL来查询和分析时间序列数据。告警管理设置和管理告警规则。使用Alertmanager处理和发送通知。可视化使用Grafana等工具对Prometheus数据进行可视化展示。创建和分享仪表板。高级话题Pr...阅读全文

博文 2025-03-12 09:32:34 huo1234567

高薪运维必备Prometheus监控系统实战 果fx

课程概览目标:使学员能够掌握使用Prometheus进行高效监控和告警设置的能力,适合希望提升技能并进入高薪运维岗位的技术人员。形式:可能包括视频讲座、实际操作演示、项目作业等。获课:keyouit.xyz/14253/获取ZY↑↑方打开链接↑↑主要内容Prometheus基础Prometheus架构介绍。安装与配置指南。数据收集如何配置exporters(例如Node Exporter)以从不同服务中抓取指标。自定义metrics的创建与集成。查询语言(PromQL)学习如何使用PromQL来查询和分析时间序列数据。告警管理设置和管理告警规则。使用Alertmanager处理和发送通知。可视化使用Grafana等工具对Prometheus数据进行可视化展示。创建和分享仪表板。高级话题Pro...阅读全文

嵌入式物联网工程师

获课:weiranit.fun/13872/获取ZY↑↑方打开链接↑↑嵌入式物联网中的大端模式和小端模式介绍在嵌入式物联网中,大端模式和小端模式是两种不同的数据存储和表示方式,以下是对它们的详细介绍:概念定义大端模式(Big-Endian):也叫大端序或大字节序。数据的高位字节存于低地址,低位字节存于高地址。就像按从左到右(高位在前)的顺序存储数据,符合人类正常的思维习惯,先看到数据的高位部分。例如,对于 32 位整数0x12345678,高位字节0x12存于内存低地址,接着依次是0x34、0x56、0x78存于更高地址。小端模式(Little-Endian):也称小端序或小字节序。与大端模式相反,数据的低位字节存于低地址,高位字节存于高地址。如同从右到左(低位在前)存储数据,在这种模式下,...阅读全文

一站式通关CKA证书

载ke程: 789it.top/14324/获取ZY↑↑方打开链接↑↑未来云原生领域的金钥匙:详解Kubernetes管理员认证的重要性引言随着云原生技术的快速发展,Kubernetes已成为容器编排和管理的事实标准。掌握Kubernetes不仅是技术人员的必备技能,更是企业实现高效、灵活和可扩展IT基础设施的关键。Kubernetes管理员认证(CKA)作为该领域的权威认证,正逐渐成为云原生领域的“金钥匙”。1. Kubernetes的核心地位容器编排标准:Kubernetes已成为容器编排的行业标准,广泛应用于微服务架构和云原生应用。企业采用率:众多企业依赖Kubernetes管理容器化应用,确保其高效运行和扩展。2. Kubernetes管理员认证(CKA)概述认证机构:由云原生计算基...阅读全文

马士兵-嵌入式物联网工程师

​获课:weiranit.fun/13872/获取ZY↑↑方打开链接↑↑嵌入式物联网中的大端模式和小端模式介绍在嵌入式物联网中,大端模式和小端模式是两种不同的数据存储和表示方式,以下是对它们的详细介绍:概念定义大端模式(Big-Endian):也叫大端序或大字节序。数据的高位字节存于低地址,低位字节存于高地址。就像按从左到右(高位在前)的顺序存储数据,符合人类正常的思维习惯,先看到数据的高位部分。例如,对于 32 位整数0x12345678,高位字节0x12存于内存低地址,接着依次是0x34、0x56、0x78存于更高地址。小端模式(Little-Endian):也称小端序或小字节序。与大端模式相反,数据的低位字节存于低地址,高位字节存于高地址。如同从右到左(低位在前)存储数据,在这种模式下...阅读全文

MQ大牛成长课–从0到1手写分布式消息队列中间件(完结)

https://97it.top/5291/ 摘要 内存映射文件(Memory-Mapped File,简称mmap)是现代操作系统中一种高效的文件操作机制,它能够将文件直接映射到进程的虚拟内存空间,进而允许程序以内存方式访问文件数据。基于mmap的读写工具封装为开发者提供了更为简洁和高效的文件操作接口,提升了文件操作的性能,特别是在大规模数据处理时。本文主要探讨了基于mmap的读写工具的基础功能实现,重点介绍如何通过mmap实现文件的映射、读写操作和资源管理,为后续更为复杂的工具开发奠定基础。 1. 引言 在传统的文件操作中,程序通过系统调用如read()和write()与文件系统进行交互。这些方法虽然可以满足一般的文件读写需求,但在处理大规模数据时,效率较低。为此,内存映射文件(mmap...阅读全文

全面掌握MongoDB4.0 完成从小白到达人的蜕变【完整版】

https://97it.top/2859/ 摘要 MongoDB是一种流行的面向文档的NoSQL数据库,它以其灵活的数据模型、高性能和可扩展性而被广泛应用于现代软件开发中。本文从MongoDB的定义、技术特点、架构设计、应用场景以及与其他数据库的比较等方面进行深入探讨,旨在为读者提供一个全面而系统的理解框架。通过分析MongoDB的核心概念和优势,本文揭示了其在大数据时代的重要地位和广泛应用前景。 关键词 MongoDB;NoSQL;面向文档数据库;大数据;数据库架构 一、引言 随着互联网技术的飞速发展,数据量呈爆炸式增长,传统的关系型数据库(RDBMS)在处理大规模、高并发数据时逐渐暴露出性能瓶颈和扩展性不足的问题。为了满足现代应用对数据存储和处理的需求,NoSQL数据库应运而生。Mon...阅读全文

tomcat的nio1和nio2

Tomcat 的 NIO(即传统 NIO,通常称为 NIO1)和 NIO2(即异步 NIO)在底层对操作系统的依赖有所不同 --- ### **1. NIO1 的底层依赖** • **Linux 系统**: Tomcat 的 NIO1(使用 `Http11NioProtocol`)底层依赖 Java NIO 库,而 Java NIO 在 Linux 上默认通过 **epoll** 实现多路复用。这是因为 JDK 在 Linux 平台会自动选择 `epoll` 作为 `Selector` 的实现(JDK 1.5+ 开始支持),以替代早期的 `select`/`poll` 模型。 • **其他操作系统**: • **Windows**:依赖 `select` 或 `wepoll`(JDK 内部实...阅读全文

博文 2025-03-25 16:04:30 dalang

MySQL 性能调优的10个方法

MYSQL 应该是最流行了 WEB 后端数据库。WEB 开发语言最近发展很快,PHP, Ruby, Python, Java 各有特点,虽然 NOSQL 最近越來越多的被提到,但是相信大部分架构师还是会选择 MYSQL 来做数据存储。MYSQL 如此方便和稳定,以至于我们在开发 WEB 程序的时候很少想到它。即使想到优化也是程序级别的,比如,不要写过于消耗资源的 SQL 语句。但是除此之外,在整个系统上仍然有很多可以优化的地方。1. 选择合适的存储引擎: InnoDB除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索,没人会用 MYSQL 了),你应该默认选择 InnoDB 。你自己在测试的时候可能会发现 MyISAM 比 InnoDB 速度快,这是因为: MyISAM 只缓存索...阅读全文

博文 2023-05-26 11:25:49 知乎