自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1562)
  • 资源 (279)
  • 问答 (4)
  • 收藏
  • 关注

转载 SpringCloud的限流、熔断和降级——Hystrix

在分布式系统中,远程系统或服务不可避免的调用失败(超时或者异常)。假设客户端依赖多个服务,在一次请求中,某一个服务出现异常,则整个请求会处理失败;当某一服务等待时间过长,则所有的请求都会阻塞在这个服务的请求上。这样因为一个服务就导致了整个系统的可用性。Netflix的组件Hystrix可以将这些请求隔离,针对服务限流,当服务不可用时能够熔断并降级,防止级联故障。认识Hystrix在理想状态...

2019-08-19 13:51:34 22220

转载 Synchronized的原理及自旋锁,偏向锁,轻量级锁,重量级锁的区别

在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程。 锁从宏观上分类,分为悲观锁与乐观锁。乐观锁乐观锁是一种乐观思想,即认为读多写少,遇...

2018-08-08 11:21:13 3837

转载 【算法】(查找你附近的人) GeoHash核心原理解析及代码实现

分享提纲:  0. 引子  1. 感性认识GeoHash  2. GeoHash算法的步骤  3. GeoHash Base32编码长度与精度  4. GeoHash算法  5. 使用注意点(曲线突变--8个邻居来解决)  6. geohash的php 、python、java、C#实现代码  7. 参考资料 引子机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一...

2018-07-04 21:55:20 2444

转载 mmap和常规文件操作的区别

mmap和常规文件操作的区别对linux文件系统不了解的朋友,请参阅我之前写的博文《从内核文件系统看文件读写过程》,我们首先简单的回顾一下常规文件系统操作(调用read/fread等类函数)中,函数的调用过程:1、进程发起读文件请求。2、内核通过查找进程文件符表,定位到内核已打开文件集上的文件信息,从而找到此文件的inode。3、inode在address_space上查找要请求的文件页是否已经缓...

2018-05-25 00:00:31 1415

转载 B+树与LSM树的区别与联系

首先来回答一个问题:为什么在磁盘中要使用b+树来进行文件存储呢?原因还是因为树的高度低得缘故,磁盘本身是一个顺序读写快,随机读写慢的系统,那么如果想高效的从磁盘中找到数据,势必需要满足一个最重要的条件:减少寻道次数。我们以平衡树为例进行对比,就会发现问题所在了:先上个图 这是个平衡树,可以看到基本上一个元素下只有两个子叶节点  抽象的来看,树想要达成有效查找,势必需要维持如下一种结构:树的子叶节点...

2018-05-24 19:28:40 970

转载 linux内存映射mmap原理分析

一直都对内存映射文件这个概念很模糊,不知道它和虚拟内存有什么区别,而且映射这个词也很让人迷茫,今天终于搞清楚了。。。下面,我先解释一下我对映射这个词的理解,再区分一下几个容易混淆的概念,之后,什么是内存映射就很明朗了。 原理首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系,在这里主要是只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之间的一一对...

2018-05-17 21:04:37 405

转载 mysql insert锁机制(insert死锁)

一、前言上周遇到一个因insert而引发的死锁问题,其成因比较令人费解。于是想要了解一下insert加锁机制,但是发现网上介绍的文章比较少且零散,挖掘过程比较忙乱。本以为只需要系统学习一个较完全的逻辑,但是实际牵扯很多innodb锁相关知识及加锁方式。我好像并没有那么大的能耐,把各种场景的加锁过程一一列举并加之分析;亦没有太多的精力验证网上的言论的准确性。只好根据现在了解的内容,参考官方文档,说说...

2018-05-07 00:11:29 70571 13

转载 高级进阶:复杂业务系统的通用架构设计

结合着业务系统的复杂性,如果想要系统未来具有长期价值,不得不把大的系统进行拆分,用统一的业务语言进行描述,把不可识别的问题,拆分成可识别的问题域进行解决,这也就是现在又逐渐盛行起来的领域驱动设计的方法。应用如何进行设计,包括模块如何划分,功能如何实现,技术如何支撑,数据如何展示,流程如何定义,逻辑如何实现,数据如何存储等等,都是应用架构的范畴。架构的本质依然没有改变,只是由于社会的发展,我们的需求,需要处理的问题、依赖愈来愈复杂,我们需要用发展的眼光,时刻追随技术前沿,进而推进、优化、迭代系统的架构设计。

2025-07-15 17:49:05 41

转载 TOGAF 企业架构介绍(4A架构)

1、信息(数据)架构定义:数据架构是企业架构的一部分,企业级数据架构是以结构化的方式描述在业务运作和管理决策中所需要的各类数据及其关系的一套整体组件规范。企业架构主要包括业务架构、信息/数据架构、应用架构、技术架构四大部分。业务架构明确定义企业的治理结构、业务能力、业务活动、业务数据。企业架构是战略和实施之间的桥梁,业务变革的关键使能,是设计IT的基础,如果缺少企业架构,那么数字化转型的战略、目标和落地、执行之间将脱节。企业架构主要包括业务架构、信息/数据架构、应用架构、技术架构四大部分。

2025-07-15 17:46:47 34

转载 架构评审的步骤和方法

架构评审是一个系统的过程,旨在确保软件架构满足系统的当前和未来需求。。在准备评审阶段,重点是了解项目的业务目标、收集相关文档并组织评审团队。这个阶段至关重要,因为一个充分的准备工作可以为接下来的步骤打下坚实基础。

2025-07-13 17:33:16 21

转载 分析TOGAF架构和4A架构的区别和相似点

2、关注点不同:TOGAF更加注重企业整体架构的设计和实施,包括业务架构、数据架构、应用架构和技术架构等方面。3、强调架构的重要性:两者都认为企业架构是企业成功的关键因素之一,因此强调架构的重要性,并提供了相应的工具和方法来支持架构的设计和实施。TOGAF架构和4A架构都是企业架构的方法论和框架,它们在定义、设计、实施和管理企业IT系统方面具有相似之处,但也有一些区别。1、都是企业架构的方法论和框架:TOGAF和4A都是提供一套完整的企业架构方法论和框架,用于指导组织设计和构建其IT系统。

2025-07-11 15:07:02 28

转载 系统架构评估方法

这一步涉及ATAM评估过程的描述。在此步骤中,评估负责人向所有相关参与者提供有关ATAM过程的一般信息。领导者说明评估中使用的分析技术以及评估的预期结果。领导者解决小组成员的任何疑虑、期望或问题。在这一步中,提到了系统体系结构驱动程序的业务目标。这一步着重于系统的业务视角。它提供了有关系统功能、主要利益相关方、业务目标和系统其他限制的更多信息。在这一步中,架构团队描述了要评估的架构。它侧重于体系结构、时间可用性以及体系结构的质量要求。此步骤中的体系结构演示非常重要,因为它会影响分析的质量。

2025-07-08 21:54:53 34

转载 【架构专题】架构评估方法论:ATAM与SAAM的深度解析与实践指南

但这一过程面临三大核心挑战:多维度质量属性冲突(如性能与安全的博弈)、动态业务需求适配性(每年平均需求变更率达47%)以及技术债务的累积效应(每拖延1年修复成本增加4倍)。ATAM(Architecture Tradeoff Analysis Method)由SEI于2000年提出,是SAAM的升级版本,其核心突破在于构建质量属性效用树(Utility Tree),将抽象的质量目标转化为可量化评估的指标。结语:在数字化转型浪潮中,ATAM与SAAM已从单纯的评估工具演变为架构治理的核心引擎。

2025-07-08 21:49:22 18

转载 架构评估模型有哪些

每个模型都有自己的特点和适用情景。在实际应用时,组织可以根据自己的特定需求和期望解决的问题选择合适的评估模型。通常情况下,多模型联合运用可以更全面地进行架构质量评估。可行性评估、性能分析、维护成本估算和安全性检查,都是创造成功软件系统不可或缺的评估方面。最终,这些评估都是为了确保软件架构能在不断变化的环境需求中保持自身的优势和持久性能。通过选择合适的架构评估模型,组织能够更好地识别风险,做出明智的决策,并构建一个既可靠又可持续发展的软件系统。相关问答FAQs:Q: 什么是架构评估模型?

2025-07-08 21:46:05 14

转载 架构权衡分析方法(ATAM)

能揭示架构如何满足特定的质量需求,还能提供分析这些质量需求之间的交互作用的方法。理解架构设计满足系统质量需求的结果。

2025-07-08 21:41:43 19

转载 后台服务架构高性能设计之道。

如我曾经写过一个线程安全的容器以放置各种对象时,为了减少锁争用,对容器进行了分段,每个分段一个锁,按照哈希或者取模将对象放置到某个分段中,如 Java 中的 ConcurrentHashMap 也采取了分段的机制。严格来说,各种池都是对象池模式的应用,包括前面的这三哥们。

2025-07-08 21:37:40 29

转载 robbin谈管理:改造团队的经验

一般来说新官上任三把火,新的高管空降之后往往会大肆招人,快速推进改革。但我在入职之前就考虑过这个问题,以为宜缓不宜急,理由如下:1、做为空降高管,在公司没有任何根基,亦没有做出任何成绩来证明自己,这个时候领导的信任和授权是有限度的。一旦初战不利,领导的信任度被透支,在公司恐怕难有立足之地,更遑论改造团队,发挥自己的才能了。2、我早年做过很多软件咨询项目,给很多公司讲过敏捷开发、领域模型、面向对象建模和ORM。但我能够得到这些公司的信任,却并非因为讲这些时髦的内容,而是因为擅长解决各类技术上的疑难杂症

2025-07-07 21:22:20 11

转载 robbin谈管理:改造团队的经验(1)

1、刚接手一个有问题的团队,不着急上来烧三把火,要先对整个团队做深入的调研,搞清楚整个团队的核心问题在哪里,团队的组成架构和运作方式,团队每个成员的特点和能力,他们之间的关系,要彻底的摸清楚这个团队过去成功的地方和失败的地方,具有的优点和存在的问题。写出来我对每个员工的印象和评价。因为后来我看到过类似的案例,空降的高管在没有对业务深入了解,对团队能力没有深刻认识的情况下就从外面急吼吼招来了新的主管,结果新主管的业务能力和现有团队匹配不上、配合不好,造成了新主管和老团队的尖锐对立,团队搞得一团糟。

2025-07-07 21:17:22 17

转载 2、刚接手一个新团队要做什么?

很多新任管理者,太急于表现自己,忘了全局性思考,做出的决策都是具体而且片面的,必然会出问题。4、修炼格局:当你负责一个团队,你要选择战斗的高效,还是战役的高效,这是一个格局问题。每个带团队的人,尤其是新管理者,必须提升自己的格局,只有这样才知道怎么打仗。管理者要有深度思考问题的耐心,管理者最宝贵的资源是头脑,要多动脑,少动嘴。了解下属的问题、困惑和需要;你的评价和绩效来自于上司,你要有足够的耐心和诚意,向上司了解团队的主要情况。3、凡事预则立:要想成就一件事,必须要有明确的目标,认真的准备和周密的安排。

2025-07-07 21:05:37 17

转载 经验分享:如何在接手新组织后进行团队整合

在整合团队的过程中,刚开始在不了解实际情况的条件下尽量保证原有团队的稳定,最初几个月要提目标要求和工作标准,能达到要求的留用,达不到要求的逐步更替。对事情的评价往往比对人的评价更准确。实际工作中,经验不足的企业负责人或HR容易抓不住重点,在团队负责人没有到岗的情况下开始直接确定下面的具体岗位和招募具体人选,往往不符合业务的要求,或者人选与后来的团队负责人配合不好。所有的访谈获得的信息和评价都或多或少带有一定的主观性,不如直接布置几件具体的事情让其干,通过事情的结果和过程中展示的思维和方法论对其进行评估。

2025-07-07 20:58:37 32

转载 在腾讯做架构设计的15大原则与6个避坑思维

框架和架构的区别还是比较明显的,框架关注的是“规范”,架构关注的是“结构”。架构是经过系统性地思考,权衡利弊之后在现有资源约束下的最合理决策,最终明确的系统骨架:包括子系统、模块、组件,以及他们之间协作关系、约束规范、指导原则,并由它来指导系统各方面的设计和指导团队中的每个人思想层面上的一致。业务架构是战略,应用架构是战术,技术架构是装备。在 TOGAF9 是这么定义:一个系统基本的构件(子系统,模块,组件),体现在它的各个构件、构件间的相互关系、构件与环境间的关系,以及对系统设计和演进进行治理的原则中。

2025-07-07 20:39:54 10

转载 搞懂架构之业务架构、数据架构、技术架构

技术架构:确定组成应用系统的实际运行组件(lvs,nginx,tomcat,php-fpm 等),这些运行组件之间的关系,以及部署到硬件的策略。紧接着业务模式越来越复杂,订单、商品、库存、价格等各个模块都很深入,比如价格区分会员等级,访问渠道(app 还是 PC),销售方式(团购还是普通)等,还有大量的价格促销,这些规则很复杂,容易相互冲突,需要把分散到各个业务的价格逻辑进行统一管理,以基础价格服务的方式透明地提供给上层应用,变成一个微内核的服务化架构,即微服务。划分组件的主要目的的是单元复用。

2025-07-07 19:15:50 38

转载 毛选:任何长久的关系,都是反人性的

在《湖南农民运动考察报告》里,他观察群众,不是怂恿他们忍,而是给出战略性压力释放方法,让他们敢斗敢争,敢面对现实、认清敌我,走出困局。真正长久的关系,是你愿意忍,但你忍之后,依然会提醒对方、修复规则,甚至带着羞涩说出你受伤。你不觉得可怕,是因为你不曾真正感觉到被对方理解、被对方接受、被对方继续选择——这才是长久关系里,反人性的珍贵。真正长久的关系,从来不是你想象的那样温柔,而是在冲突、矛盾、不理解之间,被重新定义和重生。感动只是短期资源,真正长久的情感和信任,是被机制重建,被情绪清理,被价值体系承载。

2025-07-07 17:44:57 17

转载 如何进行系统架构评审:全面指导与实践

架构师向评审团队介绍架构设计方案,包括设计目标、主要组成部分、关键技术选择等。回答评审团队成员的初步疑问和关注点。

2025-07-07 17:36:37 31

原创 能力成熟度模型/中台成熟度模型

已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程,所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。level1:孵化期,level2:定制开发,level3:服务化,level4:自助化,level:商业化。level5:商业化,用类SAAS模式的解决方案对外售卖,具备清晰的商业模式和完善的服务流程,直接创造收入。初始级 :.软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。80%+中台需求不需中台开发,l3和l4,

2025-07-02 16:40:43 258

转载 【架构】软件成熟度模型与评估体系深度解析

成熟度模型的核心理念是通过定义一系列阶段性的目标和标准,引导组织系统性地提升其能力水平,最终实现可预测、高效和高质量的软件开发。ISO/IEC 33000系列是ISO/IEC 15504的后续标准,提供了更加模块化和灵活的过程评估框架。通过系统性地实施和持续改进成熟度模型,组织可以显著提升软件开发能力,构建持续创新和高质量交付的竞争优势。CMM发布(1991年):由SEI(软件工程研究所)发布的能力成熟度模型。国际标准化(2003年):ISO/IEC 15504(SPICE)的发布。

2025-07-02 16:24:17 40

转载 为了提升代码质量我做了哪些努力?

在这个人兼多责的社会里,我显得那么的特立独行,殊不知,现在社会上发生的很多事情都是因为没有处理好职责导致的,比如,经常有些父母带着小孩,一边玩手机,导致小孩弄丢、发生事故等等。

2025-06-30 20:45:01 20

转载 软件研发效能度量指标——交付速度

综上所述,通过科学运用交付速度度量指标,软件研发团队能够精准定位效能瓶颈,制定有效的改进策略,实现持续的效能提升。针对低效环节或短板指标,深入剖析原因,制定针对性的改进措施,如优化工作流程、引入自动化工具、加强技能培训等,并在实施后重新度量,验证改进效果。在深入探讨如何利用这些交付速度度量指标提升研发效能之前,首先需要强调的是,任何单一指标都无法全面反映一个复杂系统的全貌,因此,应当采用综合分析的方式,结合多种指标进行多维度评估,并理解各指标间的相互关联与影响。

2025-06-29 11:49:07 34

转载 如何快速增加需求吞吐并缩短交付周期?

业务侧要有定期的业务规划和更新,产品侧要定期规划和更新产品目标、产品路线图,以及排好顺序的产品待办列表。资深开发人员或者架构师提前识别技术可行性,以及用户故事之间的依赖,并在发布计划和迭代计划的时候明确如何解决依赖,包括:依赖跟踪负责人、要解决完成依赖项的责任人、范围和时间等。特别是依赖其他敏捷开发团队的接口定义、数据结构定义、数据格式或者数据库定义等,以及用户体验和交互设计师的一些视觉稿或者设计,尽量在迭代前或者迭代中并行准备好。组建端到端、可以独立交付的、面向价值流的敏捷团队进行迭代开发。

2025-06-29 11:27:13 36

转载 进度管理的业绩怎么写好

进度管理业绩的核心是“用数据证明你让事情变得更可控”。从目标拆解到危机处理,每一环节都需指向可衡量的改进。工具(如PingCode/Worktile)是辅助,真正的竞争力在于你如何通过管理动作创造业务价值。相关问答FAQs:如何有效撰写进度管理的业绩报告?在撰写进度管理的业绩报告时,首先需要明确报告的目标和受众。有效的报告应包括项目的关键里程碑、完成的任务、遇到的挑战及其解决方案。此外,使用图表和数据可以帮助更直观地呈现进度,确保信息清晰易懂。有哪些关键指标可以用于评估进度管理的效果?

2025-06-29 09:51:30 42

转载 系统重构的10点经验总结

说到系统数据有些同学可能仅仅关注的是业务数据,其实数据也包含了系统运行所产生的日志数据,无论新旧系统的日志数据,都是很重要的,如果因为重构影响到数据的读取、处理、分析,则是得不偿失的事情。导读:我们日常工作中,系统重构应该是最让人头疼的了,无论是错综复杂还是简单的系统,在发展的过程中都会经历重构,系统重构也是任何技术团队无法回避的问题,在我服务的多家公司,几乎每家公司都经历了一次甚至多次系统的重构,本文就我在多年的重构工作中总结出来的几点建议分享给各位朋友,希望能够给朋友们带来帮助。

2025-06-28 16:11:13 27

转载 【转载】大型系统架构重构10步法

任何系统在持续的演进迭代的历程中,都难免因各类因素导致迈向重构,比如:系统可塑性与业务需求无法匹配、扩展性无法支撑业务体量的膨胀、技术债务引发研发效率的严重下滑等。稳定性要求高的系统必须可回滚,无法回滚等于飞蛾扑火(笔者职业生涯至今所经历的重构项目,上线完全符合预期且不需优化的情况,都没达到 ...)。业界调研尽量覆盖国内外大厂、公司内部的同类产品的情况(比如在不了解某领域业界最优能力是 T 的情况时,目标随意定为 T+,就很不现实。明确并量化目标,这是方案选型的基础,也是确保演进路径清晰的必要条件。

2025-06-28 11:50:36 28

转载 【腾讯】7张架构图掌握后端服务重构技巧

重构是项目发展中不可避免的一环。关键在于把握重构的核心要点:首先明确重构的目标并集中解决关键问题,其次确保在重构过程中维持“功能一致性”和“数据一致性”。这样做可以使整个重构过程更加流畅,并确保重构带来的收益远大于其成本。重构过程中,明确重构目标如引入新功能、性能提升、增强系统可用性等是前提条件,此外也必须考虑功能一致性和数据一致性这两大关键问题。3️⃣逻辑与存储模块联合重构:同时升级业务逻辑和数据存储结构。1️⃣逻辑模块重构:专注于优化代码逻辑和业务流程。2️⃣存储模块重构:改进数据存储和检索机制。

2025-06-28 11:47:03 20

转载 MongoDB和Elasticsearch的对比

MongoDB和Elasticsearch都是我比较喜欢的存储产品两者的功能特性也存在很多重合的地方, 其实现在很多数据库产品都在互相借(chao)鉴(xi), 功能和特性都在逐渐变得相似, 这也是未来很多存储产品的发展趋势, 大家都希望自己能覆盖尽量多的场景和用户群体很多产品总是在不断的从没有->有->功能丰富,但是功能丰富一定是做了很多的妥协, 于是又有了功能众多的单体服务->多个功能单一的子服务方向的转变,就像三国里面说的 “天下大势, 分久必合合久必分”.

2025-06-27 18:47:54 99

转载 奥卡姆剃刀原则

奥卡姆剃刀原则是指在系统设计和开发中,如果某种技术A已经能解决特定问题,且另一技术B也能解决相同问题,则应优先考虑仅使用其中一种技术,以避免不必要的复杂性和维护成本。这一原则源自于哲学家奥卡姆的威廉提出的“如无必要,勿增实体”(Entities should not be multiplied beyond necessity)的原理,其核心思想是:在解释相同现象时,应优先选择最简单的解释,因为简单的解释通常更有可能接近真理,并且更容易验证和应用。

2025-06-27 09:28:51 9

转载 如何做技术选型

与其焦虑框架迭代,不如夯实架构根基:头发会掉,代码永生。优秀技术选型如同打理发型——匹配当前发量(团队能力),预留植发空间(扩展可能)。修饰脸型(业务场景),

2025-06-26 20:42:49 8

转载 系统稳定性建设三件事

一、背景2024年初,我接手了团队的稳定性负责人工作。从接手时的生疏和不熟悉,到开始学习稳定性工作、构建思路、落实方案,面对问题不断反思再推进,现在也积累了一些经验,借此机会总结一下。二、稳定性定义为了做好系统稳定性建设,首先需要明确什么是系统稳定性。通俗来说,系统稳定性指的是在经历外部干扰导致偏离原有平衡状态后,系统仍能在干扰消失后具备自主恢复到原来平衡状态的能力。这种能力体现了系统的韧性和恢复力。明确了稳定性的定义,下面将详细说明建设之初我所遇到的问题及挑战。三、问题、挑战及期望目标。

2025-06-26 16:08:05 35

转载 如何对系统进行重构设计?

原文链接:https://blog.csdn.net/yaoqiancuo3276/article/details/147543661。我主导了架构重构方案,从需求出发进行现状评估,并基于领域模型进行系统拆分,最终设计为分层 + 微服务架构;在我们公司原有系统为单体架构,随着业务扩展,遇到性能瓶颈、部署效率低、扩展困难等问题;如果你在阅读过程中有任何问题,或者想了解更多技术细节,请在评论区留言,我会尽快回复。支持未来业务发展:如需要支撑更高并发、分布式部署、多租户、多端接入等;未来业务增长点:用户量增长?

2025-06-23 18:02:03 35

转载 TOGAF的架构模型

2025-06-23 10:42:20 23

原创 架构总结记录

敏捷开发:是部分开发,挑重点开发,因为开发是局部,不能统筹全局,所以当下的架构就会失效,出现代码腐化。不可避免的代码腐化是指在软件开发过程中,由于需求的不断迭代、技术债务的累积以及维护不善等原因,代码质量逐渐下降,变得难以理解和维护的现象。不可避免的代码腐化是指软件开发过程中,由于需求的不断迭代、技术债务的累积以及架构设计的局限性,代码质量逐渐下降的过程。该分离的分离,该提取的提取,进行逻辑抽象,功能封装,能力下沉,多系统复用。腐化除了来自开发者低质量的代码,更核心的是来自于系统架构的腐化。

2025-06-22 19:57:22 604

Understanding_Java_Garbage_Collection_v3

Understanding_Java_Garbage_Collection_v3

2014-11-16

Sun JVM原理与内存管理

Sun JVM原理与内存管理

2014-12-29

NIO trick and trap

NIO trick and trap, 从io的产生,如何产生,分类,区别,应用。做了区分

2016-01-29

eclipse-jee-kepler-SR2-win32.zip

eclipse-jee-kepler-SR2-win32.zip

2014-11-17

python2.7.7和对应的Mysql驱动

python-2.7.7.msi MySQL-python-1.2.4b4.win32-py2.7.exe

2014-06-27

erlang 18-release

Some highlights of the release are: ssl: Add possibility to downgrade an SSL/TLS connection to a tcp connection, and give back the socket control to a user process. ssh: The following new key exchange algorithms are implemented:'ecdh-sha2-nistp256', 'ecdh-sha2-nistp384', 'ecdh-sha2-nistp521','diffie-hellman-group14-sha1', 'diffie-hellman-group-exchange-sha1' and 'diffie-hellman-group-exchange-sha256'. This raises the security level considerably. kernel,stdlib,sasl: A mechanism for limiting the amount of text that the built-in error logger events will produce has been introduced. It is useful for limiting both the size of log files and the CPU time used to produce them. This mechanism is experimental in the sense that it may be changed based on feedback. See config parameter error_logger_format_depth in the Kernel application.

2015-11-19

算法导论 第三版 中文

算法导论 第三版 中文 不是影印版本

2014-11-16

haproxy-1.5.12

haproxy,提供四层,七层负载均衡以及healthcheck心跳监测功能。 详细配置文件,都已经设置好了,里面还有ReadMe.txt里面有启动方式,还有监控页面。然后亲测可用。

2015-08-29

Subversion--WINDOW下面的SVN命令行

我们知道,在linux下面的svn客户端采用命令的方式管理与服务器端svn交互。有些朋友想在windows下也具有相同的功能,而不是TortoiseSVN的GUI管理方式。这样可以使用我们熟悉的svn命令。 在不用安装TortoiseSVN客户端的情况,大家可以再http://subversion.apache.org/packages.html#windows 找到windows下的svn客户端工具。选择Win32Svn 进行安装。 安装好后,bin目录下就是相应程序了。通过添加环境变量的方式,把bin目录添加到path。启动cmd,敲入 svn help 以确认是否安装成功。 好了,可以找到你的代码,做checkout了。在commit代码的过程中,经常会出现的一个问题是:svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found 这表示你的系统,没有指定svn客户端通过什么样的文本编辑器来写提交的注释。我们添加环境变量,SVN_EDITOR的值为notepad。再次svn ci 代码。notepad弹出了,写完注释保存。代码提交!

2014-08-08

设计模式:可复用面向对象软件的基础

设计模式:可复用面向对象软件的基础

2014-11-16

[深入理解Java虚拟机:JVM高级特性与最佳实践(有书签)

[深入理解Java虚拟机:JVM高级特性与最佳实践(有书签) PDF有书签,可以翻阅

2014-12-20

MongoVUE-1.6.9以及破解文件

将破解文件夹下的MongoVUE.exe覆盖安装目录下MongoVUE即可。

2016-04-06

mybatis-spring-1.2.1.jar

mybatis-spring-1.2.1.jar

2014-06-08

java.bug模式详解

java bug模式详解

2014-11-21

Java程序性能优化 让你的Java程序更快、更稳定

Java程序性能优化 让你的Java程序更快、更稳定

2014-11-16

redis-2.6 windows版本

redis2.6 windows版本,提供redis主从和sentinel的自动无缝切换服务,以及,主从监控,以及failover

2015-08-23

redis-2.4.5-win32-win64.zip

redis-2.4.5-win32-win64.zip redis_2.6.12-win32-win64.zip 总共两个redis

2014-11-25

深入理解Java7-技术与最佳实践

深入理解Java7-技术与最佳实践

2014-12-29

12306订票助手.NET_10.5.1.0

12306订票助手.NET_10.5.1.0,抢票速度很快的,用过大家都知道

2016-02-01

nginx虚拟主机

自己配置好的nginx虚拟主机配置。里面有基本配置和虚拟主机配置

2015-08-29

JAVA面试资料

JAVA面试资料,包含了Java的知识的各个方面的基本概括和原理

2017-11-21

RStudio-1.0.153

RStudio is a set of integrated tools designed to help you be more productive with R. It includes a console, syntax-highlighting editor that supports direct code execution, and a variety of robust tools for plotting, viewing history, debugging and managing your workspace. Learn More about RStudio features.

2017-08-23

alibaba-otter

项目背景 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。 otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了otter。 目前同步规模: 同步数据量6亿 文件同步1.5TB(2000w张图片) 涉及200+个数据库实例之间的同步 80+台机器的集群规模 项目介绍 名称:otter ['ɒtə(r)] 译意: 水獭,数据搬运工 语言: 纯java开发 定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统

2016-09-30

mariadb-5.5.34-winx64.zip

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

2018-05-12

canal--mysql数据库binlog的增量订阅&消费组件

名称:canal [kə'næl] 译意: 水道/管道/沟渠 语言: 纯java开发 定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql 关键词: mysql binlog parser / real-time / queue&topic;

2018-05-08

rabbitmq-server-windows-3.6.12.zip

RabbitMQ 3.6.12 is a maintenance release. Upgrades and Compatibility See the "Upgrading clusters" section of the documentation for general documentation on upgrades. This release has no other known incompatibilities with versions 3.6.7 through 3.6.11. See the upgrade and compatibility sections in the 3.6.7 release notes if upgrading from an earlier release. Core Server Bug Fixes Process responsible for running the autoheal partition handling strategy could run into a deadlock with its peers, preventing autoheal from completing. GitHub issue: rabbitmq-server#1346 Garbage collection of mirrored queue metrics on nodes that did not host a master or mirror for a queue affected delivery and acknowledgement rates. This could result in rates being 0 or negative when they should not be. GitHub issue: rabbitmq-server#1340 Stats emission could prevent queue mirrors from performing garbage collection and consume memory even when they were empty. GitHub issue: rabbitmq-common#220 (continuation to rabbitmq-common#196) RABBITMQ_SCHEDULER_BIND_TYPE and RABBITMQ_DISTRIBUTION_BUFFER_SIZE now can be set via rabbitmq-env.conf. GitHub issue: rabbitmq-server#1338 Shovel Management Plugin Bug Fixes Passwords in source and destination URIs are now redacted out. GitHub issue: rabbitmq-federation-management#15 Federation Management Plugin Bug Fixes Passwords in upstream URIs are now redacted out. GitHub issue: rabbitmq-federation-management#15 Upgrading To upgrade a non-clustered RabbitMQ simply install the new version. All configuration and persistent message data are retained. When upgrading using definitions export/import from versions earlier than 3.6.0, see http://rabbitmq.com/passwords.html. To upgrade a RabbitMQ cluster, follow the instructions in RabbitMQ documentation.

2017-10-30

eclipse-jee-mars-2-win32-x86_64.zip 工具

eclipse-jee-mars-2-win32-x86_64.zip eclipse 火星版本

2016-04-08

R-3.4.1(R语言sdk)

R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.

2017-08-23

svn 命令行安装包

svn 命令行安装包,直接直接通过 svn checkout svn://172.30.11.11/my_dev

2016-04-08

DevCenter--Cassandra

DataStax for Developers Learn and build with your favorite language and a friendly GUI.

2018-01-17

protobuf3.0-windows

protobuf3.0,在windows下面的安装说明文档,以及proto.exe,以及如何编译成java的jar包得说明

2016-04-21

erlang19安装包

Erlang/OTP 19.1 is a service release containing mostly bug fixes, as well as a number of new features and characteristics improvements. Some highlights of the release are: erts: Improved dirty scheduler support. A purge of a module will not have to wait for completion of all ongoing dirty NIF calls. erts: Improved accuracy of timeouts on MacOS X. kernel: Add net_kernel:setopts/2 and net_kernel:getopts/2 to control options for distribution sockets in runtime. asn1: Compiling multiple ASN.1 modules in the same directory with parallel make (make -j) should now be safe. httpd: support for PUT and DELETE in mod_esi ~30 contributions since 19.0

2016-12-02

指令集时钟周期

ASM为Assembly的简写,ASM指令的含义为汇编指令(泛指Intel 80X86 CPU中的指令集)。 ASM指令是为编程人员编写程序准备的,编译器将会把ASM指令真正的翻译成机器代码(能控制CPU做出操作的代码)。 ASM至今运用广泛,2015年所有的个人电脑,大型服务器绝大多数使用ASM指令集。 ASM的优点在于指令广泛和丰富,处理大型数据游刃有余,但是缺点也是显而易见的,由于指令的长度不等与指令的复杂,其耗能大,CPU体积也大。

2017-12-21

mariadb-10.3.6-winx64.zip

MariaDB is free and open source software The MariaDB database server is published as free and open source software under the General Public License version 2. You can download and use it as much as you want free of charge. All use of the binaries from mariadb.org is at your own risk as stated in the GPLv2. While we do our best to make the world’s best database software, the MariaDB Foundation does not provide any guarantees and cannot be hold liable for any issues you may encounter. The MariaDB Foundation does not provide any help or support services if you run into troubles while using MariaDB. Support and guarantees are available on commercial terms from multiple MariaDB vendors. There are alse many resources you can use to learn MariaDB and support yourself or get peer support online.

2018-05-09

canal.deployer-1.0.25.tar.gz

阿里巴巴mysql数据库binlog的增量订阅&消费组件 基于日志增量订阅&消费支持的业务: 数据库镜像 数据库实时备份 多级索引 (卖家和买家各自分库索引) search build 业务cache刷新 价格变化等重要业务消息

2018-05-12

redis2.8 windows 64

redis2.8 windows 64位版本的,在本地测试使用 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

2018-04-16

mariadb-10.0.7-winx64.zip

MariaDB is free and open source software The MariaDB database server is published as free and open source software under the General Public License version 2. You can download and use it as much as you want free of charge. All use of the binaries from mariadb.org is at your own risk as stated in the GPLv2. While we do our best to make the world’s best database software, the MariaDB Foundation does not provide any guarantees and cannot be hold liable for any issues you may encounter.

2018-05-09

xml 格式化工具

xml 格式化工具,可以进行格式化优雅的显示形式.

2016-11-17

LuaForWindows

Installation of Lua for the Windows operating systems including many lua libraries. NOTICE Development move to GitHub https://github.com/rjpcomputing/luaforwindows Overview Lua for Windows is a 'batteries included environment' for the Lua scripting language on Windows. Lua for Windows (LfW) combines Lua binaries, Lua libraries with a Lua-capable editor in a single install package for the Microsoft Windows operating system. LfW contains everything you need to write, run and debug Lua scripts on Windows. A wide variety of libraries and examples are included that are ready to use with Microsoft Windows. LfW runs on Windows 2000 and newer versions of Windows. Lua and its associated libraries are also available for other operating systems, so most scripts will be automatically cross-platform.

2017-06-21

SwitchHosts

SwitchHost! 这是一个用于快速切换 hosts 文件的小程序,基于 Python 和 wxPython 开发。 功能特性: •快速切换 hosts •跨平台(基于 wxPython) •hosts 文件语法高亮 •可为不同的 hosts 方案设置不同的图标 •切换 hosts 方案时浮出窗口提示 更新历史: •2011-12-14 允许输入超长的 hosts 方案。 •2011-10-09 发布 0.1.6 版,修复若干 bug,增加自动检查最新版本的功能。 •2011-09-29 发布 0.1.5 版,新增 hosts 内容语法高亮。 •2011-09-28 发布 0.1.4 版,新增“添加”、“删除”按钮;hosts 内容修改后自动保存;修改若干 bug。 •2011-09-19 发布 0.1.3 版,修复若干 bug。 •2011-09-15 发布 0.1.2 版,添加主面板,可以主面板上对 hosts 进行增加、删除、编辑、重命名等操作。 •2011-09-02 发布 0.1.0 版,完成基本功能。 不起作用的话,请运行管理员权限运行

2017-02-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除