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

ICMP端口号问题_听闻的技术博客_51CTO博客

ICMP端口号的深思朋友面试的时候回来问我:小温,说一下ICMP的端口号是多少呢?当时我也懵了,我是这样回答的:ICMP是Internet控制报文协议,没有端口号吧?这个不太清楚啊。呵呵,一个常见的协议问题,很纠结:所以稍作总结:ICMP简介:ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP功能:从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性...阅读全文

博文 2021-05-29 06:28:41 blog.51cto.com

P2P通信原理与实现

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

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

JVM 之 ParNew 和 CMS 日志分析

在两年前的文章 JVM 学习——垃圾收集器与内存分配策略 中,已经对 GC 算法的原理以及常用的垃圾收集器做了相应的总结。今天这篇文章主要是对生产环境中(Java7)常用的两种垃圾收集器(ParNew:年轻代,CMS:老年代)从日志信息上进行分析,做一下总结,这样当我们在排查相应的问题时,看到 GC 的日志信息,不会再那么陌生,能清楚地知道这些日志是什么意思,GC 线程当前处在哪个阶段,正在做什么事情等。 ParNew 收集器ParNew 收集器是年轻代常用的垃圾收集器,它采用的是复制算法,youngGC 时一个典型的日志信息如下所示: 12018-04-12T13:48:26.134+0800: 15578.050: [GC2018-04-12T13:48:26.135+0800: 155...阅读全文

博文 2020-07-31 06:29:22 Matt's Blog

Storm、Spark与Flink详细比较

TIP 本文主要是介绍 Storm、Spark与Flink详细比较 。 Storm,Spark和Flink简介 联系与区别1、Apache Storm2、Spark Streaming3、Flink4、三者对比参考文章 # Storm,Spark和Flink简介 联系与区别 storm、spark streaming、flink是三个最著名的分布式流处理框架,并且都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。 # 1、Apache Storm Storm是一个免费并开源的分布式实时计算系统。利用Storm可以很容易做到可靠地处理无限的数据流,像Hadoop批量...阅读全文

博文 2021-12-24 14:07:04 智能后端和架构

XOR 加密简介

本文介绍一种简单高效、非常安全的加密方法:XOR 加密。 一、 XOR 运算 逻辑运算之中,除了 AND 和 OR,还有一种 XOR 运算,中文称为"异或运算"。 它的定义是:两个值相同时,返回false,否则返回true。也就是说,XOR可以用来判断两个值是否不同。 true XOR true // false false XOR false // false true XOR false // true true XOR false // true JavaScript 语言的二进制运算,有一个专门的 XOR 运算符,写作^。 1 ^ 1 // 0 0 ^ 0 // 0 1 ^ 0 // 1 0 ^ 1 // 1 上面代码中,如果两个二进制位相同,就返回0,表示false;否则返回1,表...阅读全文

博文 2021-09-17 01:43:22 阮一峰的网络日志

Elasticsearch Java API的基本使用

Elasticsearch Java API的基本使用说明 在明确了ES的基本概念和使用方法后,我们来学习如何使用ES的Java API. 本文假设你已经对ES的基本概念已经有了一个比较全面的认识。 客户端 你可以用Java客户端做很多事情: 执行标准的index,get,delete,update,search等操作。 在正在运行的集群上执行管理任务。 但是,通过官方文档可以得知,现在存在至少三种Java客户端。 Transport Client Java High Level REST Client Java Low Level Rest Client 造成这种混乱的原因是: 长久以来,ES并没有官方的Java客户端,并且Java自身是可以简单支持ES的API的,于是就先做成了Trans...阅读全文

博文 2020-11-29 08:39:46 简书

rsync 备份 CENTOS 系统! - G-Beniot

rsync是一个非常优秀的文件同步工具,从它的名字可以看出,它支持远程同步。当然,在备份我的桌面系统时,只需要用到它的本地同步功能就行了。之所以选择rsync,是因为它具有如下优点:在备份还原过程中,可以保存文件原有的时间、权限、软硬链接等信息;首次备份时,需要复制所有文件,但是再次备份或还原系统时,只需要复制修改过的文件。关于rsync的使用方法,其主要参考文档是man rsync,另外,rsync也可以作为守护进程运行用来建立文件备份服务器,可以参考文档man rsyncd.conf。 桌面系统备份实战 对于我的桌面系统,我选择的备份策略是使用rsync命令将硬盘上的所有文件(当然要排除/proc和/sys目录下的内容)复制到U盘上。首先使用df -lh命令查看一下我电脑的系统占多大空间...阅读全文

博文 2020-07-13 15:26:47 博客园

NullPointerException 没有堆栈 - cdfive

周五在公司搭好的ELK上查看日志,组长让看看其中NullPointerException出现很多的原因。 通过NullPointerException搜索,点看其中一个查看,发现异常的信息就一行java.lang.NullPointerException,并没有堆栈信息。 看了几个都没有,然后翻代码看记日志的地方,调用了日志基础工程的一个方法,异常对象通过封装传了进去,其中异常信息属性取值用的是Throwables.getStackTraceAsString(e),这是guava包提供的方法,点进去看是取了所有堆栈信息的。 那么问题来了,为什么堆栈信息没显示出来呢? 百度了下,关键字:NullPointerException 没有堆栈 找到类似的问题,发现是JVM虚拟机对异常信息进行了优化,...阅读全文

博文 2021-09-24 03:42:35 博客园

企业应该怎样选择项目管理软件?

项目管理通常涉及人、财、物的调配和管理。项目管理流程十分复杂,仅靠人工管理往往难以管理好。 因此,选择一个有效的工具来管理整个项目很有必要。 目前,市面上的项目管理软件繁多冗杂,良莠不齐,企业需根据自身情况选择项目管理工具,以提高效率,赢得市场竞争。 如果项目的复杂程度永远不超出项目经理或项目团队的经验水平和记忆容量,只靠他们的人工管理也能在项目发生事情时识别因果关系并追溯问题的源头。 但问题是,几乎所有与业务相关的项目其复杂程度,都能轻易超出项目经理或项目团队的经验水平和记忆容量限度,只是团队不自知而已。 所以才会有不少团队用了错误的准则来选择管理工具,导致工具不能在项目信息上及问题溯源上弥补团队的不足。 因此,在选择项目管理软件时,企业应从多方面考虑,确保选择到合适的项目管理工具。 一、...阅读全文

SSL/TLS协议运行机制的概述

west 说: 好文。全面而易懂 2014年2月 5日 20:09 | # | 引用 李狗蛋 说: 坏蛋总不放过任何一丝做恶的机会,太多不要脸的运营商在链路劫持强插广告,直接修改用户的HTTP数据包,再就是NSA之流肆无忌惮的窃听 发现一个HTTPS有意思的地方,只要53端口数据被转发,不管域名对应的DNS解析IP是不是域名真实IP,只要最后都是53端口转发到真实IP之上,就不会弹HTTPS证书错误 比如 https://a.com 对应 ipa 不通 那么劫持DNS解析 https://a.com 到 ipb上 (ipb是通的) 只要在ipb上设置 ipb:53转发到 ipa:53 这样访问 https://a.com 就通了,而且没证书错误 2014年2月 5日 20:10 | # | ...阅读全文

博文 2022-11-12 09:04:02 阮一峰的网络日志

产品从0到1的六个关键要素

怎么提高软件研发项目的成功率?影响项目成功的因素有很多方面,不同角色定义项目成功的标准也有所不同。 在IT行业,软件产品研发超出计划时间或成本的情况非常普遍,但是如果最终项目得以技术实现,而且被客户接受,也算成功。 不过,企业还是应该根据自己的实际情况制定有利于企业发展的项目成败标准,比如项目延期不超过20%进度算达标这样的指标。 以下从项目目标、项目计划、项目监控、项目沟通等几个方面总结获得软件研发项目成功的6个关键要素。 ![image.png](https://img-blog.csdnimg.cn/20200602152214764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aH...阅读全文

【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池)

> 大数据 > druid > 【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池) 【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池) druid wangting 2年前 (2018-08-07) 1430次浏览 1个评论 Druid.io(以下简称Druid)是2013年底开源出来的, 主要解决的是对实时数据以及较近时间的历史数据的多维查询提供高并发(多用户),低延时,高可靠性的问题。 Druid简介: Druid是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级以内对十亿行级别的表进行任意的探索分析。 互联网技术的快...阅读全文

博文 2020-05-15 10:29:00 程序员灯塔

工作效率低?这个锅远程办公不背

疫情仍在继续,每个人为这个社会做贡献的方式,除了做好防控和不必要的恐慌外,我们更应该做好本职工作,以确保社会经济的正常运转,要做到“各司其职”。 从2月3号开始,越来越多企业选择了远程办公模式。但因为沟通不畅所带来的信息不对称、效率低下,内耗等问题,对管理者和员工都是不小的考验。 远程办公三大疑问:如何远程办公?如何高效远程办公?如何高效协同他人一起远程办公? 别急,这就为大家一个个来解答。 一、如何远程办公? 据阿里统计,2月3日,全国上千万企业、近2亿人开启在家办公模式。要进行远程办公,当然最基础的条件是得有互联网,4G网络、光纤宽带均可,配上一台电脑,我们一起做整条街最靓的仔。 虽然隔着网线无法获知屏幕那端真实的办公情况,但节后复工且远程介入,最切忌将家庭舒适、慵懒、休闲的气息传递至工...阅读全文

博文 2020-02-24 05:18:26 CORNERSTONE

TCP/IP, WebSocket 和 MQTT - 张善友

按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP和MQTT是应用层的协议。在这三者之间, TCP是HTTP和MQTT底层的协议。大家对HTTP很熟悉,这里简要介绍下MQTT。MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器的通信协议。 HTTP的不足 HTTP协议经过多年的使用,发现了一些不足,主要是性能方面的,包括: HTTP的连接问题,HTTP客户端和服务器之间的交互是采用请求/应答模式,在客户端请求时,会建立一个HTTP连接,然后发送请求消息,服务端给出应答消息,然后连接就关...阅读全文

博文 2021-08-26 07:15:41 博客园

为什么大公司都开始用SaaS了?

SaaS应用程序的核心指导原则之一,是通过应用程序的共享多租户体系结构为尽可能多的客户提供服务。 用户之所以能从这个共享模式中受益,是因为软件供应商能够利用规模经济,借助广泛的功能和工作流程、高水平的安全性和服务的可用性来传递价值。 这在以前只有“财富500强”公司才能做到。 不过,这种基于云的现成软件解决方案的民主化,它的另一面是,在谈及根据自身实际需求定制解决方案时,企业必须权衡一定程度的灵活性。 在SaaS之前,公司采用的其中一个传统方法是购买现成的本地解决方案,然后外包给承包商定制及实现。 另一种方法是在公司内部构建你所需的软件,这对预算较高的大公司来说完全负担得起。 这两种方法使企业能够对IT解决方案进行更高程度的定制,但都存在令人头痛的问题,包括营运费用的维护,以及他们雄心勃勃的...阅读全文

新基建浪潮下,建筑企业必须升级这些能力

2020年以来,跟新基建相关的政策就接踵而来。 前不久的全国两会上,政府工作报告首次提出了新基建的概念,以5G、工业互联网和人工智能为核心的新基建成为最为关注的热点。 新基建风口下,给建筑企业带来了哪些机遇和挑战?在新形势下,项目管理软件又能为建筑行业带来哪些积极影响?CORNERSTONE给出了解答。 当前,我国建筑业高污染、高能耗、低效率问题依然严重。建筑企业落后的生产方式,粗放式的管理水平已经远远不能满足日益发展的需求。 作为国民经济的支柱性产业,建筑业数字化转型升级,实现节能减排,降本增效迫在眉睫。 新基建已正式站上风口,CORNERSTONE认为,建筑企业该从以下方面升级自己的生产方式,抓住机遇。 升级四项能力,构建高效数字化生产方式 建筑企业应借助数字化改善生产力和生产关系,重新...阅读全文

淘宝分布式NOSQL框架:Tair - 如果的事

Tair 分布式K-V存储方案 tair 是淘宝的一个开源项目,它是一个分布式的key/value结构数据的解决方案。 作为一个分布式系统,Tair由一个中心控制节点(config server)和一系列的服务节点(data server)组成, config server 负责管理所有的data server,并维护data server的状态信息;为了保证高可用(High Available),config server可通过hearbeat 以一主一备形式提供服务; data server 对外提供各种数据服务,并以心跳的形式将自身状况汇报给config server;所有的 data server 地位都是等价的。 tair集群的基本概念: configID,唯一标识一个tair集群...阅读全文

博文 2020-11-02 06:38:49 博客园

JS异步编程之Promise详解和使用总结

前言 Javascript异步编程可以算是JS的难点之一。下面就异步编程方法之一的Promise进行详细介绍和总结。但说到Promise之前,我会简单提一下什么是JS异步和回调函数。 JS异步 JS异步是指在进行某些需要耗时不会立即返回结果的操作时,不会阻塞后面的操作,一旦该耗时的操作完成时,则会通知需要调用其结果的函数来做后续处理。这是一种异步非阻塞的操作,也就是说任务的排列顺序和执行任务是不一致的。 回调函数 和同步操作不同,异步操作即不会立即返回结果的操作(如发起网络请求,下载文件,操作数据库等)。如果我们后续的函数需要之前返回的结果,又怎样使之前的异步操作在其完成时通知到后续函数来执行呢? 通常,我们可以将这个函数先定义,存储在内存中,将其当做参数传入之前的异步操作函数中,等异步操作...阅读全文

博文 2021-08-29 03:14:21 juejin.cn

MQTT比TCP协议好在哪儿?

登录后你可以不限量看优质回答私信答主深度交流精彩内容一键收藏登录查看全部 24 个回答程序员cxuan​微信搜:程序员cxuan,个人微信 lx252279279374 人赞同了该回答哈哈哈,终于找到一篇 MQTT 协议的问题了,我写过一篇关于 MQTT 基础文章,相信你看完之后就会对 MQTT 有详细的认识了。之前有位读者给我留言说想要了解一下什么是 MQTT 协议,顺便还把我夸了一把,有点不好意思啦。那么读者的要求必须要满足啊,所以现在 @一下这位小姐姐,来听课啦!什么是 MQTT 协议MQTT 协议的全称是 Message Queuing Telemetry Transport,翻译为消息队列传输探测,它是 ISO 标准下的一种基于发布 - 订阅模式的消息协议,它是基于 TCP/IP ...阅读全文

博文 2021-08-26 06:41:19 知乎

如何选择合适的小型项目管理工具?

小型项目通常是指工作量在三人至十几人之间的项目,这类项目一般是放任自流,少有管理,通常具有投资少、人员少、时间紧、需求不明确等特点。 如借助小型项目管理工具,可以节省大量时间和避免资源浪费,提高项目效率。 下面介绍小型项目团队常遇到的问题,以及项目管理工具是如何有效协助解决这些问题的,与大家一起分享交流。 因资源有限,小型项目团队很少设有专职的项目经理控制项目进度,以至于规范的项目管理方法常常被忽视。 另一方面,由于小型项目直接沟通成本较低,过多的项目管理流程反而使得项目执行过程变得更繁琐。 也正因为这样,在项目管理过程中,小型项目团队大多数会遇到以下问题: 1、项目质量、进度跟不上 小型项目执行过程中,缺乏统一的项目工作流程,不知道先做什么再做什么,没有一一个详细的规划,往往等事情发生了才...阅读全文

博文 2020-07-16 07:43:02 CORNERSTONE

没有流程的项目管理,都是在做无用功!

没有任何一个项目能轻而易举的成功。但是你却可以努力去争取更大的成功率,靠的便是精心设计、并且行之有效的流程管理。 其实,只要项目的流程搞清晰了,项目进度管理就不再是难事。作为项目经理,首先要关注的就是以下十个关键的流程点。 1、项目定义 项目要开始了,先给项目来个定义吧。不管你如何并为何要进行描述,你要对你的项目进行书面定义,让相关方和项目组随时参考。 项目定义的价值在于,项目主管方和其他相关方传达了他们对项目的期待。清晰的项目定义包括以下方面:项目目标项目回报 对项目范围进行定义,列出所有预期的项目成果成本和时间预算目标重大困难和假设描述该项目对其他项目的依赖高风险、所需的新技术、项目中的重大问题将尽可能多的具体信息囊括在项目描述或章程中,并使其在相关方处获得认可,进而生效。 2、合同与采...阅读全文

Git恢复之前版本的两种方法reset、revert(图文详解)_游笑天涯

2019/7/27 修改更新 一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 二、背景知识 git的版本管理,及HEAD的理解 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么只有一条时间线,即只有一个分支,在Git里,这个分支叫主分支,即master分支。有一个HEAD指针指向当前分支(只有一个分支的情况下会指向master,而master是指向最新提交)。每个版本都会有自己的版本信息,如特有的版本号、版本名等。如下图,假设只有一个分支: 三、解决方法 方法一:git re...阅读全文

博文 2020-07-21 12:51:38 CSDN博客_git revert

Spring Boot 你不得不会的 spring.factories 配置

在 Spring Boot 项目中,怎样将 pom.xml 文件里面添加的依赖中的 bean 注册到 Spring Boot 项目的 Spring 容器中呢?你可能会首先想到使用 @ComponentScan 注解,遗憾的是 @ComponentScan 注解只能扫描 Spring Boot 项目包内的 bean 并注册到 Spring 容器中,项目依赖包中的 bean 不会被扫描和注册。此时,我们需要使用 @EnableAutoConfiguration 注解来注册项目依赖包中的 bean。而 spring.factories 文件,可用来记录项目包外需要注册的 bean 类名。使用 spring.factories 文件有什么好处呢?假如我们封装了一个插件,该插件提供给其他开发人员使用。...阅读全文

博文 2022-07-25 02:26:27 人人编程网

一口气说出 6种 @Transactional 注解失效场景_HollisChuang's Blog

引言 昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Transactional注解哪些场景下会失效,一时语塞致使面试失败。所以今天简单的和大家分享一下@Transactional相关的知识。 @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,不然你会发现@Transactional总是莫名其妙的就失效了。 一、事务 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。 编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例: 1try { 2 //TODO ...阅读全文

博文 2020-10-16 14:52:17 CSDN博客

为什么你的项目总是延期?

随着项目管理在企业中的广泛应用,它对于企业内部效率以及经济效益的提升扮演着越来越重要的角色。 有调查分析显示,使用软件辅助管理项目的企业中,项目可以顺利验收的比率是92.5%,而不使用软件管理的,项目成功率只有72.7%。 保质保量按时完成项目是每个项目管理者最基本的目标,但在实际项目开展工作中,类似以下情况导致工期延时的例子比比皆是。企业应该怎样做才能使项目如期按质按量完成? 小王是某小公司的项目经理,前段时间公司在筹备一个内部项目,项目正式实施后被公司任命为项目经理。 但使小王感到无奈的是:其他职能部门的经理虽然为该项目安排了时间和人手,但他们同时也忙于其他项目,而且部分经理有时需要使用同样的项目资源。 项目进度已经落后预期一个月,但还没有成型的单元完成,公司管理层对项目拖期问题很关注,...阅读全文

博文 2020-06-01 07:50:17 CORNERSTONE

linux下core dump【总结】 - Rabbit_Dale

1、前言 一直在从事linux下后台开发,经常与core文件打交道。还记得刚开始从事linux下开发时,程序突然崩溃了,也没有任何日志。我不知所措,同事叫我看看core,我却问什么是core,怎么看。同事鄙视的眼神,我依然在目。后来学会了从core文件中分析原因,通过gdb看出程序挂再哪里,分析前后的变量,找出问题的原因。当时就觉得很神奇,core文件是怎么产生的呢?难道系统会自动产生,可是我在自己的linux系统上面写个非法程序测试,并没有产生core问题?这又是怎么回事呢?今天在ngnix的源码时候,发现可以在程序中设置core dump,又是怎么回事呢?在公司发现生成的core文件都带有进程名称、进程ID、和时间,这又是怎么做到的呢?今天带着这些疑问来说说core文件是如何生成,如何配...阅读全文

博文 2020-12-03 07:16:21 博客园

【译】深入理解G1的GC日志(一)

本文翻译自:www.redhat.com/en/blog/col… 这篇文章将深入研究G1的日志和调优参数。为了在实际工作中对G1进行调优,作为开发者的你需要理解G1垃圾收集器的每个步骤,以及每个步骤在整个垃圾收集周期中的作用。为了方便读者学习,这篇文章将G1的日志参数分为等级递增的三块,这篇文章将会分别介绍每一部分参数的作用和调优时候使用的场景。 基础参数 - 在生产中使用G1收集器,必须使用这些参数 高级参数 - 随着应用的成熟或业务负载的增加,需要使用这些参数针对某些问题进行调优。 Debug参数 - 这些参数是用来解决特定的性能问题,如果某个问题在非生产环境中无法复现,才会在生产环境中使用这些参数排查问题。 基础参数 如果你要在生产环境中使用G1 GC,下面这些跟日志相关的参数是必备...阅读全文

博文 2020-07-31 06:28:03 掘金

UDP 单播、广播和多播 - Rimond_Jing

使用UDP协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,客户端根本不用管。 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。 通常我们讨论的udp的程序都是一对一的单播程序。本章将讨论一对多的服务:广播(broadcast)、多播(multicast)。对于广播,网络中的所有主机都会接收一份数据副本。对于多播,消息只是发送到一...阅读全文

博文 2021-08-26 04:06:01 博客园

关于 TCP/IP,运维必知必会的十个问题 - 云+社区

一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp 等等我们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传...阅读全文

博文 2021-08-26 04:07:25 腾讯云

虚拟IP技术 ip地址漂移技术 - myseries

1.虚拟IP 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address。事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是物理地址,IP地址是逻辑地址。 虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机。 虚拟IP一般用作达到HA(High Availability)的目的,比如让所有项目中数据库链接一项配置的都是这个虚IP,当主服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用服务器。 2.虚拟IP原理 ARP是地址解析协议,它的作用很简单,将一个IP地址转换为MAC地址,然后给传输层使用。 每台主机中都有一...阅读全文

安装加速:yarn install 国内加速,修改镜像源_yarn install --registry

为什么慢 执行 yarn 各种命令的时候,默认是去 npm/yarn 官方镜像源获取需要安装的具体软件信息 以下命令查看当前使用的镜像源 yarn config get registry 默认源地址在国外,从国内访问的速度肯定比较慢 如何修改镜像源 阿里旗下维护着一个完整的 npm 镜像源 https://registry.npm.taobao.org/ 同样适用于 yarn 1. 临时修改 yarn save 软件名 --registry https://registry.npm.taobao.org/ 2. 全局修改(推荐) yarn config set registry https://registry.npm.taobao.org/ 3. 检查 yarn config get re...阅读全文

博文 2024-02-25 11:43:41 CSDN博客

Elasticsearch的mapping设置:enabled, index, doc_values, store, _source到底是什么鬼?

0x00 背景介绍最近尝试用ES + Kibana来快速搭建一个全新的可视化平台,有机会仔细阅读了一下ES的文档,发现mapping里有很多设置选项,初次看时令人眼花缭乱,若设置不当,有可能浪费存储空间,也有可能导致无法使用Aggregations,故在此记录一下重点内容。如有错误,恳请点击这里提issue,我会及时改正。 本文参照的版本为 Elasticsearch 5.6 0x01 配置项速查这里列出了各个选项的名称、作用以及注意事项,仅供速查使用。详细解释请阅读下文。 配置项 作用 注意事项 默认值 index 是否加入倒排索引 关闭后无法对其进行搜索 字段仍会存储到_source和doc_values 字段可以被排序和聚合 开启 _source 存储post到ES的原始文档 会占用很...阅读全文

博文 2022-03-23 12:53:36 IdeaWand

抽象语法树为什么抽象 - 云+社区

从具体到抽象 Abstract Syntax Tree抽象语法树(通常被简写成AST)实际上只是一个解析树(parse tree)的一个精简版本。在编译器设计的语境中,"AST" 和 "语法树"(syntax tree)是可以互换的。什么是解析树呢?我们知道一棵解析树是包含代码所有语法信息的树型结构,它是代码的直接翻译。所以解析树,也被成为具象语法树(Concret Syntax Tree, 简称CST);而抽象语法树,忽略了一些解析树包含的一些语法信息,剥离掉一些不重要的细节,所以它看起并不像解析树那么事无巨细,这也是AST名字中抽象一词的由来。在继续下一步之前,我们先统一一下文中的概念表达形式,以便更好的理解内容解析树 = Parse Tree = CST 抽象语法树 = Syntax ...阅读全文

博文 2022-06-10 08:47:31 腾讯云

详解 & 0xff 的作用_Junieson的博客

首先我们要都知道, &表示按位与,只有两个位同时为1,才能得到1, 0x代表16进制数,0xff表示的数二进制1111 1111 占一个字节.和其进行&操作的数,最低8位,不会发生变化. 下面着重来说说&0xff都有哪些应用: 1. 只是为了取得低八位 通常配合移位操作符>>使用 例如:java socket通信中基于长度的成帧方法中,如果发送的信息长度小于65535字节,长度信息的字节 定义为两个字节长度。这时候将两个字节长的长度信息,以Big-Endian的方式写到内存中 out.write((message.length>>8)&0xff);//取高八位写入地址 out.write(message.length&0xff);//取低八位写入高地址中 例如,有个数字 0x1234,如果只...阅读全文

博文 2022-03-23 12:55:14 CSDN博客_0xff

如何看异常堆栈信息 - ismallboy

​ 接口在线上服务器出现异常的时候,我们第一时间就是去服务器看下log,检查log是否有异常堆栈信息,如果有异常堆栈信息的话,再结合api的access log,是非常容易找出问题所在的,所以我们要学会看异常堆栈信息。异常堆栈信息如何看呢?下面我们一起来看一下。 下面是一个简单的demo: package person.ismallboy.console; ​ import java.io.IOException; ​ public class TestEx { private void fun1() throws IOException { throw new IOException("level 1 exception"); } ​ private void fun2() throws ...阅读全文

博文 2022-03-23 12:54:29 博客园

ElasticSearch学习笔记之九 复杂数据类型和嵌套对象_灵动的艺术的博客

ElasticSearch学习笔记之九 复杂数据类型和嵌套对象 复杂数据类型空域数组域多层级对象内部对象的映射内部对象的索引内部对象数组 嵌套对象嵌套对象映射 复杂数据类型 除了前面说到的简单数据类型,Elasticsearch还支持JSON 的null ,数组,和对象. 空域 字段取值可以为空,当然,数组也可以为空。 然而,在 Lucene 中是不能存储 null 值的,所以我们认为存在 null 值的域为空域。 下面三种域被认为是空的,它们将不会被索引: "null_value": null, "empty_array": [], "array_with_null_value": [ null ] 数组域 很多时候,我们希望 tag 域 包含多个标签。我们可以以数组的形式索引标签: { ...阅读全文

博文 2022-10-02 13:22:46 CSDN博客

饿了么异地多活技术实现(一)总体介绍

饿了么技术团队花了1年多的时间,实现了业务的整体异地多活,能够灵活的在多个异地机房之间调度用户,实现了自由扩容和多机房容灾的目标。本文介绍这个项目的整体结构,还简要介绍实现多活的5大核心基础组件,为读者建立基本的概念模型,后续会有系列文章陆续介绍每个组件的实现细节。读者能够从中了解到做异地多活的大方向,为实现自己的异地多活,或者是容灾备份提供参考。背景:为什么要做异地多活?饿了么要做多活,是受业务发展的驱动,经过几年的高速发展,我们的业务已经扩大到单个数据中心撑不住了,主要机房已经不能再加机器,业务却不断的要求加扩容,所以我们需要一个方案能够把服务器部署到多个机房。另外一个更重要的原因是,整个机房级别的故障时有发生,每次都会带来严重的后果,我们需要在发生故障时,能够把一个机房的业务全部迁移到...阅读全文

博文 2022-12-27 09:33:04 知乎

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 思否

Java —— 运行时栈帧结构_凶残的程序员的博客

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 概述 栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构。它是虚拟机运行时数据区中的虚拟机栈的栈元素。 栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。 每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机里面从入栈到出栈的过程。 在编译程序代码的时候,栈帧中需要多大的局部变量表,多深的操作数栈都已经完全确定了。 因此一个栈帧需要分配多少内存,不会受到程序运行期变量数据的影响,而仅仅取决于具体的虚拟机实现。 在活动线程中,只有位于栈顶的栈帧才是有效的,称为当前栈帧,与这个栈帧相关联的方法称为当前方法。 局部变量表 我们在Java内存区域中在虚拟...阅读全文

博文 2022-03-23 12:54:48 CSDN博客_java 栈帧

Hbase split的三种方式和split的过程 - albeter

在Hbase中split是一个很重要的功能,Hbase是通过把数据分配到一定数量的region来达到负载均衡的。一个table会被分配到一个或多个region中,这些region会被分配到一个或者多个regionServer中。在自动split策略中,当一个region达到一定的大小就会自动split成两个region。table在region中是按照row key来排序的,并且一个row key所对应的行只会存储在一个region中,这一点保证了Hbase的强一致性 。 在一个region中有一个或多个stroe,每个stroe对应一个column families(列族)。一个store中包含一个memstore 和 0 或 多个store files。每个column family 是...阅读全文

博文 2023-09-21 11:48:41 博客园

使用 FFmpeg 生成 ts 切片并使用 AES-128 加密

前言 最近有个需求,需要将服务器视频资源进行加密提供给客户端播放,防止用户盗用视频。 常用的加密方式 m3u8切片加密(本文使用) 各种在线播放视频的网站广泛使用的技术,切片同样是使用AES加密算法。 优点:各种浏览器,手机,小程序都能兼容,通用性很好。 缺点:由于是公开的算法,还原也十分简单,有很多影音嗅探工具能直接下载还原,加密效果很弱,防小白可以,聊胜于无。 防翻录:无 文件流加密 采用异或或者AES等文件流加密方式,对文件数据进行处理。播放时动态解密相应的数据到内存再播放。 优点:加密和解密速度都很快。 缺点:必须使用专用的播放器才能解密,加密强度较弱,专业破解人员可写工具瞬间提取。 防翻录:通过播放器,APP实现 视频逐帧转码加密 加密强度最高但同时也是技术实现最麻烦的一种。软件需...阅读全文

博文 2023-12-04 10:48:37 掘金

使用opentelemetry 搭建新一代可视化分布式监控系统

使用opentelemetry 搭建新一代可视化分布式监控系统1、分布式监控系统介绍 随着SOA,微服务架构及PaaS,Devops等技术的兴起,线上问题的追踪和排查变得更加困难。对线上业务的可观测性得到了越来越多企业的重视,由此涌现出了许多优秀的链路追踪及服务监控中间件。比较流行的有Spring Cloud全家桶自带的Zipkin,点评的CAT, 华为的skywalking,Uber的Jaeger, naver的Pinpoint。 一个典型的应用,通常有三种类型的数据需要被监控系统记录:Metric, logs and traces。让我们先了解下它们都是什么。 Metrics 提供进行运行时的指标信息。比如CPU使用率,内存使用情况,GC情况,网站流量等。 Logging 可以监控程序进...阅读全文

博文 2023-10-16 10:46:17 简书

Seata 分布式事务 XA 与 AT 全面解析

Seata 分布式事务 XA 与 AT 全面解析 2021-04-23 FUNKYE Seata Seata 目录 1.XA模式是什么? 1.1什么是XA 1.2什么是Seata的事务模式? 2那么什么是Seata XA 模式? 2.1什么是Seata AT(TXC) 模式? 2.2AT 模式如何做到对业务的无侵入 ? AT模式一阶段 2.3 AT 模式如何保证隔离性 AT 模式二阶段提交 AT 模式二阶段回滚 3.为什么支持XA? 4.为什么Seata要支持XA模式? AT与XA的关系 Seata AT与XA的优劣 总结 Seata 是一款开源的分布式事务解决方案,star高达17300+,社区活跃度极高,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 注:本期分享借鉴于Sea...阅读全文

博文 2022-11-12 17:32:05 objcoding.com

云数据库 MongoDB 基于 CVM 连接 MongoDB 进行数据导入导出的方法-最佳实践-文档中心

通过云服务器 CVM 连接云数据库 MongoDB 可以进行数据导入和导出,请注意使用最新版本的 MongoDB 客户端套件,具体操作可参见 连接实例。注意local 数据库主要存储副本集的配置信息、oplog 等元数据;admin 数据库则主要存储用户、角色等信息。为了防止数据错乱、鉴权失败等现象发生,云数据库 MongoDB 禁止将 local 和 admin 数据库导入实例。导出导入命令MongoDB 官方提供了两套数据导入导出工具:mongodump 和 mongorestore mongoexport 和 mongoimportmongodump 和 mongorestore进行整库导出导入时,通常使用 mongodump 和 mongorestore,这一对组合操作的数据是 BS...阅读全文

博文 2023-01-13 02:35:29 腾讯云

【云原生】Grafana Alerting 告警模块介绍与实战操作 - 大数据老司机

目录一、概述二、Grafana Alerting 模块介绍三、配置图表四、告警告警规则五、配置告警通道(Contact points)1)Email1、配置smtp(grafana.ini)2、配置消息模板3、配置告警通道2)WebHook1、编写webhook api服务2、在grafana页面上配置3)Alertmanager 一、概述 在版本4.0+ grafana中增加了Alerting 告警模块,丰富了grafana功能,以前告警需要借助AlertManager,但是有grafana告警模块之后就可以不使用AlertManager告警了,但是grafana也支持对接AlertManager,所以还是非常方面,又可以省区一个组件的维护和资源开销。 下图概述了 Grafana 告警的工...阅读全文

博文 2023-09-13 14:50:40 博客园

npm install 包,提示安装成功,但是项目中没有出现node_modules也没有安装的包,package.json中也没有任何依赖包记录_npm install后npm ls找不到安装的包

npm install 包,没有报错,提示安装成功,但是项目中没有出现node_modules也没有安装的包,package.json中也没有任何依赖包记录 ——这种情况一般是包安装错了目录! 诡异:我的命令行显示的路径是在当前项目下的,也没有改过目录,并且npm都重新安装过了,为什么还会出现这种情况呢? 答案应该是装在了全局中:这个时候要先考虑npm的配置问题!可能只npm默认安装到全局中了! 解决步骤: 1. 查看npm的配置 npm config list 图例1: 2.查看全局下,是否有自己安装的包 npm root -g//获取到全局安装目录 图例2: 复制并打开到这个目录下,查看自己安装的包是否存在 -->可以看到,我们安装的包果然都到了全局目录下: 图例3: 3.修改npm配置...阅读全文

博文 2024-02-12 20:38:07 CSDN博客

Arthas热替换java的class文件_arthas 替换class_fengchengwu2012的博客

1、arthas操作class、classloader的常用命令 (1)classloader - 查看 classloader 的继承树,urls,类加载信息,使用 classloader 去 getResource (2)dump - dump 已加载类的 byte code 到特定目录 (3)jad - 反编译指定已加载类的源码 (4)mc - 内存编译器,内存编译.java文件为.class文件 (5)redefine - 加载外部的.class文件,redefine 到 JVM 里 (6)retransform - 加载外部的.class文件,retransform 到 JVM 里 (7)sc - 查看 JVM 已加载的类信息 (8)sm - 查看已加载类的方法信息 2、替换cal...阅读全文

博文 2023-09-13 16:28:49 CSDN博客

IDEA启动项目:java: java.lang.IllegalArgumentException_liangsheng_g的博客

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、现象二、解决方法1.问题进一步描述2. 解决方法 总结 一、现象 IDEA启动springboot项目,提示java: java.lang.IllegalArgumentException,没有多余的信息,百度之后都是让修改idea的Java compiler,但是我全都设置的Java8,所以没头绪。 二、解决方法 1.问题进一步描述 谷歌搜了一下,发现Jetbrains的官网有人提这个问题,大致浏览了下,描述和我的问题一致。再看描述产生这个问题的条件:简单描述下,就是IDEA 2020.3版本会复现这个问题,如果升级到2020.4就没有该问题,而且后面的添加提问是说2020.3.1.RC版本也会有这个问题。 链...阅读全文

博文 2023-01-11 11:00:43 CSDN博客

netty库包冲突问题_51CTO博客_netty版本冲突

java的项目环境 javaweb项目环境配置 JavaWeb系统开发环境配置开发环境的配置是学习一门技术的首要任务,下面是我对JavaWeb系统开发环境配置的过程进行了记录,希望能对你我有益。目录配置JDK环境配置Tomcat输出第一个网站内容一、配置JDK环境直接在百度中搜索JDK,在官网中下载你所需要的JDK到本地,接着点击安装后就需要在自己的电脑中配置系统环境了,具体步骤是:打开你的电脑查看属性,找到高级系统设置打开环境变量配置。开始环 java的项目环境 java jdk web服务器 JAV...阅读全文

博文 2023-06-29 02:16:50 blog.51cto.com

grafana登录失败无法从cookie中获取用户信息_grafana error while signing in user_独步秋风的博客

背景 grafana从版本6.3升级到7.2.1,通过chrome浏览器无法登录,需要清除浏览器缓存会话才可以正常登录,这样用户体验并不好,不可能使得所有用户都要在登录前都清除一下浏览器缓存会话。 chrome 版本信息 Google Chrome86.0.4240.198 (正式版本) (64 位) (cohort: Stable)修订版本d8a506935fc2273cfbac5e5b629d74917d9119c7-refs/branch-heads/4240@{#1431}操作系统Windows 10 OS Version 1909 (Build 18363.1198)JavaScriptV8 8.6.395.25Flash32.0.0.453 服务端报错信息 t=2020-11-2...阅读全文

博文 2023-09-06 09:03:16 CSDN博客