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

软中断会吃掉你多少CPU?

前面的几篇文章里讨论过了进程上下文切换和系统调用对系统性能的影响,我们今天再来看另外一个CPU吃货,那就是软中断。你在用vmstat或者其他一些工具查看系统CPU消耗的时候,发现有两列是单独列出来的,分别是是hi和si。他们分别是硬中断和软中断。既然vmstat把中断的开销单独列出来了,就说明一个问题,中断吃起CPU来那也是丝毫不含糊。我们没必要啃明白软中断的所有原理,但从一名追求性能的开发者的角度来看,我们有必要了解以下问题:一次软中断的开销到底多大?你的服务器上被软中断吃掉了多少CPU时间?如果你和我一样好奇上面的问题的答案,那请跟我来!软中断的诞生CPU正常情况下都是专心处理用户的进程的,当外部的硬件或软件有消息想要通知CPU,就会通过中断请求(interrupt request,IR...阅读全文

博文 2019-11-11 03:01:36 知乎

DevOps落地实践,BAT系列,敏捷看板

DevOps落地实践,BAT系列,敏捷看板 21/100 发布文章 qq_41137493 DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软件开发交付模式。BAT在2014年左右,甚至更早的时候,内部的DevOps系统就已经差不多成型了,比如腾讯的织云、蓝鲸,阿里的AOne,百度的效率云等。在DevOps的研发过程中,好的看板功能有助于优化项目管理、提升开发效率,是较重要的功能之一。本文从需求分析角度入手,分析DevOps产品对看板的需求,并结合[CORNERSTONE](https://www.cornerstone365.cn/)一站式云端DevOps平台看板部分的实际开发经验和用户反馈向大家介绍DevOps看板的设计实践之路。 一.DevO...阅读全文

博文 2019-10-16 09:59:38 CORNERSTONE

Spring AOP中JDK和CGLib动态代理哪个更快?

一、背景 昨天一位知识星球的小伙伴面试的时候被问到:Spring AOP中JDK和CGLib动态代理哪个效率更高?在知识星球整理了一下,今天特分享出来,供大家参考!对知识星球有兴趣的可以了解一下: 二、基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。 自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方。 JDK动态代理主要涉及java.lang.reflect包下边的两个类:Proxy和InvocationHandler。其中,InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态地将横...阅读全文

博文 2021-06-12 14:41:44 juejin.cn

聊聊MyBatis缓存机制

前言MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。本次分析中涉及到的代码和数据库表均放在GitHub上,地址: mybatis-cache-demo 。目录本文按照以下顺序展开。一级缓存介绍及相关配置。一级缓存工作流程及源码分析。一级缓存总结。二级缓存介绍及相关配置。二级缓存源码分析。二级缓存总结。全文总结。一级缓存一级缓存介绍在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的S...阅读全文

博文 2020-11-02 07:13:23 美团技术团队

Hive笔记之collect_list/collect_set(列转行) - CC11001100

Hive中collect相关的函数有collect_list和collect_set。 它们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重而collect_set去重。 做简单的实验加深理解,创建一张实验用表,存放用户每天点播视频的记录:create table t_visit_video ( username string, video_name string ) partitioned by (day string) row format delimited fields terminated by ','; 在本地文件系统创建测试数据文件:张三,大唐双龙传 李四,天下无贼 张三,神探狄仁杰 李四,霸王别姬 李四,霸王别姬 王五,机器人总动员 王五,放牛班的春...阅读全文

博文 2021-10-12 08:49:22 博客园

一次系统调用开销到底有多大?

首先说说系统调用是什么,当你的代码需要做IO操作(open、read、write)、或者是进行内存操作(mmpa、sbrk)、甚至是说要获取一个系统时间(gettimeofday),就需要通过系统调用来和内核进行交互。无论你的用户程序是用什么语言实现的,是php、c、java还是go,只要你是建立在Linux内核之上的,你就绕不开系统调用。图1 系统调用在计算机系统中的位置大家可以通过strace命令来查看到你的程序正在执行哪些系统调用。比如我查看了一个正在生产环境上运行的nginx当前所执行的系统调用,如下:# strace -p 28927 Process 28927 attached epoll_wait(6, {{EPOLLIN, {u32=96829456, u64=1403123...阅读全文

博文 2020-06-10 07:12:06 知乎

为什么阿里巴巴禁止使用BigDecimal的equals方法做等值比较?

BigDecimal,相信对于很多人来说都不陌生,很多人都知道他的用法,这是一种java.math包中提供的一种可以用来进行精确运算的类型。 很多人都知道,在进行金额表示、金额计算等场景,不能使用double、float等类型,而是要使用对精度支持的更好的BigDecimal。 所以,很多支付、电商、金融等业务中,BigDecimal的使用非常频繁。而且不得不说这是一个非常好用的类,其内部自带了很多方法,如加,减,乘,除等运算方法都是可以直接调用的。 除了需要用BigDecimal表示数字和进行数字运算以外,代码中还经常需要对于数字进行相等判断。 关于这个知识点,在最新版的《阿里巴巴Java开发手册》中也有说明: 这背后的思考是什么呢? 我在之前的CodeReview中,看到过以下这样的低级...阅读全文

博文 2021-05-26 02:44:44 juejin.cn

netty中Pipeline的ChannelHandler执行顺序案例详解 - 田志良

一、netty的Pipeline模型 netty的Pipeline模型用的是责任链设计模式,当boss线程监控到绑定端口上有accept事件,此时会为该socket连接实例化Pipeline,并将InboundHandler和OutboundHandler按序加载到Pipeline中,然后将该socket连接(也就是Channel对象)挂载到selector上。一个selector对应一个线程,该线程会轮询所有挂载在他身上的socket连接有没有read或write事件,然后通过线程池去执行Pipeline的业务流。selector如何查询哪些socket连接有read或write事件,主要取决于调用操作系统的哪种IO多路复用内核,如果是select(注意,此处的select是指操作系统内核...阅读全文

博文 2021-09-02 12:28:20 博客园

elasticsearch - ES系列之原来查看文档数量有这么多姿势_个人文章

ES系列之原来查看文档数量有这么多姿势犀牛饲养员发布于 2020-04-03 1、引言 有人可能觉得,查看文档数量不是很简单吗?直接 GET /_cat/count/index_name?v 不就可以了吗。 事实上远不止这么简单,比如嵌套文档的情况等。相信你看了我这篇文章之后你会感叹原来统计文档有这么多讲究啊。 2、正文 cat/count 首先是最常用的的方式,也是一种快速查询文档的优先推荐方式,cat count api我们使用kibana自带的电商索引来实验。 GET _cat/count/kibana_sample_data_ecommerce?v 返回, epoch timestamp count 1585910697 10:44:57 4675 cat count api的方式能...阅读全文

博文 2022-10-02 12:48:18 SegmentFault 思否

Linux系统top命令中的iowait究竟是什么意思?

最近在做连续数据流的缓冲系统,C语言代码实现后,粗略测试了下,功能上应该没有问题。那么,接下来就该测试性能了。输入 top 命令,的确可以看到一系列 cpu 使用率,其中一个值得注意的子项就是 io 使用率了,如下图: 上图中 io 前面的数字是什么意思呢?是指 CPU 有 63% 的时间花费在 io 上了吗?在 Linux 中输入 man 命令查看相关手册,发现 io(wait) 被解释为“等待 I/O 完成的时间”。 如果按照手册对 iowait 字面上的解释,是很容易陷入误区的。因为就上例而言,似乎 CPU 有 63% 的时间消耗在等待 I/O 操作完成,导致 CPU 的性能白白浪费这么多。其实不是的,Linux 是一个成熟的操作系统,它才不会让 CPU 宝贵的性能白白浪费在耗时的 I...阅读全文

博文 2022-11-12 03:24:40 刘冲的博客

CDN在互联网直播中的运用与性能优化

本文分享自天翼云开发者社区《CDN在互联网直播中的运用与性能优化》,作者:不知不觉随着互联网技术的不断发展,互联网直播已成为人们获取信息、娱乐、学习等多种需求的重要途径之一。然而,在直播过程中,由于网络延迟、卡顿等问题,观众的观看体验往往受到影响。为了解决这些问题,内容分发网络(CDN)技术被广泛应用于互联网直播领域,本文将探讨CDN在互联网直播中的运用与性能优化。一、CDN的基本概念CDN是一种分布式的内容分发网络,它通过在全球各地的节点部署缓存服务器,将网站的内容缓存到这些节点上,当用户访问网站时,CDN会根据用户的地理位置,选择距离用户最近的缓存节点来提供服务,从而减少网络延迟,提高用户访问速度。二、CDN在互联网直播中的应用1.直播流媒体传输在互联网直播中,直播流媒体传输是非常重要的...阅读全文

慕课微课-掌握Java并发编程的“基石”,入门并发编程

### 慕课微课-掌握Java并发编程的“基石”,入门并发编程 download:https://www.zxit666.com/6378/ 大范围视觉预锻炼显著进步了大型视觉模型的性能。但是,作者察看到现有的低FLOPs模型无法从大范围预锻炼中受益的问题。在本文中,作者提出了一种通用的设计准绳,即ParameterNet,用于在大范围视觉预锻炼中增加更多参数的同时坚持低FLOPs。 例如,采用动态卷积技术能够为网络提供更多参数,同时仅稍微增加FLOPs。提出的ParameterNet计划使得低FLOPs网络可以从大范围视觉预锻炼中受益。 在大范围ImageNet-22K数据集上的实考证明了作者ParameterNet计划的杰出性能。例如,ParameterNet-600M相比普遍运用的Sw...阅读全文

博文 2023-07-18 11:34:43 zxit666

首个基于Transformer的分割检测+视觉大模型视频课程(23年新课+源码+课件)

首个基于Transformer的分割检测+视觉大模型视频课程(23年新课+源码+课件) 分享一套视觉大模型课程——首个基于Transformer的分割检测+视觉大模型视频课程,2023年新课,附源码+课件。 视觉分割旨在将图像、视频帧或点云分割为多个片段或组。这种技术具有许多现实世界的应用,如自动驾驶、图像编辑、机器人感知和医学分析。 最近,Transformer成为一种基于自注意力机制的神经网络,最初设计用于自然语言处理,在各种视觉处理任务中明显超越了以往的卷积或循环方法。 具体而言,视觉Transformer为各种分割任务提供了强大、统一甚至更简单的解决方案。本综述全面概述了基于Transformer的视觉分割,总结了最近的进展。 图像分割作为计算机视觉的三大任务之一,是智慧城市、工业制...阅读全文

博文 2023-11-24 20:45:38 woaiwodejia333

恭喜我同事的论文被IEEE HPCC收录!

近日,由天翼云科技有限公司云网产品事业部天玑实验室撰写的《关于公有云区分负载QoS感知的内存资源动态超分管理优化》(Thoth:Provisioning Overcommitted Memory Resource with Differentiated QoS in Public Clouds)论文被2023年第25届国际高性能计算与通信会议 IEEE HPCC(IEEE International Conference on High Performance Computing and Communications)长文收录。IEEE HPCC,是高性能计算领域较高水平的国际学术会议,也是中国计算机学会CCF推荐的国际会议之一。HPCC 由IEEE、IEEE计算机协会和IEEE 可扩展计算...阅读全文

博文 2023-11-09 17:42:07 Tianyiyun

彰显科技硬实力!天翼云论文在国际顶刊JoCCASA发表!

近日,由天翼云科技有限公司云网产品事业部混合云团队完成的论文《Multivariate Time Series Collaborative Compression for Monitoring Systems in Securing Cloud-based Digital Twin》在云计算领域国际知名学术期刊Journal of Cloud Computing:Advances,Systems and Applications(JoCCASA)发表。​JoCCASA是全球最大科学出版社之一的德国Springer(施普林格)旗下刊物,SCI JCR分区为2区,近5年影响因子4.4。此次论文在JoCCASA上的发表,代表天翼云科技创新能力再次获得业界权威认可。时序数据压缩是解决海量监控数据长周...阅读全文

再获权威认可!天翼云论文被IEEE/ACM CCGrid收录

近日,由天翼云弹性网络开拓者团队撰写的《Towards Better QoS and Lower Costs of P4 EIP Gateway at the Edge》论文被The 24th IEEE/ACM International Symposium on Cluster, Cloud, and Internet Computing (CCGrid 2024) 长文收录。​CCGrid是云计算领域较高水平的国际学术会议,也是中国计算机学会CCF推荐的国际会议之一。CCGrid平均每年收到数百篇来自世界各地的论文投稿,近三年的论文接收率分别为21%(2023年)、24%(2022年)、26.1%(2021年)。此次弹性网络开拓者团队所著论文被收录,代表着天翼云技术创新能力再获业界权威机...阅读全文

博文 2024-04-17 14:18:08 Tianyiyun

Linux VXLAN小实验

本文分享自天翼云开发者社区《Linux VXLAN小实验》,作者:李****一前言VXLAN在云网络中应用十分广泛。本文介绍一种方法在两台Linux主机之间建立简单的VXLAN隧道,以供学习、研究之用。原料:主机T620,IP:10.0.0.12 OS:CnetOS-7 主机T630,IP:10.0.0.13 OS:CnetOS-7拓扑:如下图所示,隧道两个端点(Underlay)地址分别为10.0.0.12和10.0.0.13,Overlay端点10.0.10.12和10.0.10.13穿越这条隧道通信。​步骤:T620上的配置:1.隧道配置ip link add vxlan0 type vxlan id 1 remote 10.0.0.13 local 10.0.0.12 dstport...阅读全文

博文 2024-05-31 10:40:23 Tianyiyun

磁盘满了对日志打印(Logback)的影响_linux空间满了导致日志不打印怎么办

背景 我们生产环境有一个服务半夜报警:磁盘剩余空间不足10%,请及时处理。排查后发现是新上线的一个功能,日志打太多导致的,解决方法有很多,就不赘述了。领导担心报警不及时、或者报警遗漏,担心磁盘满了对线上业务有负面影响,甚至不可用,令我研究一下该情况下对服务的影响。 正文 注:我们线上的应用使用Logback日志框架进行打印,所以log4j、log4j2或其它日志框架不在本次研究的范围。 实验研究 实验步骤 启动服务,观察各项指标正常(模拟正常工作的服务以及环境状态)将磁盘写满观察应用服务、宿主机各项指标,查看服务响应是否正常(包括功能以及性能)将大文件删除(恢复)重复第3步 实验过程 第1、3、5步重在观测,不赘述。 第2步的模拟磁盘写满,使用linux的fallocate命令。 将磁盘写满...阅读全文

博文 2024-06-05 19:23:14 CSDN博客

“翼”鸣惊人,天翼云两篇论文被ACM ICPP 2024收录!

近日,由天翼云科技有限公司弹性计算产品线天玑实验室撰写的两篇论文《PheCon: Fine-Grained VM Consolidation with Nimble Resource Defragmentation in Public Cloud Platforms》及《Yggdrasil: Reducing Network I/O Tax with (CXL-Based) Distributed Shared Memory》被ACM International Conference on Parallel Processing(ICPP)收录。​ACM ICPP是计算机体系结构、并行与分布计算、存储系统领域的顶级会议之一,也是世界上最古老的连续举办的并行计算国际会议之一。ACM ICPP收...阅读全文

博文 2024-06-20 17:28:25 Tianyiyun