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

使用Jetty的StdErrLog进行默认日志记录

StdErrLog配置如果您不执行任何操作来配置单独的日志记录框架,Jetty将默认使用内部org.eclipse.jetty.util.log.StdErrLog实施。这会将所有日志记录事件输出到STDERR(aka System.err )。只需使用Jetty和StdErrLog基于日志的日志输出到控制台。Jetty发行版中包含一个名为的日志模块console-capture能够简单捕获所有STDOUT( System.out )和STDERR( System.err )输出到每天轮换的文件。要启用此功能,只需激活console-capture命令行上的模块:[my-base]$ java -jar ../start.jar --add-to-start=console-capture ...阅读全文

博文 2021-01-28 12:13:19 xy2401.com

算法之时间复杂度简析

算法之时间复杂度简析 前言 最近准备对算法进行一些系统的总结和学习,不积跬步无以至千里,不积小流无以成江海.此文主要对时间复杂度进行简单梳理和个人总结,本人才疏学浅,有所疏漏在所难免,如有不当和错误之处,欢迎指正 时间复杂度的定义(Time Complexity) 时间复杂度,用简单地话描述为:为了大概估算程序运算时间的一种概量。那用什么来估算的呢?用简单的程序执行代码的次数,如int a = 3执行一次,一个n此的for循环表示执行n次等等。广义的T(n)表示在一个完全理想状态的计算机中程序所执行的实际指令次数,下面会提到的O(n)大O(Big Oh),Ω(omega),Θ(Theta) 都是对T(n)的一个大略估算抽象而来,这里先说明一下个人理解的精确度大小为:T(n)>Θ(Theta)...阅读全文

博文 2019-04-04 09:53:07 www.allocmem.com

Hugepage导致进程占用物理内存过多的问题

Hugepage导致进程占用物理内存过多的问题 首页 分类 标签 留言 关于 订阅 2015-04-30 | 分类 Linux | 标签 memory 1 问题 业务同样的程序跑在TDocker、XEN,占用的内存却相差很大。 TDocker: XEN: 可以看到,虽然VIRT一样,但是程序占用的物理内存却相差6倍。 2 原因分析 经过各种分析,后来levy同学发现关闭transparent hugepage就解决了这个问题。TDocker使用的CentOS6.5的内核,默认开启了transparent hugepage。 # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled [always] madvise never 关闭tra...阅读全文

博文 2019-07-31 03:52:21 hustcat.github.io

我理解的Linux IO模式及select,poll,epoll

前言 本文是在本人查阅部分资料,并综合了众多博客分析后,于此阐述的个人理解。若有错误,欢迎指正。 基本概念 用户空间和内核空间 操作系统核心-内核负责处理用户程序和硬件之间的驱动交互。内核是在用户程序(进程)和硬件之间一个中枢。目地:专门负责用户进程和硬件之间的交互,用户程序必须使用内核才能和计算机底层硬件进行交流。为了保证内核的安全,于是将内存划分开,比如针对linux 4G的内存空间,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。 进程切换 内核操作CPU上运行的进程,比如把正在CPU上运行的A进程切换为B进程,让另外一个进程等待...阅读全文

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

JVM1.8参数大全

前言碎语 JVM内存模型,java GC垃圾内存回收,Jvm性能调优等等是个老生常谈的话题,故将官方JVM参数详情直译(Google翻译)记录在此,以备做jvm参数调优之时方便查询,同时给大家提供便利 jvm1.8参数详情: -Xcomp 在第一次调用时强制编译方法。默认情况下,客户端VM(-client)执行1,000个已解释的方法调用,Server VM(-server)执行10,000个已解释的方法调用以收集有效编译的信息。指定该-Xcomp选项会禁用已解释的方法调用,从而以牺牲效率为代价来提高编译性能。 您还可以使用该-XX:CompileThreshold选项在编译之前更改已解释的方法调用的数量。 -Xloggc:filename 设置应将重定向的GC事件信息重定向到的文件以进行日...阅读全文

博文 2020-07-28 06:52:44 jvm性能调优速查手册 | KL博客

X,X11,Xorg,XServer,XClient,Xlib_混沌的博客

1.X 就是 X Window System ,1984年由MIT研发,它的设计哲学之一是:提供机制,而非策略。 主要特点:1,Server/Client网络模型。2,通过扩展使它保持”与时俱进”。 Linux内核是没有GUI图形显示的,X Window的目标就是提供GUI的显示。 为啥要命名为X呢,因为英文字母X就在W(indow)后面,戏称为下一版的新视窗之意。XFree86 『 X + Free software + x86硬件 』 @在 Unix Like 上面的圖形使用者介面 (GUI) 被稱為 X 或 X11; @X11 是一個『軟體』而不是一個作業系統; @X11 是利用网络架构来进行图形界面的执行与绘制; @較著名的 X 版本為 X11R6 這一版,目前大部分的 X 都是這一...阅读全文

博文 2020-07-13 02:31:53 CSDN博客_xorg

Spark(五)Spark任务提交方式和执行流程 - Frankdeng

一、Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext (3)Executor:某个Application运行在Worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内存或者磁盘上。在Spark on Yarn模式下,其进程名称为 CoarseGrainedExecutor Backend,一个CoarseGrainedExecutor Backend进程有且仅有一个executor对象,它负责将Task包装成taskRunner,并从...阅读全文

博文 2019-11-27 06:07:44 博客园

JVM 系列文章之 Full GC 和 Minor GC

Full GC Full GC 就是收集整个堆,包括新生代,老年代,永久代(在JDK 1.8及以后,永久代会被移除,换为metaspace)等收集所有部分的模式 RednaxelaFX大在Major GC和Full GC的区别是什么?触发条件呢?- 知乎这个问题有关于 GC分类的回答: 针对 HotSpot VM的实现,它里面的GC其实准确分类有两种: Partial GC(局部 GC): 并不收集整个 GC 堆的模式 Young GC: 只收集young gen的GC,Young GC还有种说法就叫做 "Minor GC" Old GC: 只收集old gen的GC。只有垃圾收集器CMS的concurrent collection 是这个模式 Mixed GC: 收集整个young gen...阅读全文

博文 2019-11-27 07:00:30 掘金

java - Elasticsearch Java客户端初始化失败

我在尝试运行连接到Elasticsearch的应用程序时收到此错误消息。An attempt was made to call the method org.elasticsearch.client.RestHighLevelClient.(Lorg/elasticsearch/client/RestClientBuilder;)V but it does not exist. Its class, org.elasticsearch.client.RestHighLevelClient, is available from the following locations: jar:file:/path/application/target/application-0.0.1-S...阅读全文

博文 2020-11-24 11:12:37 IT工具网

操作系统管理内存的机制——为什么要设置虚拟内存? - wj_hubei

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法: 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程...阅读全文

Golang - 调度剖析【第二部分】 - Golang 攻略

回顾本系列的第一部分,重点讲述了操作系统调度器的各个方面,这些知识对于理解和分析 Go 调度器的语义是非常重要的。在本文中,我将从语义层面解析 Go 调度器是如何工作的,并重点介绍其高级特性。Go 调度器是一个非常复杂的系统,我们不会过分关注一些细节,而是侧重于剖析它的设计模型和工作方式。我们通过学习它的优点以便够做出更好的工程决策。 开始 当 Go 程序启动时,它会为主机上标识的每个虚拟核心提供一个逻辑处理器(P)。如果处理器每个物理核心可以提供多个硬件线程(超线程),那么每个硬件线程都将作为虚拟核心呈现给 Go 程序。为了更好地理解这一点,下面实验都基于如下配置的 MacBook Pro 的系统。 可以看到它是一个 4 核 8 线程的处理器。这将告诉 Go 程序有 8 个虚拟核心可用于并...阅读全文

博文 2019-06-18 07:15:00 SegmentFault 思否

【协议】MQTT、CoAP、HTTP比较,MQTT协议优缺点_bandaoyu的博客

目录 MQTT、CoAP、HTTP区别 1. 协议栈: 2. 请求方式 3. 通讯消息格式: 4. 使用特点与使用场景 5.客户端平台差异 6.防火墙容错 MQTT、CoAP、HTTP介绍 CoAP协议 简介 CoAP与MQTT的区别: HTTP协议 简介 HTTP与CoAP的区别 MQTT协议 简介 特性 对于传统的HTTP和MQ协议,MQTT的优势在哪里呢? MQTT协议的缺陷以及MQTT+概念的提出 MQTT、CoAP、HTTP区别 从这几个层面进行比较与描述: 1. 协议栈: MQTT: TCP 长链接, CoAP: UDP 低功耗短连接, HTTP: TCP 2. 请求方式 MQTT: 发布订阅, CoAP: request/ response, HTTP: request/ re...阅读全文

博文 2021-08-26 08:46:26 CSDN博客

CPU漏洞之后 Ring 0究竟什么鬼?

最近一段时间CPU漏洞的新闻可谓让人惊诧不已,一个最不可能、最不能被允许的关键设备竟然有硬件漏洞!这几天PC厂商最忙的事情就是推出补丁,用软件方式弥补硬件漏洞的错误。而且,这些措施还会导致CPU性能下降。但是这个漏洞究竟影响什么?你真需要为此而担忧吗? 漏洞是真但不必害怕 漏洞存在这是千真万确的事情,但是你也不需要为此而担心——这个被证实影响了十几年来几乎大部分CPU的硬件缺陷确实存在,只是这个漏洞的技术细节没有(也不可能)公之于众。 事情要从去年说起,谷歌旗下的Project Zero团队发现了一些由CPU“预测执行”(Speculative Execution)引发的芯片级漏洞,“Spectre”(变体1和变体2:CVE-2017-5753和CVE-2017-5715)和“Meltdow...阅读全文

博文 2020-03-20 15:14:34 m.cfan.com.cn

聊聊 TCP 长连接和心跳那些事 | 徐靖峰

前言可能很多 Java 程序员对 TCP 的理解只有一个三次握手,四次握手的认识,我觉得这样的原因主要在于 TCP 协议本身稍微有点抽象(相比较于应用层的 HTTP 协议);其次,非框架开发者不太需要接触到 TCP 的一些细节。其实我个人对 TCP 的很多细节也并没有完全理解,这篇文章主要针对微信交流群里有人提出的长连接,心跳问题,做一个统一的整理。 在 Java 中,使用 TCP 通信,大概率会涉及到 Socket、Netty,本文将借用它们的一些 API 和设置参数来辅助介绍。 长连接与短连接TCP 本身并没有长短连接的区别 ,长短与否,完全取决于我们怎么用它。 短连接:每次通信时,创建 Socket;一次通信结束,调用 socket.close()。这就是一般意义上的短连接,短连接的好...阅读全文

博文 2019-12-23 03:56:40 个人博客

解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题

源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。 1. 问题原因分析 为了安装最新版本的Node.js(最新版本的Node.js使用了C++ 11中,而C++ 11需要code>gcc 4.8+才能支持),将gcc升级到了当前最新版本v 5.2.0。升级后,成功编译安装了新版本的Node.js(v 4.2.1),但运行时程序时出现了以下错误: node: /usr/lib64/libstdc++.so.6: versi...阅读全文

博文 2020-02-21 13:21:38 IT笔录

企业如何选择合适的SaaS软件?

随着新一轮SaaS风潮的到来,企业对SaaS软件的接受度不断提高。 根据国际咨询公司Gartner的研究报告显示,2020年有36%的企业将使用云技术来支持超过企业一半的交易。 你是否正在考虑将企业业务迁移到云端,是否正在为寻找合适的SaaS软件而烦恼? 接下来,与CORNERSTONE一起探讨企业该如何选择合适的SaaS软件。 一、什么是SaaS? ![image.png](https://img-blog.csdnimg.cn/20200703144121174.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3...阅读全文

Spring AOP基于注解的Around通知

@Around是一种建议类型,可确保方法执行前后的通知可以运行。 以下是@Around通知的语法: 语法 @Pointcut("execution(* com.yiibai.Student.getAge(..))") private void selectGetName(){} @Around("selectGetAge()") public void aroundAdvice(ProceedingJoinPoint proceedingJoinPoint){ System.out.println("[aroundAdvice] Around advice"); Object[] args=jp.getArgs(); if(args.length>0){ System.out.print("...阅读全文

博文 2020-04-23 06:23:23 Spring AOP教程™

Spring 异步任务的创建、自定义配置和原理

1 Spring 版本 5.1.4.RELEASE 2 基本使用 2.1 开启对异步任务的支持 @EnableAsync和@Configuration类一起使用,如下所示,为整个Spring应用程序上下文启用注释驱动的异步处理 @Configuration @EnableAsync public class AppConfig { } 复制代码2.2 编写异步任务 @Component public class EmailService { @Async //无返回类型 public void send(String from, String to, String subject, String text) { //do send } @Async //有返回类型 public Future...阅读全文

博文 2020-11-03 03:55:34 juejin.im

HBase教程™

自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案。大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案。 Hadoop使用分布式文件系统,用于存储大数据,并使用MapReduce来处理。Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理。 Hadoop的限制 Hadoop只能执行批量处理,并且只以顺序方式访问数据。这意味着必须搜索整个数据集,即使是最简单的搜索工作。 当处理结果在另一个庞大的数据集,也是按顺序处理一个巨大的数据集。在这一点上,一个新的解决方案,需要访问数据中的任何点(随机访问)单元。 Hadoop随机存取数据库 应用程序,如HBase, Cassandra, couchDB, Dynamo 和 Mong...阅读全文

博文 2020-05-15 08:17:49 www.yiibai.com

linux删除文件后没有释放空间_冰刀(skate)

author:skatetime:2009/12/09 linux删除文件后没有释放空间 今天发现一台服务器的home空间满了,于是要清空无用的文件,当我删除文件后,发现可用空间没有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [root@ticketb ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda1 981M 203M 729M 22% /none 16G 0 16G 0% /dev/shm/dev/sda9 2.9G 37M 2.7G 2% /tmp/dev/sda7 4.9G 1.9G 2.7G 42% /usr/dev/sda8 2.9G 145M 2.6G 6% /var/dev/map...阅读全文

博文 2021-01-28 12:07:43 CSDN博客_linux 删除文件没有释放空间

Windows线程管理和调度机制概述_m_buddy的博客

1. 线程管理 (1)线程,有时被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。 (2)进程(Process)定义了一个执行环境,包括它自己私有的地址空间、一个句柄表,以及一个安全环境;线程(thread)则是一个控制流,有自己的调用栈(call stack),记录了执行的历史。每个进程都包含一个或多个线程,当进程被初始化创建时系统为该进程创建第一个线程;当最后一个线程结束时,进程也随之结束。 说道这里就需要说到线程的工作模式: 进程中的线程既可以在用户模式下运...阅读全文

博文 2020-07-14 02:25:32 CSDN博客_windows线程调度

xinit启动X Window System过程_xb_0916的专栏

此文完全来自http://www.52z.com/info/html/26120.html,我没有进行任何修改!现对作者表示深切谢意! 启动X主要有两种方法:一是Display Manager,如XDM、GDM、KDM,此种方法通过图形界面登录;另一种是通过xinit,此种方法适用于字符界面登录。我们常用于登录X的startx命令也是通过传递参数给xinit来启动X的,也就是说,最终启动X的是xinit。startx只是一个bash脚本。下面主要分析xinit一下初始化X的过程: 首先来看一看xinit命令的用法: xinit [[client] options ] [-- [server] [display] options] 可以看出,xinit初始化X是通过两个层面来进行的,即X cl...阅读全文

博文 2020-07-13 02:30:09 CSDN博客_xinit xinitx

集成JMX

在Spring中,可以方便地集成JMX。 那么第一个问题来了:什么是JMX? JMX是Java Management Extensions,它是一个Java平台的管理和监控接口。为什么要搞JMX呢?因为在所有的应用程序中,对运行中的程序进行监控都是非常重要的,Java应用程序也不例外。我们肯定希望知道Java应用程序当前的状态,例如,占用了多少内存,分配了多少内存,当前有多少活动线程,有多少休眠线程等等。如何获取这些信息呢? 为了标准化管理和监控,Java平台使用JMX作为管理和监控的标准接口,任何程序,只要按JMX规范访问这个接口,就可以获取所有管理与监控信息。 实际上,常用的运维监控如Zabbix、Nagios等工具对JVM本身的监控都是通过JMX获取的信息。 因为JMX是一个标准接口,...阅读全文

博文 2021-11-18 07:17:50 廖雪峰的官方网站

free命令中的buffer和cached的比较

free命令中的buffer和cached的比较最近在搞监控,突然看到我系统的内存要用完了,赶紧登录服务器看看,~]# dstat -m 16G内存就剩1G了。怎么回事,然后用free命令看了下~]# free -m 原来是cached占用较多,真正用的只有6773M,空闲是9307M。但是还是对cached占用这么多比较担心,所以就查了下,下面文章转载至http://blog.csdn.net/beacherlu/article/details/45871489经常遇到一些刚接触Linux的新手会问内存占用怎么那么多? 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是linux内存管理的一个优秀特性,在这方面,区别于Windows的内...阅读全文

30张图解: TCP 重传、滑动窗口、流量控制、拥塞控制 - 小林coding

前言 前一篇「硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的。 来了,今天又来图解 TCP 了,小林可能会迟到,但不会缺席。 迟到的原因,主要是 TCP 巨复杂,它为了保证可靠性,用了巨多的机制来保证,真是个「伟大」的协议,写着写着发现这水太深了。。。 本文的全部图片都是小林绘画的,非常的辛苦且累,不废话了,直接进入正文,Go! 正文 相信大家都知道 TCP 是一个可靠传输的协议,那它是如何保证可靠的呢? 为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。 那么,TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控...阅读全文

博文 2021-08-26 04:09:30 博客园

P2P通信原理与实现

当今互联网到处存在着一些中间件(Middle Boxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信. 这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立. 目前部署的中间件多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求. 大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接, 除非经过中间件管理员特殊配置. 前言 在中间件为常见的NAPT的情况下(也是本文主要讨论的),内网中的客户端没有单独的公网IP地址, 而是通过NAPT转换,和其他同一内网用户共享一个公网IP. 这种内网主机隐藏在中间件后...阅读全文

博文 2021-10-08 12:31:49 evilpan

Linux网络编程 | 并发模式:半同步/半异步模式、领导者/追随者模式

文章目录 同步与异步 半同步/半异步模式 变体:半同步/半反应堆模式 改进:更高效的半同步/半异步模式 领导者/追随者模式 组件 :句柄集、线程集、事件处理器 并发模式是指I/O处理单元和多个逻辑单元之间协调完成任务的方法。服务器主要有两种并发编程模式:半同步/半异步模式(half-sync/half-async)模式和领导者/追随者(Leader/Followers)模式 同步与异步 首先在这里要指出,这里的"同步"和“异步”与I/O模型中的”同步I/O“与“异步I/O”是两个完全不同的概念,不能将其混淆。 在I/O模型中,”同步I/O“和”异步I/O“主要的区别就是内核向应用程序通知的是哪种I/O事件(就绪事件/完成事件),以及由谁来完成I/O的读写操作(应用程序/内核)。 同步I/O:...阅读全文

博文 2021-08-16 07:49:23 码农家园

SpringCloudAlibaba高并发仿斗鱼直播平台实战

## SpringCloudAlibaba高并发仿斗鱼直播平台实战 download:https://www.zxit666.com/6371/ Dubbo服务调用原理剖析 段落一:简介 Dubbo是一款高性能、轻量级的分布式服务框架,主要用于解决分布式应用中的服务调用和管理问题。它提供了多种通信协议和负载均衡策略,支持服务的注册与发现、远程调用和容错处理等功能。 段落二:服务注册与发现 在Dubbo中,服务注册与发现是实现服务调用的基础。当服务提供者启动时,它会将自己的地址信息注册到注册中心。而服务消费者则从注册中心获取提供者的地址,并建立与提供者的连接。Dubbo支持多种注册中心,如Zookeeper、Consul等,通过注册中心的协调,实现了服务的动态发现和路由。 段落三:远程调用 D...阅读全文

mac提示文件已损坏的处理方法_sudo xattr -r -d com.apple.quarantine_qq_32526375的博客

用户在使用mac系统安装或下载一些软件应用时,偶尔会出现“XXX软件已损坏”的情况,下面就来教大家遇到这种情况怎么解决: 1、MacOS 10.15及以上新系统出现应用提示损坏打不开的解决方法: 打开终端(屏幕下方Dock栏中的的小火箭图标“启动台”——“其他”——打开“终端”),在终端中粘贴下面命令: sudo xattr -r -d com.apple.quarantine (* quarantine 后面有个空格) 打开屏幕下方的“访达(笑脸图标)”—选择左侧边栏的“应用程序”,再找到你需要处理的软件拖拽到命令后面,按回车后输入密码执行,举个例子,比如需要打开sketch应用的命令是: sudo xattr -r -d com.apple.quarantine /Application...阅读全文

博文 2023-09-13 16:37:45 CSDN博客

Linux高性能IO网络模型对比分析:Reactor vs Proactor - 腾讯云开发者社区

1、前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力。本文旨在为大家提供有用的高性能网络编程的I/O模型概览以及网络服务进程模型的比较,以揭开设计和实现高性能网络架构的神秘面纱。 2、关于作者 陈彩华(caison):主要从事服务端开发、需求分析、系统设计、优化重构工作,主要开发语言是 Java。 3、线程模型 上篇《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》介绍完服务器如何基于 I/O 模型管理连接,获取输入数据,下面将介绍基于进程/线程模型,服务器如何处理请求。 值得说明的是,具体选择线程还是进程,更多是与平台及编程语言相关。 例如 C 语言使用线程和进程都可以(例如 Nginx 使用进程,Memcached 使用线程),Java...阅读全文

博文 2023-02-02 03:59:47 腾讯云

Presentify 4.1.5 Mac 破解版 屏幕注释和鼠标高亮工具

Presentify Mac 破解版是mac上一款实用的屏幕绘制标注和鼠标高亮工具,可让您注释任何屏幕,突出显示光标等等,从而帮助您提供更好的演示。Presentify破解版是视频录制、教学视频的最佳工具。 [Presentify 在Mac App Store售价 30.00 元] Presentify 4.1.5 Mac 破解版 介绍 Presentify 是一个macOS菜单栏应用程序,可让您注释任何屏幕,突出显示光标等等,从而帮助您提供更好的演示,在线课程或视频教程。您可以在屏幕上注释任何内容,例如图像,视频,pdf,代码等。Presentify对于在线教学,录制视频教程,进行演示,远程工作等非常有用。 画在任何地方任何时候 您可以在任何屏幕上绘制或注释您希望。只需从菜单栏中选择“注释...阅读全文

博文 2023-10-13 10:32:37 麦氪搜(iMacSO.com)

一文读懂 Kubernetes 的 Limit 和 Request

作者:Carlos Arilla翻译:bot(才云)校对:星空下的文仔(才云)在生产环境中,如何设置 Kubernetes 的 Limit 和 Request 对于优化应用程序和集群性能至关重要。矛盾的是,分布式系统旨在解决应用程序之间的资源共享问题(例如 Kubernetes),但它们面临的挑战之一却是如何正确共享资源。在以前,应用程序通常被设计为独立运行,并可以使用现有的所有资源。但随着企业应用程序数量的急剧增长和对系统稳定、弹性要求的提升,新格局下,应用程序之间需要共享相同的资源,这使得资源合理配置成了一个硬性要求。命名空间配额众所周知,Kubernetes 是允许管理员在命名空间中指定资源 Request 和 Limit 的,这一特性对于资源管理限制非常有用。但它目前还存在一定局限:...阅读全文

HPC云化部署的优势和挑战

本文分享自天翼云开发者社区《HPC云化部署的优势和挑战》 作者:土豆炒肉丝HPC云化部署指的是将高性能计算(HPC)工作负载部署在云计算平台上,这种方式带来了一些明显的优势,但同时也面临一些挑战。以下是HPC云化部署的主要优势和挑战: 优势:1.灵活性和弹性:云计算平台提供灵活的资源调度和弹性伸缩功能,可以根据需要动态分配计算资源。这使得HPC应用能够更加高效地利用计算资源,根据实际需求进行资源扩展或收缩,从而降低成本。2.成本效益:传统HPC集群的建设和维护需要昂贵的硬件设备和专业技术团队。通过在云平台上进行部署,用户无需投资大量资金购买硬件设备,而是按需付费,只支付实际使用的资源,节省了大量成本。3.全球可访问性:云计算平台的服务通常分布在多个地理位置,用户可以从世界各地的终端设备访问这...阅读全文

React 为什么是 JSX 而不是 Templates

前言 前几天得到一个疑问,为什么 React 要用 JSX 语法,这样显得代码好像“很耦合”。按照传统应推荐 html、js、css 模版分离,这样设计的优越性到底在哪里? 从一开始接触前端,大学课程里首先学的也是 html、js、css 这前端二代三剑客,可以类比于“母语”的概念。于是接触了 Vue 框架,便顺理成章地理解了 templates、script、style 三个模版分离的概念。到后来接触了 React 框架确实在熟悉 JSX 语法过程中花费了一定的精力,现在理解来看,其实就是把 JS 语法和 DOM 结构组合绑定到了一起,当时真正头晕的应该是渲染的能力。 因此,React 为什么是 JSX 而不是 Templates,这种感觉就好像脱离了一开始学习的母语,这样的学习成本难道是...阅读全文

博文 2023-04-17 03:18:23 掘金

将个人PC转变为高效的云电脑:理论、实践与优化

本文分享自天翼云开发者社区《将个人PC转变为高效的云电脑:理论、实践与优化》,作者:不知不觉在数字化时代的今天,我们越来越依赖互联网和计算机技术进行工作和生活。然而,传统的个人电脑(PC)在使用过程中存在一些限制,例如硬件资源的利用率不高、数据安全难以保障等。为了解决这些问题,我们可以将个人PC转变为高效的云电脑,通过远程访问和共享的方式来提高资源利用率和数据安全性。本文将详细探讨这一主题,包括理论、实践和优化的方法。一、理解个人PC与云电脑个人PC是一种独立的计算机设备,通常由用户自行购买和维护。而云电脑是一种基于云计算技术的虚拟化平台,用户可以通过网络远程访问云服务器上的计算、存储等资源。通过将个人PC转变为云电脑,我们可以充分利用云计算的优势,提高资源利用率和数据安全性。二、个人PC变...阅读全文

istio简介和基础组件原理(服务网格Service Mesh)_腾讯数据架构师的博客

全栈工程师开发手册 (作者:栾鹏) 架构系列文章 微服务对于每个功能的开发细化了,但是对与系统的管理复杂度增强了,尤其是网络流量的管理。 试想一下:黑名单,导流,加密,访问控制,流量监控,熔断,限速,收费功能,数据流阶段延迟 这种在网络层上的功能难道要在每个应用代码中实现么? Istio简介 Istio:一个连接,管理和保护微服务的开放平台。 按照isito文档中给出的定义: Istio提供一种简单的方式来建立已部署的服务的网络,具备负载均衡,服务到服务认证,监控等等功能,而不需要改动任何服务代码。简单的说,有了Istio,你的服务就不再需要任何微服务开发框架(典型如Spring Cloud,Dubbo),也不再需要自己手动实现各种复杂的服务治理功能(很多是Spring Cloud和Dubb...阅读全文

博文 2023-04-12 07:25:33 CSDN博客

jvm监控指标 - 求其在我

# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds.# TYPE jvm_gc_collection_seconds summary#这是一个Summary指标,与Histogram类似,可以对指标数据进行采样 # 并发收集器 CMS(Concurrent Mark-Sweep) 以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。CMS是用于对tenured generation的回收,也就是年老代的回收,目标是尽量减少应用的暂停时间,减少full gc发生的几率,利用和应用程序线程并发的垃圾回收线程来标记清除年...阅读全文

博文 2023-09-22 16:07:14 博客园

Serverless函数计算介绍

本文分享自天翼云开发者社区《Serverless函数计算介绍》,作者:余凯随着互联网和移动互联网的快速发展,越来越多的应用程序需要具备高可用性、高扩展性和高性能等特点。而云计算作为一种新兴的计算模型,可以帮助开发者更快速、更高效地开发和部署应用程序。Serverless函数计算作为云计算的一种重要形式,正在逐渐成为云计算的主流模型。1.Serverless函数计算的概念和优势Serverless函数计算是一种无服务器的计算模型,它可以帮助用户更轻松地构建和运行应用程序,无需管理底层的服务器和操作系统。在Serverless函数计算中,用户只需编写函数代码并上传到云端,云服务提供商将会负责管理计算资源和网络架构,用户只需按照实际使用情况支付相应的费用。Serverless函数计算的优势包括:1...阅读全文

什么是无服务器架构技术?

本文分享自天翼云开发者社区《什么是无服务器架构技术?》,作者:SD万无服务器架构(Serverless Architecture)是jin年来逐渐兴起的一种软件架构方案,它采用了一种全新的方式来处理应用程序的部署、运行和扩展。与传统的服务器架构相比,无服务器架构具有很多优势,包括可扩展性、弹性、可靠性和安全性等。一、无服务器架构的基本概念和特点1.基本概念无服务器架构是指将应用程序的部署、运行和扩展都交给了云服务提供商来处理,开发者只需要通过API调用来访问和操作应用程序,不再需要考虑服务器、网络、负载均衡等问题。在无服务器架构中,云服务提供商会为开发者提供一系列工具和服务,包括API网关、流量控制、负载均衡、缓存、安全等,开发者只需要关注业务逻辑的实现即可。2.特点无服务器架构的主要特点包...阅读全文

服务器显卡:驱动高性能计算和人工智能应用

本文分享自天翼云开发者社区《服务器显卡:驱动高性能计算和人工智能应用》,作者:不知不觉一、引言随着高性能计算和人工智能应用的不断发展,服务器显卡的性能显得越来越重要。服务器显卡是服务器硬件配置中的一个关键组件,它不仅提供基本的图形渲染能力,还在高性能计算和人工智能应用中发挥着重要作用。本文将探讨服务器显卡的重要性和发展趋势,以及如何选择和配置适合的服务器显卡来满足不同的应用需求。二、服务器显卡的重要性服务器显卡在高性能计算和人工智能应用中扮演着至关重要的角色。高性能计算广泛应用于科学计算、工程设计、气象预测等领域,而人工智能应用则涵盖了机器学习、深度学习、图像识别等领域。这些应用需要大量的计算资源和高效的算法来处理大规模的数据集,而服务器显卡正是在这样的应用中发挥重要作用。三、服务器显卡的发...阅读全文

数据如何同步到云服务器

本文分享自天翼云开发者社区《数据如何同步到云服务器》,作者:每日知识小分享随着云计算技术的快速发展,越来越多的企业和个人选择将他们的数据和应用程序存储在云服务器上。然而,将数据同步到云服务器是一个复杂的过程,需要一定的技术知识和规划。本文将介绍数据同步到云服务器的最-佳做法,包括数据备份、数据恢复、数据迁移等方面。一、数据同步的概念数据同步是指将数据从一个地方复制或传输到另一个地方,以保证数据的完整性和一致性。在云服务器中,数据同步通常指将本地数据备份到云服务器中,或者将云服务器中的数据恢复到本地或者其他云服务器中。二、数据同步的分类数据备份数据备份是指将本地数据备份到云服务器上,以防止本地数据丢失或损坏。在备份过程中,需要选择合适的备份软件和备份策略,以确保备份数据的完整性和可靠性。同时,...阅读全文

Node.js工程师养成计划

### Node.js工程师养成计划 download:https://www.zxit666.com/5005/ 在前端开发中,布局是一个非常重要的环节。随着现代 Web 应用程序的复杂性不断提高,我们需要一些更可靠、灵活和适应性强的布局方案,以满足不同场景下的需求。本文将介绍一些前端主流布局系统的进阶技巧,并通过实例演示如何使用它们来构建复杂的布局。 传统布局系统 在介绍主流布局系统之前,首先需要了解传统的 CSS 布局系统。CSS 布局主要有以下几种方法: 盒模型布局 盒模型布局是指通过设置元素的盒模型属性(如 width、height、margin、padding 等)来实现页面布局。这种布局方式最大的问题是难以保证元素在不同设备上的显示效果一致。 css .box { width:...阅读全文

博文 2023-06-04 06:37:06 zxit666

负载均衡详解

本文分享自天翼云开发者社区《负载均衡详解》,作者:杨锦负载均衡(Load Balancing)是一种将网络流量或请求分发到多个服务器或资源的技术,以确保这些服务器或资源能够更均匀地处理负载,提高系统的性能、可用性和可伸缩性。负载均衡通常应用于Web服务、应用程序服务器、数据库服务器以及其他网络应用中。负载均衡的目标:均衡负载:主要目标是分配流量或请求,确保各个服务器或资源之间负载均匀,避免某一台服务器负载过高,而其他服务器处于低负载状态。提高性能:通过将流量分散到多个服务器上,可以提高整体性能。每个服务器只需处理一部分请求,从而降低了每台服务器的响应时间。提高可用性:如果一个服务器出现故障或不可用,负载均衡器可以将流量重定向到其他正常运行的服务器上,从而提高系统的可用性和容错性。实现扩展性:...阅读全文

云电脑:运行原理与自行搭建指南

本文分享自天翼云开发者社区《云电脑:运行原理与自行搭建指南》,作者:不知不觉在当今这个数字化时代,云计算技术正在改变我们的工作方式和生活方式。云电脑,作为一种新兴的云计算服务模式,越来越受到人们的关注和欢迎。了解云电脑的原理以及如何自行搭建云电脑,已经成为了一个重要的议题。一、云电脑的运行原理云电脑是一种基于云计算的虚拟化电脑,它的运算、存储和管理都由远程数据中心来处理。用户通过简单的终端设备(如手机、平板或瘦客户端)以图形界面或命令行方式进行操作,所有的应用程序和数据都存储在远程的数据中心。虚拟化技术:虚拟化技术是云电脑的核心技术,它允许一台物理服务器同时运行多个虚拟机,每个虚拟机都可以独立地运行操作系统和应用程序。虚拟化技术有效地提高了服务器的利用率,降低了能源消耗。网络传输技术:云电脑...阅读全文

NUMA架构介绍及优缺点分析

本文分享自天翼云开发者社区《NUMA架构介绍及优缺点分析》,作者:郁****航什么是NUMA架构1、概念NUMA(Non-Uniform Memory Access,非统一内存访问)架构是一种针对多处理器系统的内存组织方式。在这种架构中,处理器被分配到不同的节点,每个节点拥有自己的本地内存。处理器可以访问本地内存和其他节点的内存,但访问本地内存的速度要快于访问其他节点的内存。 2、设计原理NUMA架构的设计原理主要是为了解决多处理器系统中的内存访问瓶颈问题。随着处理器数量的增加,内存带宽需求也会相应提高。然而,在传统的统一内存访问(UMA)架构中,所有处理器共享同一块内存,导致内存访问延迟增加、内存带宽成为系统性能的瓶颈。NUMA架构通过将内存分配到各个节点,使处理器优先访问本地内存,降低内...阅读全文

系统玩转OpenGL+AI,实现各种酷炫视频特效

系统玩转OpenGL+AI,实现各种酷炫视频特效 视频课程分享——系统玩转OpenGL+AI,实现各种酷炫视频特效,附源码。大家下载学习。 OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟实境、科学可视化程序和电子游戏开发。 作为独立于操作系统的开放的三维图形的软件开发包,在其基础上开发的应用程序能够简单方便的移植于各种平台。其具有七大功能: 1. 建立3D模型:OpenGL...阅读全文

博文 2023-11-29 15:20:35 woaiwodejia333

[完结11章]技术大牛成长课,从0到1带你手写一个数据库系统

学习地址1:https://pan.baidu.com/s/1OWDu5fNq_BXRUbLGrxzpJw 提取码:tjty 学习地址2:https://share.weiyun.com/Tp6ewDIJ 密码:6crcwd 今天跟大家交流一下关于开发一款数据库系统的相关事宜,从零开始,手把手带着大家一步步去实现这个功能,希望对大家有所帮助。 数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。 数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数...阅读全文

[完结14章]鸿蒙系统实战短视频App 从0到1掌握HarmonyOS

学习地址1:https://pan.baidu.com/s/1vLcrBLZ59KSCDgsDj4K8rg 提取码: vfff 学习地址2:https://share.weiyun.com/aXaiIMC3 密码:q5aaj7 实际搭建流程: 下载鸿蒙源码 → docker拉取镜像 → 创建容器 → 进入容器 → 下载hb编译工具(也可使用build.sh、build.py脚本编译,但是不如hb辅助工具指令好用)→ 编译(内核、芯片厂商的uboot、系统镜像 ...) 1. 准备开发环境: 首先,您需要设置用于鸿蒙应用程序开发的开发环境。 2. 学习鸿蒙应用程序开发: 了解鸿蒙应用程序开发的基础知识,包括鸿蒙应用程序的架构、UI设计和鸿蒙系统的特性。 3. 开发应用程序: 使用鸿蒙开发工具,...阅读全文

博文 2023-12-01 16:20:29 giadnbhaytgw

云电脑运行原理分析

本文分享自天翼云开发者社区《云电脑运行原理分析》,作者:大利一、虚拟化技术虚拟化技术是云电脑运行的核心技术之一。它可以将物理服务器虚拟化成多个虚拟机,每个虚拟机都拥有独立的操作系统和应用程序运行环境。虚拟机之间相互隔离,互不影响。虚拟化技术可以显著提高服务器的利用率,减少能源消耗,同时还可以提高系统的可靠性和安全性。在云电脑中,虚拟化技术主要应用于计算资源的管理和调度。当用户通过网络发送计算请求时,云电脑管理系统会根据负载情况,将请求分配给不同的虚拟机进行处理。每个虚拟机都拥有独立的计算资源,可以同时处理多个用户请求。这种分布式计算的方式可以显著提高系统的处理能力和响应速度。二、容器技术容器技术是另一种轻量级的虚拟化技术,它可以将应用程序及其依赖项打包成一个独立的容器,实现应用程序的快速部署...阅读全文

既然操作系统层已经提供了page cache的功能,为什么还要在应用层加缓存?

简单说,OS提供了一个通用的选择,没办法针对应用做个性化定制。kafka基本是顺序读写,这点是OS缓存可以很好的处理的情况;但是对于更多应用层系统来说,存在数据热点分布不均的情况,这些OS就不能很好的处理了。例如MySQL的innoDB缓存,如果采用OS的缓存策略,来一次全表扫描那么就可以让InnoDB辛辛苦苦热起来的数据冷了。但是InnoDB自己维护缓存情况下,就可以处理得很好,例如MySQL的InnoDB会对缓冲数据拆分为young以及old数据;会在整个缓存空间中腾出3/8的数据来用缓存这种多次访问的热点数据;这样全表扫描情况下,至少大多数热点数据还在内存中。甚至应用层可以在程序中直接指定热点数据,直接缓存起来;还有一个问题,OS缓存单位是页,不够应用层灵活。MySQL :: MySQ...阅读全文

博文 2023-05-15 10:50:34 知乎