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

算法之时间复杂度简析

算法之时间复杂度简析 前言 最近准备对算法进行一些系统的总结和学习,不积跬步无以至千里,不积小流无以成江海.此文主要对时间复杂度进行简单梳理和个人总结,本人才疏学浅,有所疏漏在所难免,如有不当和错误之处,欢迎指正 时间复杂度的定义(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

golang实现简易TCP服务以及TCP和UDP协议对比

引言 ECHO(Echo Protocol,回绕协议,应答协议,如linux中的echo命令),用于查错及测量应答时间(运行在TCP和UDP协议上)本文示例为echo协议,服务器只需把收到的客户端的请求数据发给这个客户端即可,其它什么功能都不做。 tcp/ip是一个协议簇(族),TCP(传输控制协议)和IP(网际协议)是此协议簇的核心。七层OSI模型中,tcp/udp在传输层,而ip在网络层。 OSI七层协议由上到下分别是:应用层(http,https),表示层(简单地说不同计算机通信会话进行表示转化,使系统能够识别,把数据转换为能与接收者的系统格式兼容并适合传输的格式。),会话层(设置和维护电脑之间通信连接,ssh),传输层(TCP/UDP),网络层(网际协议IP),数据链路层(表头和表尾...阅读全文

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

如何查看一个运行容器的docker run启动参数_深海微澜

场景:如何查看一个运行docker 容器的docker run启动参数,假设没有使用docker-compose这样的编排工具。现在我如何进行重启,如何找回此前的启动命令? 方法1:runlike参考 参考 用法:runlike -p将命令行分解为行 安装: pip install runlike 如果想不安装,执行命令(注:assaflavie/runlike实际上是一个docker image): docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike YOUR-CONTAINER 方法2:rekcod 参考 安装: rpm: yum install ...阅读全文

博文 2020-11-22 14:25:11 CSDN博客_查看docker启动参数

WebSocket与http长连接的区别 - 我只是个前端AI

前言 事先说明这是鄙人看了一点入门文章总结的粗浅的知识, 并不保证理解完全正确,用来给自己知识梳理用。 websocket连接过程概述 WebSocket 建立连接需要先通过一个 http 请求进行和服务端握手。握手通过后连接就建立并保持了。浏览器先发送请求: GET / HTTP/1.1 Host: localhost:8080 Origin: [url=http://127.0.0.1:3000]http://127.0.0.1:3000[/url] Connection: Upgrade Upgrade: WebSocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: w4v7O6xFTi36lq3RNcgctw== 服务端返回一个请求: ...阅读全文

博文 2019-05-07 09:45:13 SegmentFault 思否

TCP、UDP数据包大小的限制_灿哥哥的博客

1、概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}} 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。 在应用程序中我们用到的Data的长度最大是多少,直接取决于底层的限制。 我们从下到上分析一下: 1.在链路层,由以太网的物理特性决定了数据帧的长度为(46+18)-(1500+...阅读全文

博文 2020-07-01 02:20:08 CSDN博客_udp包最大长度

如何有效提高团队成员的工作效率

当整个团队总是抱怨完成目标的时间太紧张,无法完成。其实这个时候,更多的可能是我们的团队的工作效率出现了问题。 一、正确认识成员的实际工作效率 什么是工作效率? 工作效率指的是单位时间内完成的工作量。 那么你给员工安排的时候,有没有真正具体的去考虑过:“单位时间内完成的工作量”这件事呢? 我想大部分的管理者是没有的。那么,这就是问题的所在了。 往往我们安排一项工作给某个员工,只是站在了整个项目的实际需要应该的时间角度。 例如:整个项目需要在2天内(16个小时)完成,总共有ABC三项工作要让某个同事完成,完成A工作的时间安排是8小时,B工作的时间安排是3小时,那么C工作的时间安排自然是5小时了。 OK,假设A,B两个工作都是这个同事的专业能力,他是可以按时...阅读全文

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

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

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

如何运用项目管理思维制定工作计划?

我们都知道,项目管理的过程包括了启动、计划、执行、监控、收尾五个阶段;那么同样的,我们也可以把工作计划当做一个项目来进行管理。 工作计划的启动阶段,要想清楚想做什么、怎么做等这些问题,这个时候建议大家使用5W2H原则,以思维导图的形式将5个W和2个H写出来,每个部分都要做到心中有数,这样无论是个人计划还是工作计划都能做得清晰明了。 ![image.png](https://img-blog.csdnimg.cn/20191127170212424.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_...阅读全文

博文 2019-11-28 09:22:41 CORNERSTONE

TCP UDP包大小分析

1.关于MTU MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64Bytes最大不能超过1518Bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。 由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的MAC地址48bits=6Bytes + SMAC源MAC地址48bits=6Bytes + Type域2Bytes)14Bytes和帧尾CRC校验部分4Bytes那么剩下承载上层协议的地方也就是Data域最大就只能有1500Byte...阅读全文

硬核图解|tcp为何会粘包?背后的缘由让人暖心

事情从一个健身教练提及吧。程序员 李东,自称亚健康终结者,尝试使用互联网+的模式拓展本身的业务。在某款新开发的聊天软件琛琛上发布广告。golang 键盘说来就来。疯狂发送"李东",回车发送!,"亚健康终结者",再回车发送!面试 还记得四层网络协议长什么样子吗?算法 四层网络模型每层各司其职,消息在进入每一层时都会多加一个报头,每多一个报头能够理解为数据报多戴一顶帽子。这个报头上面记录着消息从哪来,到哪去,以及消息多长等信息。好比,mac头部记录的是硬件的惟一地址,IP头记录的是从哪来和到哪去,传输层头记录到是到达目的主机后具体去哪一个进程。网络 在从消息发到网络的时候给消息带上报头,消息和纷繁复杂的网络中经过这些信息在路由器间流转,最后到达目的机器上,接受者再经过这些报头,一步一步还原出发送...阅读全文

博文 2021-08-27 09:28:59 尚码园

一分钟让你学会PDCA循环项目管理模式

某家婴儿车公司的CEO接到了一个严重的产品质量问题投诉,句句在理,针针见血。CEO非常重视,紧急召开高阶主管会议,研究对策。讨论几小时后,各部门都有不少改进的提议,执行长也提出很多要求。最后执行长说:「不看广告看疗效,大家要立刻行动起来。散会。」 CEO对大家的态度都很满意。直到有一天,他问负责产品的副总裁:「上次开会时,我让你派人去德国考察一下他们的质量管理体系,你们去了吗?感觉怎么样?」 副总裁说:「啊?我正在忙质量改进的事,还没空想这件事,真要去考察啊?」 这么重要的事情,副总裁居然没放在心上。为什么会这样?是因为副总裁笨吗?是因为他缺乏执行力吗?都不是。因为这家公司缺少一种叫作「PDCA循环」的管理文化。 ![image.png](https://img-blog.csdnimg.c...阅读全文

博文 2020-04-27 07:28:25 CORNERSTONE

视屏面试传输协议到底是TCP还是UDP - 云+社区

背景 又是一年一度的秋季校招开始了,以往的校招各个公司都会在公司现场或者学校现场安排学生进行现场面试?但是今年由于疫情的原因,不允许让同学在现场进行一个面试,所以今年的面试形式就从线下转到了线上,面试形式的转变,但是我们考核学生的方式依旧没有转变。校招的同学和社招的同学有很大的不同,他们没有丰富的工作经验,没有太多的项目经历,那么我们如何去衡量一个校招的同学呢?那就是基础和潜力,怎么去理解基础呢?俗话说不积跬步,无以至千里,不积小流,无以成江海,如果没有一个好的基础那么怎么才能成为一个优秀的工程师呢。如何去考察一个学生基础的好坏呢?我觉得有三个方面比较重要,计算机网络,操作系统以及算法和数据结构,通常来说计网考察得特别多,常见的一些问题:网络模型分层TCP和UDP的区别TCP三次握手和四次挥...阅读全文

博文 2020-09-06 14:36:06 腾讯云

如何做好项目管理,避免“计划”和“执行”两张皮?

“凡事预则立,不预则废”,对于计划的重要性,古人早有名言。然而,现代生活压力过大,很多人忽略了计划的重要性,总以“计划永远赶不上变化”、“人生总是充满意外”等等借口来搪塞自己,认为“船到前头自然直”,做任何事情从不制定计划,糊里糊涂,想做就做,事情自然难以取得成功。 好的计划是成功的一半。任何事情,要取得成功,离不开一个科学合理的计划。在项目管理领域中,项目计划同样扮演者非常重要的角色。好的项目计划是项目实施的前提,贯穿整个项目活动,它能够帮助项目经理理清整个项目的脉络,确定项目实施成功所需要的步骤以及每个步骤的先后顺序,合理安排好人力、物力和财力,确保项目有条不紊地执行,并取得预期的目标。 何谓好的项目计划呢?关键在于制定的计划要科学合理。首先,不要为了计划而计划。项目计划的制定主要用于指...阅读全文

Linux系统中切换用户身份su与sudo的用法与实例_斑马Linux的技术博客_51CTO博客

日常操作中为了避免一些误操作,更加安全的管理系统,通常使用的用户身份都为普通用户,而非root。当需要执行一些管理员命令操作时,再切换成root用户身份去执行。普通用户切换到root用户的方式有:su和sudo。1,su -(su为switch user,即切换用户的简写)格式:su -l USERNAME(-l为login,即登陆的简写)-l可以将l省略掉,所以此命令常写为su - USERNAME如果不指定USERNAME(用户名),默认即为root,所以切换到root的身份的命令即为:su -root或是直接 su - 实例1:普通用户user1知道root账户登录密码,要求用户user1在不注销登录的前提下查看/etc/shadow文件。如下图,试图查看文件/etc/shadow时,...阅读全文

博文 2022-04-07 06:59:20 blog.51cto.com

JVM中的[Ljava.lang.Object; 究竟是什么意思? - 云+社区

你是不是经常看到控制台输出如题的日志,而似懂非懂的。今天我们就来介绍下这些L啦究竟是些什么东东。比如说我们经常看到这样的日志:[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;先来简单的说一下, "["表示数组,后面跟着的是具体的类型。这里我们再给出一个典型的例子来看看:(IDLjava/lang/Thread;)Ljava/lang/Object;这就是表示一个方法,方法有三个参数,类型分别为I,D,L。返回值类型为L。然后L类型要跟具体的类型,然后以"/"替换包名的".",L类型的要以“;”分号结尾。使用javap查看上代码,我们新建一个S类,然后通过javap就可以看到具体的类型了:package com.importso...阅读全文

博文 2022-06-09 08:04:41 腾讯云

Flink 助力美团数仓增量生产

一、美团数仓架构图如上图,是美团最新的数仓架构图。整个架构图分为三层,从下往上看,最下面一层是数据安全,包括受限域认证系统、加工层权限系统,应用层权限系统,安全审计系统,来保证最上层数据集成与处理的安全;中间一层是统一的元数据中心和全链路血缘,覆盖了全链路的加工过程;最上层根据数据的流向,分成数据集成,数据处理,数据消费,数据应用,四个阶段;在数据集成阶段,对于不同的数据来源(包括用户行为数据,日志数据,DB 数据,文件数据),都有相对应的数据集成系统,把数据收集到统一的存储之中,包括 Kafka 和 Hive 等。在数据处理阶段,有一个面向用户的数据开发平台(万象平台),可以使用两条数据处理链路来加工数据,一个是流式处理链路,一个是离线处理链路。数据加工好了之后,使用内部自研的 Delta...阅读全文

博文 2022-03-23 12:52:23 知乎

Nginx的HTTP模块与Stream模块:区别与应用场景

本文分享自天翼云开发者社区《Nginx的HTTP模块与Stream模块:区别与应用场景》,作者:云海Nginx是一个多功能的开源Web服务器,它支持多个模块,其中两个重要的模块是HTTP模块和Stream模块。这两个模块在不同的网络场景中有各自的用途,本文将深入研究它们之间的区别以及何时应该使用哪一个。HTTP模块和Stream模块的区别工作原理HTTP模块:HTTP模块主要用于处理HTTP和HTTPS流量。它可以接收HTTP请求、代理HTTP请求到后端服务器、负载均衡、缓存和处理HTTPS加密等。HTTP模块是Nginx最常用的模块之一,通常用于构建Web服务器或反向代理服务器。Stream模块:Stream模块用于处理通用TCP和UDP流量。它允许Nginx在传输层(TCP/UDP)上进...阅读全文

博文 2023-09-25 17:20:40 Tianyiyun

WPF框架系列课程(小白进阶选择)

WPF框架系列课程(小白进阶选择) 参考资料下载地址1:https://pan.baidu.com/s/1RzeBXGIRPbsAJcScF8xvVQ 提取码:rbp8 参考资料下载地址2:https://share.weiyun.com/VAU3sFU2 密码:9cqtcj 本文将从零基础开始讲解WPF控件、数据绑定、模板样式、资源字典、命令系统、依赖属性、路由事件、动画行为等一系列的知识,内容包含WPF的数据绑定、MVVM概念与实操、样式、模板、命令、依赖属性、路由事件、行为、自定义控件、3D、动画等高级知识,想学习wpf的小伙伴可以认真阅读本文,希望我的文章对大家有所帮助。 首先,我们先来认识wpf,那么什么是wpf呢? WPF(Windows Presentation Foundat...阅读全文

博文 2023-11-30 10:39:44 kaidnxhd2023

既然操作系统层已经提供了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 知乎

QUIC协议在天翼云CDN全站加速产品中的应用

本文分享自天翼云开发者社区《QUIC协议在天翼云CDN全站加速产品中的应用》,作者:郭****迎1、什么是QUIC协议QUIC全称:Quick UDP Internet Connections,是一种实验性传输层网络协议,提供与TLS/SSL相当的安全性,同时具有更低的连接和传输延迟。QUIC目前的主要应用于http协议,基于QUIC的HTTP/3协议(RFC9114),除了拥有HTTP/2的各项优点,同时由于QUIC的特性,在弱网环境下拥有更强大的性能优势。QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。QUIC的主要优势如下:1)握手建连更快QUIC建连时间大约0~1 RTT,在两方面做了优化:传输层使用了UDP,...阅读全文

博文 2023-05-16 02:37:14 Tianyiyun

云电脑架构设计的层次

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m一、基础设施层基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。二、虚拟化层虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚拟化层还...阅读全文

Palworld幻兽帕鲁世界参数修改最佳实践(Ubuntu)

本文为您介绍对Palworld游戏世界参数进行修改的最佳实践。操作场景本文以Ubuntu操作系统为例,为您介绍通过Palworld专有镜像一键部署Palworld服务器后对游戏世界参数进行修改的具体操作。操作步骤1.登陆root用户。在云主机控制台点击云主机列表中“远程登录”按钮,登录云主机。输入root后回车,再输入创建时使用的密码,即可进入root用户。2.执行命令 su - steam。3.执行命令 cd /home/steam/.steam/SteamApps/common/PalServer,进入该目录下。4.执行命令 cp DefaultPalWorldSettings.ini Pal/Saved/Config/LinuxServer/PalWorldSettings.ini。5...阅读全文

博文 2024-02-05 15:06:16 Tianyiyun

npm install XXX 、package.json 中的bin、node_moduels 下.bin目录三者关系_node_modules bin 文件怎么创建

官方链接 npm install xxx会在node_modules下安装对应的依赖,如果安装的依赖下面的package.json目录里面有bin配置, 比如cross-env 那么就会在node_modules目录下的.bin目录生成对应的脚本文件 所以我们可以在package.json中的scripts中使用对应的脚本。 官方翻译 bin 许多软件包都有一个或多个可执行文件,他们希望将它们安装到 PATH 中。npm 使这非常容易(事实上,它使用此功能来安装“npm”可执行文件。) 要使用它,bin请在 package.json 中提供一个字段,该字段是命令名称到本地文件名的映射。安装时,npm 会将该文件符号链接到 prefix/bin全局安装或./node_modules/.bin/...阅读全文

博文 2024-02-12 20:37:02 CSDN博客

云上新“引擎”,天翼云电脑打造云上办公新体验!

3月22日,由通信世界全媒体主办的云上新“引擎”——云电脑创新发展沙龙圆满举行,会议邀请众多产业链代表,聚焦产业发展,共话云电脑新未来。天翼云科技有限公司端云平台事业部副总经理许少泽参加会议,分享了天翼云电脑在打造云上办公新体验方面的技术突破及实践应用。​随着云网融合不断深入,云电脑在提供高效计算和存储能力的同时,更为千行百业带来了前所未有的灵活性、可扩展性和创新力。作为推动数字化变革的重要引擎,天翼云电脑具备流畅便捷、安全可靠、灵活配置、集中管控等优势,可实现安全与协作的深度融合,助力用户构建智慧办公新模式。在安全保障方面,天翼云电脑核心技术自主可控,构筑了从本地到云端的全链路安全防护体系。产品终端接入层采用了双因子认证和零信任接入机制,只有被认证、安全的账号和终端才可登录;在传输层,除了...阅读全文

博文 2024-04-08 15:08:10 Tianyiyun

云电脑架构设计的层次1

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m一、基础设施层基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。二、虚拟化层虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚拟化层还...阅读全文

云电脑架构设计的层次2

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m 一、基础设施层 基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。 二、虚拟化层 虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚...阅读全文