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

MapReduce 数据倾斜原因和解决方案_一次次尝试

MapReduce简介 MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义: 1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。 2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。 3)MapReduce是一...阅读全文

博文 2021-02-22 04:44:09 CSDN博客_mapreduce数据倾斜原因

一文探讨堆外内存的监控与回收 | 徐靖峰

引子记得那是一个风和日丽的周末,太阳红彤彤,花儿五颜六色,96 年的普哥微信找到我,描述了一个诡异的线上问题:线上程序使用了 NIO FileChannel 的 堆内内存(HeapByteBuffer)作为缓冲区,读写文件,逻辑可以说相当简单,但根据监控,却发现堆外内存(DirectByteBuffer)飙升,导致了 OutOfMemeory 的异常。 由这个线上问题,引出了这篇文章的主题,主要包括:FileChannel 源码分析,堆外内存监控,堆外内存回收。 问题分析 & 源码分析根据异常日志的定位,发现的确使用的是 HeapByteBuffer 来进行读写,但却导致堆外内存飙升,随即翻了 FileChannel 的源码,来一探究竟。 FileChannel 使用的是 IOUtil 进行...阅读全文

博文 2020-04-22 10:55:31 个人博客

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

排序算法(六)

前言我们在上篇文章 排序算法(五)-双调排序 介绍了双调排序,今天我们来看一下另一种排序算法 —— TimSort。TimSort是Tim Peters发明的一种混合排序,最早是Python语言的内置排序算法。关于Python内置的TimSort描述可以查看该 文档。关于TimSort的理论基础,可以查看该篇论文 Optimistic Sorting and Information Theoretic Complexity,这篇论文论证了插入排序和归并排序合并后效率提高的可能性,即TimSort的理论基础。Java自Java 7 后加入TimSort,其实现参考了Python版本的实现,我们可以在JDK源码的util包下找到它,java.util.TimSort,这个class不是publi...阅读全文

博文 2021-08-18 12:35:11 TimSort | SakuraTears的博客

MGW——美团点评高性能四层负载均衡

本文整理自美团点评技术沙龙第14期:美团背后的故事-你不知道的美团云。美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其他互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。目前沙龙会分别在北京、上海和厦门等地举行,要参加下一次最新沙龙活动?赶快关注微信公众号“美团点评技术团队”。本期沙龙包括三场讲座:美团云Docker平台、美团云对象存储系统、美团四层负载均衡网关MGW。其他几场讲座的图文实录会陆续发表,请继续关注。在高速发展的移动互联网时代,负载均衡有着举足轻重的地位,它是应用流量的入口,对应用的可靠性和性能起着决定性的作用,因此负载均衡需要满足高性能、高可靠两个特点。MGW是美团点评自研的一款四层负载均衡,主要用于替代原有环境的四层负载均衡LVS,目...阅读全文

博文 2021-09-08 03:33:51 美团技术团队

CORNERSTONE对话腾讯&华为敏捷专家

由[CORNERSTONE](https://www.cornerstone365.cn/)主办的“深圳敏捷狂欢大会”圆满落幕。此次活动集齐了敏捷领域的大咖与近百位敏捷研发爱好者到场,会上大家通过提问互动与敏捷大咖产生了精彩的思想碰撞,大家就敏捷开发如何落地及技术人员如何转型晋升这两个话题做了深度探讨. 以下为敏捷专家薛军和李林在敏捷狂欢大会上的演讲分享 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190912112612848.png) 为什么腾讯产品最好 2017年5月份,网上有一份关于移动APP月活跃度的排名数据,在这份排行榜中,前十四名里,腾讯的产品就占了七款。 这个耀眼的数据足以说明,腾讯的产品是有多受欢迎。 腾讯的产品为什么会那么好呢?其...阅读全文

博文 2019-09-12 10:44:16 CORNERSTONE

Hadoop中的Mapper和Reducer数量设定

在对Mapper调优的过程中,一个经验法则是: map任务最好拥有一分钟以上的运行时间。 因为如果任务运行时间过短,将导致在整个作业的执行过程中任务启动所花费的时间过大,从而降低了实际的任务执行效率。 对map任务的运行时间影响最大的是Mapper的个数,不过与Reducer不同,Mapper的个数是无法显示指定的。 调节Mapper数量的一种方式是设置参数mapred.jobtracker.maxtasks.per.job, 但其只能限制每个job中并发运行的map或reduce任务的上限,而当实际运行的map数低于该上限时,该参数将失效。 如果想要对Mapper个数进行更加直接有效的控制,需要指定输入数据的分片大小。 输入分片(input split)是MapReduce框架为使map任...阅读全文

博文 2020-08-31 02:33:58 Summer is Green

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

idea编译项目很慢

如果你正在使用 IntelliJ IDEA 编译 Java 项目,遇到编译速度缓慢的问题,以下是一些可能的原因和解决方法: 内存不足:检查你的电脑内存是否足够支持 IDEA 运行,并确保为 IDEA 分配了足够的内存。你可以编辑 IntelliJ IDEA 安装目录下的 bin 目录下的 idea64.exe.vmoptions 文件,将-Xms和-Xmx参数值增加一些。 插件过多:禁用不必要的插件,因为一些插件可能会导致 IDEA 编译速度变慢。 外部依赖库:检查你的项目是否引用了大量的外部依赖库,如果是,建议尝试减少依赖库的数量或者更换为较小的依赖库。 编译设置:检查你的编译设置是否正确。例如,你可以在“File” -> “Settings” -> “Build, Execution, ...阅读全文

关于mysql中的int(N)、char(N)和varchar(N)类型的简单说明_ivnetware的博客

在使用mysql时,int、char和varcahr这几种类型是比较常用的。在大学时有学过数据库,对于int(N)、char(N)和varchar(N)中的N一直了解的不是较透彻,前段时间在网上查了很多资料,现在整理下。 1、int(N) int(N) ,N 表示最大显示宽度(字段设置zerofill属性时可查看区别),不指定N时,默认为11。N 的值跟 int(N) 所占多少存储空间或最大能存储多大长度数据并无任何关系。也就是说 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。 1)创建测试表tb1,字段id1显示宽度为3,id2的显示宽度为5 mysql> create table tb1 (id1 int(3),id2 int(5)); Quer...阅读全文

博文 2020-11-11 10:36:18 CSDN博客

资源又不足?项目资源该如何有效管理?

项目管理过程中常常面对很多挑战,资源管理是项目经理日常烦心事之一。 项目资源过剩会给企业带来浪费,资源过少又会影响项目目标的达成。 另外,项目资源在不同的组织间分配不平衡或者在时间上分配不平衡也会对项目造成不利的影响。 因此,项目资源的管理不仅仅只是简单的资源使用记录,而是应该贯穿项目从计划到后期的整个过程。 项目资源的合理分配和使用可以有效地推动项目成功,需要相关人员互相配合、互相监督。但由于项目具有不确定性和复杂性,项目资源管理亦有不少难度。 所以,企业应该借助合适的项目管理工具开展管理活动,以便全面掌控项目资源的情况和资源的状态,让资源分配更高效、资源管理更便捷。 本文将以CORNERSTONE项目管理工具为例,向你展示如何用做好资源管理: 一、分析资源情况 首先,资源管理要在项目规划...阅读全文

博文 2020-07-31 06:42:35 CORNERSTONE

Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势?

登录一下,更多精彩内容等你发现贡献精彩回答,参与评论互动登录查看全部 25 个回答学徒programmer70 人赞同了该回答在探讨这个问题之前,关于网络中的Bufferbloat问题需要了解,详细信息在这里(https://www.bufferbloat.net/projects/bloat/wiki/Introduction/),@李博杰 的回答也说得比较清楚了。在这里做一些补充吧。流量控制分为两部分:* 接收方的流量控制(即滑动窗口)-- 由接收方告知,只关注自身缓存情况,不关注网络,这里不讨论。* 发送方的流量控制(即拥塞控制)现在广泛使用的CUBIC/(new)Reno都是基于丢包的,在算法上重点输出拥塞窗口(cwnd);而BBR输出cwnd和pacing_rate,且pacing...阅读全文

博文 2020-09-06 14:37:35 知乎

Kafka Rebalance机制分析 - gaoyanliang

什么是 Rebalance Rebalance 本质上是一种协议,规定了一个 Consumer Group 下的所有 consumer 如何达成一致,来分配订阅 Topic 的每个分区。 例如:某 Group 下有 20 个 consumer 实例,它订阅了一个具有 100 个 partition 的 Topic 。正常情况下,kafka 会为每个 Consumer 平均的分配 5 个分区。这个分配的过程就是 Rebalance。 触发 Rebalance 的时机 Rebalance 的触发条件有3个。 组成员个数发生变化。例如有新的 consumer 实例加入该消费组或者离开组。 订阅的 Topic 个数发生变化。 订阅 Topic 的分区数发生变化。 Rebalance 发生时,Grou...阅读全文

博文 2019-11-25 06:55:32 博客园

To B产品经理的核心技能是什么?

ToB产品经理的核心技能,确实跟其他产品经理的核心技能有很大的区别。 核心能力1:对行业、职能、流程的了解、尊重。 在ToB领域,对线下业务的了解,永远都是第一位。请永远记住,你所做的事情,就是把线下已经固有存在了很多年的业务,用更加合适的方式在线上描述出来,优化掉,做好,再呈现到客户面前。 随之而来的是,必须建立起对线下已有行业、职能、流程的了解和尊重。请永远记住,你被苹果砸中一个念头迸发出的所谓创新——其实早已经被这些行业、职能、流程验证过千百遍了。甚至可以说一句——如果你不了解这个行业,不要谈创新。对面的客户很可能不懂什么叫互联网、大数据、云计算、生态、平台、闭环等等各种高大上的词,但他对行业、职能、流程的熟悉程度,是你的百倍以上。你跟他谈产品、创新,请先把自己对行业、职能、流程的了解...阅读全文

博文 2020-07-01 07:21:52 CORNERSTONE

大数据开发之Hive篇19-Hive分区表详解

备注: Hive 版本 2.1.1 Table of Contents一.Hive分区表概述二.静态分区2.1 单分区测试2.2 多分区测试三.动态分区3.1 动态分区测试3.2 动态分区和静态分区混合使用四.分区的其它操作4.1 恢复分区4.2 归档分区4.3 交换分区参考 一.Hive分区表概述 数据分区的概念以及存在很久了,通常使用分区来水平分散压力,将数据从物理上移到和使用最频繁的用户更近的地方,以及实现其目的。 hive中有分区表的概念,我们可以看到分区具重要性能优势,而且分区表还可以将数据以一种符合逻辑的方式进行组织,比如分层存储 Hive官方网站对Hive partition的介绍: 可以使用Partitioned BY子句创建分区表。一个表可以有一个或多个分区列,并且为分区列...阅读全文

博文 2022-07-14 11:01:16 墨天轮

MySQL中lock tables和unlock tables浅析 - 潇湘隐者

MySQL中lock tables和unlock tables浅析 在MySQL中提供了锁定表(lock tables)和解锁表(unlock tables)的语法功能,ORACLE与SQL Server数据库当中没有这种语法。相信刚接触MySQL的人,都想详细、深入的了解一下这个功能.下面就尽量全面的解析、总结一下MySQL中lock tables与unlock tables的功能,如有不足或不正确的地方,欢迎指点一二。 锁定表的语法: LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRIT...阅读全文

博文 2021-06-09 03:48:47 博客园

华为敏捷项目管理实践分享

当前,企业面对的商业环境瞬息万变,移动、社交、物联网、云计算、大数据、AI等蓬勃发展。新技术突飞猛进的同时,新业务形态越来越复杂、需求变化越来越快、软件规模越来越大、交付周期越来越短、开发和维护成本越来越高,产品交付的风险急剧增加,传统研发模式无法适应快速变化的市场需求。 为了应对这些挑战,业界软件开发模式经历了持续的改进和变迁,从20世纪60年代作坊式开发,到80年代过程控制模型,到2001年敏捷、DevOps模式探索。 ![image.png](https://img-blog.csdnimg.cn/20200426140606397.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR...阅读全文

博文 2020-04-26 06:47:06 CORNERSTONE

平衡二叉树、B树、B+树、B*树 理解其中一种你就都明白了

1、平衡二叉树概念平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:(1)非叶子节点只能允许最多两个子节点存在。(2)每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节点的值(这里值是基于自己的算法规则而定的,比如hash值);平衡树的层级结构:因为平衡二叉树查询性能和树的层级(h高度)成反比,h值越小查询越快、为了保证树的结构左右两端数据大致平衡降低二叉树的查询难度一般会采用一种算法机制实现节点数据结构的平衡,实现了这种算法的有比如Treap、红黑树,使用平衡二叉树能保...阅读全文

Spring中集成Groovy的四种方式_蓝天之枫

groovy是一种动态脚本语言,适用于一些可变、和规则配置性的需求,目前Spring提供ScriptSource接口,支持两种类型,一种是 ResourceScriptSource,另一种是 StaticScriptSource,但是有的场景我们需要把groovy代码放进DB中,所以我们需要扩展这个。 ResourceScriptSource:在 resources 下面写groovy类 StaticScriptSource:把groovy类代码放进XML里 DatabaseScriptSource:把groovy类代码放进数据库中 工程模块为: ResourceScriptSource groovy的pom groovy-all阅读全文

博文 2021-07-09 02:58:30 CSDN博客

学了很多项目管理工具和方法,为何还是难以成功?

83版《西游记》里有一个桥段:金角大王拿着宝葫芦对孙悟空说:“我叫你名字,你敢答应吗?”孙悟空不知情,回了句:”爷爷在此“。然后就被吸到宝葫芦里去了,金角大王成功拿到一血。这个桥段相信大家已经看过无数遍了。有一次我在讲课讲到某工具时,不知怎的就想起了它,于是现场做了个测试:我把手里的话筒比作宝葫芦,找前排的某帅哥问:“我叫你名字你敢答应吗?”对方答:“不敢”。在全场的哄笑声中,我想我已经清楚地将想表达的东西给表达了出来。需要声明的是:对方不是事先预定的群演。只不过,倘若将对方的反应放在《西游记》电视剧拍摄项目的现场,导演组大概会有点崩溃:”这个戏真没法拍下去了,我亮出法宝,喊出口诀,他应该表现的很惊恐啊,亦或是无所谓的样子,接着不小心答应一声,被吸入到宝葫芦里去,他怎么能不按剧本出牌呢?”可...阅读全文

博文 2020-04-29 07:24:22 CORNERSTONE

Mybatis处理动态占位符实现 - Griez

背景 最近做一个打招呼需求,打招呼的内容类似模板形式,但是模板中有动态占位符,比如: 老乡式打招呼 -> “你好,我也是 xxx 的,我们是老乡呀!”(老乡见老乡,少来这套,来了就是深圳人) 高学历牛逼式打招呼 -> “你好,我是 xxx 高材生,很高兴认识你!” (我心想,谁TM稀罕) 炫富式打招呼 -> “你好,我年薪 xxx,能和你交个朋友么?”(你是想做py交易吧) 模板就是这么简单,内容中的 xxx 是动态的,根据用户信息改变。看到这里的你是不是已经开始躁动了, String.replace()不就解决问题了么?是的,如果你是这么做的,那么恭喜你能快速完成任务! 我这人想的比较多,如果PM后面要把模板改成一个文案中有多个 xxx ,并且多个 xxx 位置顺序不确定的情况怎么办?想到...阅读全文

博文 2021-02-08 06:42:14 博客园

MySQL中IN子查询会导致无法使用索引 - MSSQL123

今天看到一个博客园的一篇关于MySQL的IN子查询优化的案例,一开始感觉有点半信半疑(如果是换做在SQL Server中,这种情况是绝对不可能的,后面会做一个简单的测试。)随后动手按照他说的做了一个表来测试验证,发现MySQL的IN子查询做的不好,确实会导致无法使用索引的情况(IN子查询无法使用所以,场景是MySQL,截止的版本是5.7.18) MySQL的测试环境 测试表如下 create table test_table2 ( id int auto_increment primary key, pay_id int, pay_time datetime, other_col varchar(100) ) 建一个存储过程插入测试数据,测试数据的特点是pay_id可重复,这里在存储过程处理...阅读全文

博文 2021-02-24 06:23:47 博客园

多个单列索引和联合索引的区别详解_数据库_Abysscarry的博客

背景: 为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。 一、联合索引测试 注:Mysql版本为 5.7.20 创建测试表(表记录数为63188): CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `userId` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户id,创建任务时的userid', `mobile` varchar(24) NOT NULL D...阅读全文

博文 2020-04-21 04:36:55 CSDN博客

Unicode与UTF-8/UTF-16/UTF-32的区别 - 刘宝成

Unicode与UTF-8/UTF-16/UTF-32的区别 Unicode的最初目标,是用1个16位的编码来为超过65000字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题 (implantation head-ache's),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来程序16位的数据。 因此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符 是以8位序列来编码的,用一个或几个字节来表示一个字符。这种方式的最大好处,是UTF-8保留了ASCII字符的编码做为它的一部分,例如,在 UTF-8和ASCII中,“A”的编码都是0x41. UTF-16和UTF-32分别...阅读全文

王者对决 佳能5D4与索尼A7R2画质对比(全文)_佳能 5D Mark IV_数码影像评测

产品:5D Mark IV(单机) 佳能 数码相机1画质王者对决 对于专业相机来说,画质无疑是消费者最为看中的地方,它直接关乎到所拍照片的最终质量。佳能5D Mark IV以及索尼A7R2都是目前市场上热销的专业级相机,相同的定位以及相似的售价往往让消费者在选购时难分伯仲。今天笔者就来详细的对比下这两台相机在画质上的表现,看看谁才是真正的画质“王者”。 “画质”其实是一个比较笼统的说法,如果对其进行细分,大致可以概括为以下四点,分别是:低感光状态下的细节表现、高感光下的控噪表现、过曝或欠曝下的宽容度表现、以及JPEG直出时的色彩表现。只有将这四点都做好,我们才能说这是一台画质优秀的相机。 在进行详细的对比之前,我们先来认识下即将出场的两位选手。EOS 5D Mark IV是佳能最新发布的专业...阅读全文

博文 2024-06-05 19:14:23 中关村在线

SQL子查询总结:相关子查询与非相关子查询有什么区别

如果一个select语句能够返回单个值或者一列值,且该select语句嵌套在另一个SQL语句(例如select语句、insert语句、update语句或者delete语句)中,那么该select语句成为“子查询”(也叫内层查询),包含子查询的SQL语句称为“主查询”(也叫外层查询)。为了标记子查询与主查询之间的关系,通常将子查询写在小括号内。子查询一般用在主查询的where子句或having子句中,与比较运算符或者逻辑运算符一起构成where筛选条件或having筛选条件。子查询分为“相关子查询”(Dependent Subquery)与“非相关子查询”。 非相关子查询如果子查询返回单个值,则可以讲一个表达式的值与子查询的结果进行比较。 例如,检索成绩比学生张三平均分高的所有学生及课程的信息...阅读全文

博文 2022-06-30 02:47:22 知乎

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...阅读全文

编码转换问题_网络_qq_38409944的博客

注意:iso-8859-1是JAVA网络传输使用的标准字符集,而gb2312是 标准中文字符集,当你作出提交表单等需要网络传输的操作的时候, 就需要把 iso-8859-1转换为gb2312字符集显示,否则如果 按浏览器的gb2312格式来解释iso-8859-1字符集的话, 由于2者不兼容, 所以会 是乱码. UTF-8三个字节代表一个char iso-8859-1一个字节代表一个char GBK两个字节代表一个char 一直以为,java中任意unicode字符串,可以使用任意字符集转为byte[]再转回来,只要不抛出异常就不会丢失数据,事实证明这是错的。 经过这个实例,也明白了为什么 getBytes()需要捕获异常,虽然有时候它也没有捕获到异常。 言归正传,先看一个实例。 用ISO-...阅读全文

博文 2020-04-26 03:55:23 CSDN博客

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

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

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

为什么用MQTT不用TCP长连接透传 | 文章

前言在接触到MQTT之后,总是会有疑问,为什么用MQTT不用TCP长连接透传?看起来【TCP长连接+私有协议透传】和【MQTT+业务主题】似乎都能达到同样的目的,甚至用MQTT会使得设备端逻辑实现、APP端逻辑实现、云端架构实现更加复杂。那么为什么物联网还要使用MQTT协议呢?一、MQTT相比于TCP长连接的优势1、协议更标准MQTT是标准的RFC协议,相比于私有协议而言更加标准。好处在于:(1)协议非常完整,能够马上用于生产。各端实现同一套协议之后,就能进行通信;私有协议还需要进行大量的验证,看有无缺陷或欠考虑的地方等。(2)协议的标准化带来大量的开源组件,降低开发难度。随着物联网+5G生态越来越好,开源组件越来越多,可以减少重复编码量。(3)标准协议利于第三方接入。当第三方设备、平台想要...阅读全文

博文 2021-08-26 07:24:00 BEWINDOWEB

Intellij-Idea远程调试

前言 线上(真-线上/测试环境)代码出了问题,总是要在本地复现,然后debug,这个过程是在是不太友好,而且线上的很多数据本地没有,经常耽误好久的时间来同步数据. 前文介绍过一种在运行时DEBUG及修改Java代码的方式,阿里开源java动态追踪工具 Arthas的使用.其主要针对的是线上修改代码及JVM实时查看. 但是有很多问题,我们更想要IDE的DEBUG功能,比如线上跑了NPE,本地没有办法复现因为可能是线上的数据问题,这时候就会想,如果可以在线上这里打个断点,就知道是谁为空了. 幸好Java是有远程DEBUG的支持的,而且Intellij-IDEA也实现了相关的功能,今天学习并且记录一下. 启动参数 首先在服务端使用JVM的-Xdebug参数启动Jar包. java -Xdebug ...阅读全文

博文 2021-01-26 02:49:11 Java代码

spring扩展点之一:BeanFactoryPostProcessor和BeanPostProcessor - duanxz

2、BeanPostProcessors接口 public interface BeanPostProcessor { /** * Apply this BeanPostProcessor to the given new bean instance before any bean * initialization callbacks (like InitializingBean's {@code afterPropertiesSet} * or a custom init-method). The bean will already be populated with property values. */ //实例化、依赖注入完毕,在调用显示的初始化之前完成一些定制的初始化...阅读全文

博文 2022-04-28 09:19:49 博客园

SQL四种语言:DDL,DML,DCL,TCL - Comm100 Testers

1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME2.DML(Data Manipulation Language)数据操纵语言statements are used for managing data within schema objects. 由DBMS提供,用于让用户或程序员使用,实现对数据库中数据...阅读全文

大数据开发之Hive篇12-Hive正则表达式

备注: Hive 版本 2.1.1 Table of Contents一.Hive 正则表达式概述1.1 字符集合:1.2 边界集合:1.3 重复次数集合:1.4 组合操作符:1.5 匹配操作符:1.6 转义操作符:二.Hive 正则表达式案例2.1 regexp2.2 regexp_replace2.2.1 截取字符串中汉字部分2.2.2 截取字符串中数字部分2.2.3 截取字符串中字母部分2.2.4 截取字符串中的大小写字母和数字2.3 regexp_extract参考: 一.Hive 正则表达式概述 Hive的正则表达式虽然没有关系型数据库的正则表达式那么强大,但是一样可以解决HQL开发过程中的诸多问题,数据工作者平时也离不开正则表达式。对此,特意做了个hive正则表达式的小结。所有代...阅读全文

博文 2022-07-21 03:55:26 墨天轮

中小企业团队敏捷产品开发流程的最佳实践

在敏捷开发过程中,一个产品或者一个发布版本通常是由多个冲刺来实现的,每个冲刺都能增量交付可运行的系统功能,实现客户价值。每个冲刺都是从冲刺规划开始,团队成员一起商定冲刺目标和明确交付的系统功能,并进行冲刺执行,实现系统功能,再通过冲刺评审和回顾对实现的产品功能和过程进行检视,期望在下一冲刺过程中对产品功能和过程进行改进和完善。 一、冲刺流程 冲刺包括冲刺规划、冲刺执行、冲刺评审、冲刺回顾四大过程。冲刺是从规划开始,团队成员必须就本次冲刺的目标和计划达成共识,全体成员在整个冲刺过程按照既定的计划奔着这个目标前进,每天对取得的成果和面临的问题进行沟通讨论。冲刺结束阶段,在冲刺评审活动中召集相关利益相关方一起演示产品功能并获得反馈,获得的反馈是产品列表和下一阶段冲刺规划内容的重要来源。在冲刺回顾活...阅读全文

博文 2020-04-22 07:20:23 CORNERSTONE

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

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

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

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 博客园

TCP 异常关闭研究分析 - 云+社区

更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer作者:谢代斌研究测试TCP断开和异常的各种情况,以便于分析网络应用(比如tconnd)断网的原因和场景,帮组分析和定位连接异常掉线的问题,并提供给TCP相关的开发测试人员作为参考。各个游戏接入都存在一定的掉线问题,而且有的游戏项目的掉线比例还比较高,现在互娱自研游戏的网络接入基本上都用的是tconnd和ProtocalHandler组件(该组件请参考附件的《TSF4G_ProtocalHandler开发指导手册》),因此参与其掉线原因分析和研究。在参与A项目的掉线问题研究分析过程中,tconnd增加了玩家每个连接的流水日志和ProtocalHandler增加了每个连接的Qos上报日志,...阅读全文

博文 2021-11-05 09:40:44 腾讯云

Hive中的explode使用全解

本节主要介绍explode和posexplode函数的使用。1、数据介绍 主要包括三列,分别是班级、姓名以及成绩,数据表名是default.classinfo。2、单列Explode 首先来看下最基本的,我们如何把student这一列中的数据由一行变成多行。这里需要使用split和explode,并结合lateral view实现。代码如下:select class,student_name from default.classinfo lateral view explode(split(student,',')) t as student_name 结果如下:3、单列Posexplode 接下来,我们想要给每个同学来一个编号,假设编号就按姓名的顺序,此时我们要用到另一个hive函数,叫做...阅读全文

博文 2022-03-27 05:57:59 知乎

Alibaba之jvm

前言 在开始之前,我们先来模拟一下以下的场景: 小李:“小明,你的接口没有返回数据,麻烦帮忙看一下?” 小明:“我这边的数据也是从别人的服务器中拿到的,但是我不确定是因为逻辑处理有问题导致没有结果,还是因为我依赖的服务有问题而没有返回结果,我需要确认一下。” 小明:“哎呀,线上没有日志,我需要加个日志上个线。” 30 分钟之后…… 小明:“不好意思,日志加错地方了……稍等……” 接来下隆重登场的就是本文的主角 JVM SandBox 了。基于 JVM SandBox,我们可以很容易地做到在不重新部署应用的情况下,给指定的某些类的某些方法加上日志功能。当然,动态加日志仅仅是 JVM SandBox 可以应用的一个小小的场景,JVM SandBox 的威力远不在于此。套用官方的话说就是"JVM-...阅读全文

博文 2021-06-29 02:14:20 sandbox初体验 | 码农家园

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

首先说说系统调用是什么,当你的代码需要做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 知乎

Cgroup的CPU资源隔离介绍&docker cpu限制_liukuan73的博客

http://www.tuicool.com/articles/Jniemin 这个链接主要介绍了cgroup中使用的三种cpu资源限制方式 cpuset隔离方式是以分配核心的方式进行资源隔离,可以提供的资源分配最小粒度是核心,不能提供更细粒度的资源隔离,但是隔离之后运算的相互影响最低。需要注意的是在服务器开启了超线程的情况下,要小心选择分配的核心,否则不同cgroup间的性能差距会比较大。cpuquota给我们提供了一种比cpuset可以更细粒度的分配资源的方式,并且保证了cgroup使用cpu比率的上限,相当于对cpu资源的硬限制。cpushares给我们提供了一种可以按权重比率弹性分配cpu时间资源的手段:当cpu空闲的时候,某一个要占用cpu的cgroup可以完全占用剩余cpu时间,...阅读全文

博文 2023-09-20 19:28:59 CSDN博客

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 博客园

聊聊MyBatis缓存机制

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

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

UDP 单播、广播和多播 - Rimond_Jing

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

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

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 博客园

Kafka Producer重试参数retries设置取舍【实战笔记】 - 腾讯云开发者社区

目录1.retries参数说明 2.retries使用建议 3.retries后续发展复制1.retries参数说明参数的设置通常是一种取舍,看下retries参数在版本0.11.3说明:Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error. Note that this retry is no different than if the client resent the record upon receiving the error. Allowing retries without s...阅读全文

博文 2023-02-27 12:11:25 腾讯云

Hive典型应用场景之行列转换_小飞鱼_bigdata的博客

在使用Hive处理数据时,经常遇到行列转换的场景,本文将对Hive的行列转换操作做详细的说明。 行转列## 1)多行转多列 假设数据表 row2col: col1 col2 col3 a c 1 a d 2 a e 3 b c 4 b d 5 b e 6 现在要将其转化为: col1 c d e a 1 2 3 b 4 5 6 此时需要使用到max(case … when … then … else 0 end),仅限于转化的字段为数值类型,且为正值的情况。 HQL语句为: select col1, max(case col2 when 'c' then col3 else 0 end) as c, max(case col2 when 'd' then col3 else 0 end) a...阅读全文

博文 2022-03-27 05:58:44 CSDN博客_hive 行列互换

深入理解JDK动态代理机制

深入理解JDK动态代理机制本文是基于jdk1.8来对动态代理的底层机制进行探究的 Java中代理的实现一般分为三种:JDK静态代理、JDK动态代理以及CGLIB动态代理。在Spring的AOP实现中,主要应用了JDK动态代理以及CGLIB动态代理。但是本文着重介绍JDK动态代理机制,CGLIB动态代理后面会接着探究。 代理一般实现的模式为JDK静态代理:创建一个接口,然后创建被代理的类实现该接口并且实现该接口中的抽象方法。之后再创建一个代理类,同时使其也实现这个接口。在代理类中持有一个被代理对象的引用,而后在代理类方法中调用该对象的方法。 其实就是代理类为被代理类预处理消息、过滤消息并在此之后将消息转发给被代理类,之后还能进行消息的后置处理。代理类和被代理类通常会存在关联关系(即上面提到的持...阅读全文

博文 2021-06-12 14:15:56 简书