精华内容
下载资源
问答
  • 2021-07-06 21:24:24

    很有幸遇上周老师第八部计算机技术书籍——《凤凰架构》一书的出版。

    恰逢自己也在往架构的方向走,而前一段时间在经历了系统架构不良带来的巨大痛苦后,对系统架构的认识更加的深刻了,特别是在AI领域,目前并没有比较通用的架构,目前已有的架构也更多的是居于具体业务的实现。当遇到周老师的《凤凰架构》一书时,也引起了自己颇多的思考。

    如周老师书中所描述:在软件工程里,任何产品的研发,只要时间尺度足够长,人就总会疏忽犯错,代码就总会携有缺陷,电脑就总会宕机崩溃,网络就总会堵塞中断。为了得到高质量的软件产品,我们是应该把精力更多地集中在提升其中每一个人员、过程、产出物的能力和质量上,还是该把更多精力放在整体流程和架构上?

    周老师从架构的演进方向上逐步引出凤凰架构一说。面对当前不断变得复杂的应用,大家应用的架构也在不断的升级中,技术架构上呈现出“从大到小”的发展趋势,架构扮演的角色也逐步从大的臃肿往小而精美方向走。但业务复杂度依然存在的情形下,怎么做到小而精美,据此有了如远程服务、事物处理、分流系统、架构安全性、分布式、流量治理、可靠通讯等通用的专业的小模块的出现。

    在应用中要重视架构,但不能仅仅依赖于架构,因为架构并不是被发明出来的,而是持续演进的结果,是随着需求的不断变化而持续演进的,架构总是要为需求服务的,能满足需求的架构才是好的架构。正如该书中也有提及,《没有银弹:软件工程的本质性与附属性工作》和《人月神话:软件项目管理之道》里都反复强调着一个观点:软件研发中任何一项技术、方法、架构都不可能是银弹。

    面对巨大的软件市场,对于架构的探索与探讨永远都是不过时的。

    在应用的不断复杂化下,我们当前所已知的架构还远远不能满足当前的需求,我们还需要有更多的如《凤凰架构》一样精彩的架构书籍的出现,当然,在那之前,或许先阅读一番《凤凰架构》一书可能会是一个不错的选择。

    更多相关内容
  • 如何阅读一本书-读书笔记

    千次阅读 多人点赞 2021-04-03 23:11:24
    文章目录作者介绍本书主要内容第篇 阅读的层次阅读的活力与艺术阅读的层次基础阅读检视阅读如何做个自我要求的读者第二篇 阅读的三个层次:分析阅读第阶段:了解这本书在谈什么第二阶段:作者是如何将内容写...

    在这里插入图片描述

    作者介绍

    莫提默·J·艾德勒(1902-2001)以学者、教育家、编辑人等多重面貌享有盛名。除了写作《如何阅读一本书》外,以主编《西方世界的经典》,并担任1974年第十五版《大英百科全书》的编辑指导而闻名于世。 查尔斯·范多伦(1926- )先曾任美国哥伦比亚大学教授。后因故离任,和艾德勒一起工作。一方面帮助艾德勒编辑《大英百科全书》,一方面将本书1940年新版由两人共同署名。

    本书主要内容

    1、介绍阅读的层次,包括基础阅读,检视阅读,分析阅读,主题阅读。这四个层次由浅入深。

    2、分别介绍了四个阅读层次的阅读方法,重点是检视阅读和分析阅读。主题阅读难度最高,也是需要花大力气掌握的一项技能。

    3、详细介绍各个类别书籍的阅读方法。

    4、介绍阅读与心智的成长。包括好书的重要作用,书籍的金字塔结构(好书比例少)

    第一篇 阅读的层次

    阅读的活力与艺术

    • 主动的阅读

      • 阅读的目标

        • 娱乐消遣:愉快的体验,不怎么费脑筋
        • 获取资讯:增加知识,不能促进理解
        • 增进理解:依据一定的方法,促进理解
      • 主动阅读的四个问题

        • 这本书在谈什么
        • 找出作者的主旨
        • 这本书说的有道理,是全部道理,还是部分道理
        • 这本书跟我有什么关系

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    阅读的层次

    在这里插入图片描述

    • 基础阅读
    • 检视阅读
    • 分析阅读
    • 主题阅读

    基础阅读

    • 也叫初级阅读、基本阅读或初步阅读。这个阶段要求认字便可,通常是在小学时完成的学习

    检视阅读

    • 定义

      • 也叫略读或预读,在规定的时间内完成一项阅读的功课,抓住一本书的重点,学习到书的表面所交给我们的一切
    • 粗读或者略读的技巧

      • 几分钟到一小时了解书的方法
      • 掌握检视阅读才开始真正阅读
      • 不掌握基础阅读无法检视阅读
      • 检视阅读包括略读或粗读
    • 系统阅读的六个步骤

      • 1、了解主题,书名,副标题或者序言
      • 2、了解整体架构,研究目录
      • 3、了解关键词,如书中的索引,词条
      • 4、了解作者,读一些作者的介绍有助于了解这本书
      • 5、了解重点章节,挑选几个跟主题相关的章节快速翻阅
      • 6、了解逻辑线索,打开书随便念一两段,有时连续读几页,不要太多,留意后记

      如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    • 粗浅阅读的妙处

      • 如果有本很难的书,一开始精读很可能是个错误,碰到不懂的地方不要停下来查询或者思索
      • 我们受到的教育是不懂的地方,马上停下来查询,这往往会把阅读的快乐破坏了
    • 粗读的目的

      • 很短的时间内对本书有个整体的认识
      • 确定这本书是否值得深入读一读,属于哪一类书籍
      • 不是每一本书都值得读
      • 如果值得读,那接下来你就需要掌握分析阅读的方法
      • 掌握分析阅读才是真正的会读书的人

    如何做一个自我要求的读者

    • 如何做笔记

      • (1)画底线—在主要的重点,或重要又有力量的
      • (2)在画底线处的栏外再加画一道线
      • (3)在空白处做星号或其他符号—要慎用,只用来强调书中十来个最重要的声明或段落即可。
      • (4在空白处编号—作者的某个论点发展出一连串的重要陈述时,可以做顺序编号。
      • (5)在空白处记下其他的页码—强调作者在书中其他部分也有过同样的论点,或相关的要点,
      • (6)将关键字或句子圈出来—这跟画底线是同样的功能。
      • (7)在书页的空白处做笔记—书前的空白页最好是用来记载你的思想。你读完一本书,在最后的空白页写下个人的索引后,再翻回前面的空白页,试着将全书的大纲写出来

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    第二篇 阅读的三个层次:分析阅读

    第一阶段:了解这本书在谈什么

    • 知道这本书是哪一类书

    • 使用一句话或者一段小文字来描述整体内容,找到本书的骨架,这是主动阅读最为重要的

    • 讲书的重点讲解列举出来,来说明整体架构,列出一个大纲,按照先后顺序列举

    • 找出作者要问的问题,以及问题的主次和先后,发现作者的意图

    • 总结

      • 1、分类:这本书的种类或者主题
      • 2、概括:这本书的主要内容是什么
      • 3、梳理:这本书用怎样的结构写的
      • 4、总结:作者关注或想解决什么问题

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    第二阶段:作者是如何将内容写出来的

    • 找出重点单词

    • 将重要的句子圈出来,找出主旨

    • 从最重要的句子中关联本书架构逻辑

    • 找出作者的解答,哪些问题解决了,哪些问题没有解决

    • 总结

      • 1、定义:这本书的各种术语
      • 2、理解:这本书作者想让你关注的话
      • 3、逻辑:这本书是怎样推导出结论的
      • 4、答案:作者的观点是什么

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    第三阶段:评论这本书,批判思考

    • 不了解内容就没有发言权:当你说出我同意,我反对或者结论之前,你一定要说这本书的内容我了解了
    • 要理性的表达自己的意见:当你不同意作者的观点时,要理性的表达自己的意见,不要无力的辩驳或争论
    • 尊重知识与个人观点的不同:在做出任何批判之前,要找出理论依据

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    如何阅读一本书!6个步骤实现速读,15个规则读透全书,福利

    第三篇 阅读不同读物的方法

    在这里插入图片描述

    如何阅读实用型的书

    如何阅读想象文学

    阅读故事、戏剧与诗歌的一些建议

    如何阅读历史书

    如何阅读科学与数学

    如何阅读社会科学

    第四篇 阅读的最终目标

    主题阅读

    • 最高层次的阅读

      • 优先级检索全部阅读
      • 部分书籍阅读
      • 对比分析阅读
    • 1、找到内容

      • 你关心的主题才是重点,而不是你阅读的书,你要找到本书对你研究的主题有什么参考价值,而不是仅仅理解本书的内容
    • 2、引导作者

      • 由阅读者建立共识,带引你的作者们与你达成共识,而不是你跟着他们走,用自己的语言消化不同作者的词汇,消除歧义,融会贯通
    • 3、理清问题

      • 列出可以把我们的主旨说的比较明白的问题,然后让作者来回答这些问题,不过我们不能把思想强加作者
    • 4、界定议题

      • 如果一个问题很清楚,我们也确定各个作者会用不同的方式来回答,不论是赞同还是反对,那么这个议题就被定义出来了,有矛盾回答的议题才是真议题
    • 5、分析讨论

      • 身为主题的阅读者,我们的责任不仅仅要回答这个问题,我们可以找到问题的答案,与其说立足于任何一组答案,不如说立足有顺序清楚的讨论本身

    阅读与心智的成长

    • 好书能给我们什么帮助

      • 一本好书能教你了解这个世界以及你自己
      • 你不只更懂得如何读得更好,还更懂得生命
      • 你变得更有智慧,你会成为一位智者,对人类生命中永恒的真理有更深刻的体会
    • 读书金字塔

      • 让你成长的书,越读越厚
      • 让你学习的书,越读越薄
      • 让你娱乐的书,看过就忘
    • 生命与心智的成长

    展开全文
  • 一本书讲透数据治理

    千次阅读 2021-12-08 01:30:46
    在大数据时代,“数据治理”对所有拥有大量数据的公司来说都是个挑战。业内还流传着“数字转型,治理先行”的说法。越来越多的企业将数据治理作为数字化战略的项必要举措,并将其列入企业的战略行动...

    43074703aac02ebaf426420284b19415.gif

    在大数据时代,“数据治理”对所有拥有大量数据的公司来说都是一个挑战。业内还流传着“数字转型,治理先行”的说法。越来越多的企业将数据治理作为数字化战略的一项必要举措,并将其列入企业的战略行动计划。

    “数据治理”的重点在于“治理”,它是一个涉及企业战略、组织架构、数据标准、管理规范、数据文化、技术工具的综合体。没有数据治理实践经验的人一定会认为:“哇,数据治理好高端!又是战略,又是标准,又是文化,听起来很高深嘛!”然而,真正做过数据治理的人会告诉你:“数据治理不仅是苦活、累活,还是个受累不讨好、经常背锅、不容易让领导看见价值的活。”

    “数据治理,说起来容易,做起来难。”这是业界的共识。在数字化转型过程中,数据治理不得不做,但又难以做好,这成了企业的一个“魔咒”。

    什么是数据治理?

    数据治理治的是数据吗?

    为什么要实施数据治理?

    数据治理会遇到哪些挑战

    数据治理的关键要素是什么?

    数据治理有哪些常见误区

    数据治理在哪里治,源头系统还是数据中台?

    数据治理的实施方法论是什么?

    数据治理的关键技术有哪些?如何应用这些技术?

    数据治理需要哪些工

    如何保证企业数据质量的长治久安?

    bd0e013f1cf26299e84512143d42bfaa.png

    《一本书讲透数据治理》这本书中,结合作者自身多年的数据项目经验,总结出了企业数据治理规划和落地的“3个机制、8项举措、7种能力、7把利剑”,分别对应企业数据治理之企业数据治理企业数据治理之企业数据治理之四部分内容,希望能够为企业数据治理工作的规划和落地提供一些思路和启发。

    d31573f6b9e0572fcbf0a5401122ac1c.png

    读者对象

    本书适合正在或希望从事数据治理、数据管理工作的相关人员阅读。本书为正在寻求数字化转型的企业提供了数据治理的思路和框架,因此特别适合这些企业的CIO、CDO、IT总监、IT经理、项目经理、业务主管、业务骨干、数据管理员、数仓开发工程师、数据分析师等阅读。

    本书希望

    99b404e809a07922a1dacb84b3d3a9d0.png帮助那些想学习数据治理的新手建立对数据治理的整体认识;

    d3e48e5be9cf5068e73610328d2bbec0.png帮助那些了解数据治理零散知识的人建立起数据治理知识体系;

    898a259c4da31ace7e3604f952a6fac7.png为那些正在或计划进行数据治理的相关人员提供一定的方法和参考案例;

    a08419ed7f654ccc9f6b857256751188.png帮助那些正在从事数据治理却屡碰难题、饱受挫折的人找到新的思路和方法。

    本书特色

    69190185f8f1c22ee7939817d5c85b10.png不仅包含业界主流的数据治理理论框架,还包含用友平台与数据智能团队多年的数据项目实战经验总结;

    47a5ceac22a2efaf3241625227a4bf5b.png不仅涉及数据治理在战略层面的顶层设计,还囊括数据治理在落地执行层面的实施方法;

    f5bce8b7c6429f52fe4c4885eb57f464.png不仅可以作为配合企业数据治理的纲领性指南,还可以作为数据管理人员开展数据治理的实操手册。

    c74e12d19d878757d55b6e834e8ac0ad.png

    作者简介

    罗小江

    用友集团助理总裁、平台和数据智能事业部总经理、北京软件和信息服务业协会云计算专委会副会长、中国企业财务管理协会企业风险管控专业委员会副主任委员。

    专注于企业数字化平台技术应用研究,具有企业管理、IT等复合知识,并且有丰富的实施交付经验,主导过多个千万级项目的规划及设计工作。参与过来自不同行业的众多企业和机构的信息化建设项目,其中包括中国海关总署、中国一汽、中兴通讯、中国建筑总公司、三一重工、华新丽华、江西贵冶、联想控股、哈电集团、象屿集团、厦门国贸、国电投、东方传媒、施耐德等。

    石秀峰

    用友集团数据治理专家、中国电子商会数据资源服务创新专业委员会受聘专家、数据质量管理智库(DQPro)受聘专家。

    深耕数据领域十余年,曾主导过多家大型集团的数据治理、数据集成等项目的咨询和落地,其中包括江西贵冶、中国振华电子集团、隆平高科、象屿集团、太阳纸业、中广核风电、中国航天科技集团、航空工业集团、国家电网等。

    本书赞誉

    本书结合国内外数据治理理论框架以及用友平台与数据智能团队多年的实战经验,详细阐述了数据治理的理论、方法、技术和工具,希望能够为企业打好数智商业创新的数据基础提供启示和帮助。

    ——王文京 用友集团董事长

    本书对数据治理的体系规划、落地方法、技术工具、实践案例等方面进行了系统阐述,对企业落地数据治理具有一定的借鉴意义。

    ——安筱鹏博士 阿里研究院副院长/中国信息化百人会执委

    用通俗的语言把数据治理讲透了,既有理论高度,又具有实战参考意义,还提出了许多新概念、新观点,这是本书的价值所在。

    ——汪广盛 DAMA中国区主席

    本书由表及里地分析了系统性提升企业数据管理能力的方法,具有很强的实用性。

    ——陈果 波士顿咨询Platinion董事总经理

    本书作者之一石秀峰是数据领域的“老法师”,这本书凝结了他们团队丰富的专业经验。如果你想全面了解数据治理并学以致用,那就赶快翻开这本书吧!

    ——付晓岩 《企业级业务架构设计》《银行数字化转型》《聚合架构》等畅销书作者

    本书在多个行业典型案例实践的基础上,对数据治理的理论、路径和方法进行了全面、系统的归纳和总结,有很多独到的见解。本书源于实践、基于案例、理论联系实际、内容翔实、案例丰富、深入浅出,具有很强的实操性和指导性。

    ——陈新河 中关村大数据产业联盟副秘书长/中数智汇独立董事/聚合数据独立董事

    本书从不同视角对数据治理的价值、现状、问题、挑战进行阐述,涵盖了数据治理的方方面面,可以指导企业从无到有建立并健全数据治理体系,全面支撑高质量的数据分析与应用,对企业数据治理具有指导作用。

     ——蔡春久  腾讯云数据治理专家

    本书作者之一石秀峰的公众号文章干货满满,我一直在跟随阅读并经常转发给相关的学员和客户、合作伙伴。这本由石老师主笔的著作真正体系化地讲清楚了数据治理,非常推荐。

    ——郭兰英 青藤时代创始人 

    我主导翻译了DAMA-DMBOK 1和DAMA-DMBOK 2,这两本书的内容相对基础,在面对复杂的数据治理环境时,我们需要贴近一线、理论联系实际的图书来指导实践。这本书深入浅出地讲解了数据治理的方法和技术,可为企业数据治理提供参考和指导。

    ——马欢 数据治理资深专家/DAMA-DMBOK主要译者

    如何阅读本书

    本书分为六部分,共31章,全面阐述数据治理是什么,数据治理为什么重要,数据治理治什么,以及数据治理如何实施。

    第一部分 数据治理概述(第1~3章)

    主要介绍数据治理的概念,数据治理对企业的重要性,企业数据治理的背景、目标、价值,以及国内外数据治理的参考框架,并阐明为什么数据治理是企业数字化转型的必经之路。第3章非常关键,不仅起着承上启下的作用,还是全书的总纲,对企业数据治理的“道、法、术、器”进行概括和说明。

    第二部分 数据治理之道(第4~6章)

    重点介绍数据治理的3个机制—数据战略、组织机制和数据文化,以及如何通过这3个机制形成自我驱动、自我进化、可持续发展和长效运营的数据治理体系。

    第三部分 数据治理之法(第7~14章)

    重点介绍数据治理的8项举措,即理现状与定目标、能力成熟度评估、路线图规划、保障体系建设、技术体系建设、策略执行与监控、绩效考核、长效运营。这8项举措构成了企业数据治理的完整实施方法论。

    第四部分 数据治理之术(第15~21章)

    数据治理是一个很宽泛的概念,涉及的技术非常多,本部分重点总结了数据治理的7种能力,即数据梳理与建模、元数据管理、数据标准管理、主数据管理、数据质量管理、数据安全治理、数据集成与共享。

    第五部分 数据治理之器(第22~29章)

    “术”需要“器”来承载,这一部分将重点介绍数据治理所需的7个主要工具,笔者称之为企业数据治理的7把利剑。它们分别是什么,有哪些特点,相信你都能在本部分中找到答案。

    第六部分 数据治理实践与总结(第30~31章)

    重点介绍数据治理的实践案例,并总结开展数据治理工作应做好的6项准备、应避免的6个误区。最后,再次阐明数据治理是企业数字化转型的必经之路,并对数据治理的技术发展进行展望。

    本书装订

    7e47803cf33c27630c19c58c67550898.png

    44ab981c102958e8138f6145c0269611.png

    内外+外封

    1bc02f4462461b5343767e60ff455530.png

    f2cae10833ecc9e8ca6eaf4f357da5d8.png

    83ccf5e7a0d51bf1cf960bff7e3b72b7.png

    16开硬壳精装

    9039cc1bd4213beb50e7fbda970a1987.png

    扫码抢购

    ad9157730ed2d20adc996a0acb0523d6.png

    a764a9a9b09cd865ad2eb3ff0f0a38ed.gif

    094e9a0c7d20f839115aa28c8eb75c8b.png

    扫码关注【华章计算机】视频号

    每天来听华章哥讲书

    74f26ef418ef5d84b6c2eab84897f909.gif

    更多精彩回顾

    书讯 | 12月书讯(上) | 冬夜寒冷,读书暖心,华章科技上新啦!

    书讯 | 12月书讯(下) | 冬夜寒冷,读书暖心,华章科技上新啦!

    资讯 | IEEE发布2022年科技趋势全球调研:人工智能和机器学习、云计算及5G将成为下一年最重要的技术

    书单 | 8本书助你零基础转行数据分析岗

    干货 | 周志明论架构之道:后微服务时代与无服务时代

    收藏 | 盘点云原生的5大特征

    上新 | 【新书速递】Django3.0应用开发详解

    cf859bad578bde355ad159664dc6cd14.gif

    05b92c2843c4d74859aefa0753a48272.gif

    点击阅读全文购买

    展开全文
  • 史上最全JVM整体架构和调优参数说明,冰河带你彻底理解JVM整体架构与调优技巧,强烈建议收藏!!

    大家好,我是冰河~~

    从今天开始,我们正式开始《架构师进阶系列》技术文的更新,在《架构师进阶系列》中,我们首先一起来探讨有关JVM的知识。

    很多小伙伴都认为JVM的知识很难,很枯燥,不知道该如何学习,买了很多关于JVM的书籍,看了没几页就看不下去了,放到书架里“吃灰”了。

    其实,在互联网这个行业中,谁掌握了底层的核心知识,谁就能在激烈的竞争环境中脱颖而出。JVM看起来很难,只要你掌握了学习JVM的规律和方法,吃透它,其实很简单的。

    文章总体结构

    本文中,我们将按照如下结构介绍JVM的整体架构和调优参数。

    在这里插入图片描述

    JVM的分类

    这里,我们先来说说什么是VM吧,VM的中文含义为:虚拟机,指的是使用软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现。

    常用的虚拟机有:VMWare、Virtual Box,Java Virtual Machine(JVM,Java虚拟机)。

    这里,我们重点聊的就是JVM,Java虚拟机。看下图。

    在这里插入图片描述

    这张图看起来还是比较简单的,JVM运行于操作系统之上,操作系统是运行在计算机硬件上的。

    关于JVM,其实有很多大厂开发了不同版本的JVM,比较知名的有:Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、 Azul VM、 Apache Harmony、 Google Dalvik VM、 Microsoft JVM等等。

    现在使用的比较多的JDK8版本就是Sun HotSpot VM与BEA JRockit VM合并之后开发出的JDK版本。

    JVM的构成

    JVM主要由三个子系统构成,分别为:类加载器子系统、运行时数据区(内存结构)和字节码执行引擎
    在这里插入图片描述

    为了更好的理解JVM,我们来看一下JVM的全貌图。

    在这里插入图片描述

    当我们开发Java程序时,首先会编写.java文件,之后,会将.java文件编译成.class文件。

    JVM中,会通过类装载子系统将.class文件的内容装载到JVM的运行时数据区,而JVM的运行时数据区又会分为:方法区、堆、栈、本地方法栈和程序计数器 几个部分。

    在装载class文件的内容时,会将class文件的内容拆分为几个部分,分别装载到JVM运行时数据区的几个部分。其中,值得注意的是:程序计数器的作用是:记录程序执行的下一条指令的地址。

    方法区也叫作元空间,主要包含了:运行时常量池、类型信息、字段信息、方法信息、类加载器的引用、对应的Class实例的引用等信息。

    在JVM中,程序的执行是通过执行引擎进行的,执行引擎会调用本地方法的接口来执行本地方法库,进而完成整个程序逻辑的执行。

    我们常说的垃圾收集器是包含在执行引擎中的,在程序的运行过程中,执行引擎会开启垃圾收集器,并在后台运行,垃圾收集器会不断监控程序运行过程中产生的内存垃圾信息,并根据相应的策略对垃圾信息进行清理。

    这里,大家需要注意的是:栈、本地方法栈和程序计数器是每个线程运行时独占的,而方法区和堆是所有线程共享的。所以,栈、本地方法栈和程序计数器不会涉及线程安全问题,而方法区和堆会涉及线程安全问题。

    方法区(元空间)

    很多小伙伴一看到方法区三个字,脑海中的第一印象可能是存储方法的地方吧。

    实则不然,方法区的另一个名字叫作元空间,相信不少小伙伴或多或少的听说过元空间。这个区域是JDK1.8中划分出来的。主要包含:运行时常量池、类型信息、字段信息、方法信息、类加载器的引用、对应的Class实例的引用等信息。方法区中的信息能够被多个线程共享。

    例如,在程序中声明的常量、静态变量和有关于类的信息等的引用,都会存放在方法区,而这些引用所指向的具体对象 一般都会在堆中开辟单独的空间进行存储,也可能会在直接内存中进行存储

    在这里插入图片描述

    堆中主要存储的是实际创建的对象,也就是会存储通过new关键字创建的对象,堆中的对象能够被多个线程共享。堆中的数据不需要事先明确生存期,可以动态的分配内存,不再使用的数据和对象由JVM中的GC机制自动回收。对JVM的性能调优一般就是对堆内存的调优

    Java中基本类型的包装类:Byte、Short、Integer、Long、Float、Double、Boolean、Character类型的数据是存储在堆中的。

    堆一般会被分成年轻代和老年代。而年轻代又会被进一步分为1个Eden区和2个Survivor区。在内存分配上,如果保持默认配置的话,年轻代和老年代的内存大小比例为1 : 2,年轻代中的1个Eden区和2个Survivor区的内存大小比例为:8 : 1 : 1。

    在这里插入图片描述

    栈一般又叫作线程栈或虚拟机栈,一般存储的是局部变量。在Java中,每个线程都会有一个单独的栈区,每个栈中的元素都是私有的,不会被其他的栈所访问。栈中的数据大小和生存期都是确定的,存取速度比较快。

    在Java中,所有的基本数据类型(byte、short、int、long、float、double、boolean、char)和引用变量(对象引用)都是在栈中的。一般情况下,线程退出或者方法退出时,栈中的数据会被自动清除

    程序在执行过程中,会在栈中为不同的方法创建不同的栈帧,在栈帧中又包含了:局部变量表、操作数栈、动态链接和方法出口。

    在这里插入图片描述

    关于局部变量表、操作数栈、动态链接和方法出口的具体作用,会在《架构师进阶系列》中的后续文章中详细阐述。

    栈中一般会存储对象的引用,这些引用所指向的具体对象一般都会在堆中开辟单独的地址空间进行存储,也有可能存储在直接内存中。
    在这里插入图片描述

    注意: 这里说的是这些引用所指向的具体对象一般都会在堆中开辟单独的地址空间进行存储,也有可能存储在直接内存中。

    因为在JVM中,如果开启了逃逸分析和标量替换,则可能不会再在堆上创建对象,可能会将对象直接分配到栈上,也可能不再创建对象,而是进一步分解对象中的成员变量,将其直接在栈上分配空间并赋值。

    本地方法栈

    本地方法栈相对来说比较简单,就是保存native方法进入区域的地址。

    例如,在Java中创建线程,调用Thread对象的start()方法时,会通过本地方法start0()调用操作系统创建线程的方法。此时,本地方法栈就会保存start0()方法进入区域的内存地址。

    程序计数器

    程序计数器也叫作PC计数器,只要存储的是下一条将要执行的命令的地址。

    JVM调优参数

    在JVM中,主要是对堆(新生代)、方法区和栈进行性能调优。各个区域的调优参数如下所示。

    • 堆:-Xms、-Xmx
    • 新生代:-Xmn
    • 方法区(元空间):-XX:MetaspaceSize、-XX:MaxMetaspaceSize
    • 栈(线程):-Xss

    为了更加直观的表述,我们可以将JVM的内存区域和对应的调优参数总结成下图所示。

    在这里插入图片描述

    在设置JVM启动参数时,需要特别注意方法区(元空间)的参数设置。

    关于方法区(元空间)的JVM参数主要有两个:-XX:MetaspaceSize和-XX:MaxMetaspaceSize。

    -XX:MetaspaceSize: 指的是方法区(元空间)触发Full GC的初始内存大小(方法区没有固定的初始内存大小),以字节为单位,默认为21M。达到设置的值时,会触发Full GC,同时垃圾收集器会对这个值进行修改。

    如果在发生Full GC时,回收了大量内存空间,则垃圾收集器会适当降低此值的大小;如果在发生Full GC时,释放的空间比较少,则在不超过设置的-XX:MetaspaceSize值或者在没设置-XX:MetaspaceSize的值时不超过21M,适当提高此值。

    -XX:MaxMetaspaceSize: 指的是方法区(元空间)的最大值,默认值为-1,不受堆内存大小限制,此时,只会受限于本地内存大小。

    最后需要注意的是: 调整方法区(元空间)的大小会发生Full GC,这种操作的代价是非常昂贵的。如果发现应用在启动的时候发生了Full GC,则很有可能是方法区(元空间)的大小被动态调整了。

    所以,为了尽量不让JVM动态调整方法区(元空间)的大小造成频繁的Full GC,一般将-XX:MetaspaceSize和-XX:MaxMetaspaceSize设置成一样的值。例如,物理内存8G,可以将这两个值设置为256M

    最后,我们一起看下在物理内存8G的情况下,启动应用程序时,可以设置的JVM参数。当然,我这里给出的是一些经验值,实际部署到生产环境时,需要经过压测找到最佳的参数值。

    • 启动SpringBoot
    java ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐XX:MetaspaceSize=256M ‐XX:MaxMetaspaceSize=256M ‐jar xxx.jar
    
    • 启动Tomcat(Linux)

    在Tomcat bin目录下catalina.sh文件里配置。

    ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐XX:MetaspaceSize=256M ‐XX:MaxMetaspaceSize=256M
    
    • 启动Tomcat(Windows)

    在Tomcat bin目录下catalina.bat文件里配置。

    ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐XX:MetaspaceSize=256M ‐XX:MaxMetaspaceSize=256M
    

    总结

    今天,我们一起学习了JVM的整体架构和调优参数,主要包括:JVM的总体结构、JVM的分类、JVM的构成和调优参数。你学会了吗?欢迎在文末留言说出你的想法,如果你有更好的见解,也可以在文末留言和大家交流。

    写在最后

    如果你想进大厂,想升职加薪,或者对自己现有的工作比较迷茫,都可以私信我交流,希望我的一些经历能够帮助到大家~~

    推荐阅读:

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,我是冰河,我们下期见~~

    👇🏻 搜索下方 公众号 关注我👇🏻
    展开全文
  • 图看懂边缘计算整体架构

    千次阅读 2022-03-31 00:05:20
    导读:本文将对云、边、端协同的边缘计算系统的整体架构进行梳理和分析。作者:崔广章来源:大数据DT(ID:hzdashuju)边缘计算系统整体分为云、边、端三部分,具体如图2-1所示。▲图2-1 边缘计算整体架构(点击图片...
  • 架构师推荐书籍

    千次阅读 2020-05-24 23:18:49
    大家老是让我推荐书单,我就安排波吧,我不会全部推荐技术书籍,因为我觉得收获最大的反而是我看的一些非技术书籍。 友情提示:实体买多了,搬家会累死个人,能买电子书的还是电子书,不过技术书籍看电子书又很...
  • 软件架构设计说明该怎么写?

    千次阅读 2021-03-30 00:42:02
    点击上方蓝字,关注我们背景架构设计不是架构师的专属工作,对非技术人员甚至是开发人员来说,从实实在在的需求到高神莫测的架构设计仿佛是个神秘的过程,只有具有架构师头衔的人才能掌握各中玄妙,这...
  • 读书笔记-架构整洁之道有感

    千次阅读 多人点赞 2022-01-29 10:24:32
    什么是软件结构独立性划分边界边界剖析策略与层次业务逻辑尖叫的软件架构整洁架构展示器和谦卑对象不完全边界层次与边界Main组件服务:宏观与微观测试边界整洁的嵌入式架构 数据库只是实现细节 作者在中说了段...
  • 在这个Spring框架大行其道的软件开发世界里,尚有很多工程师天天在用,但是从来不会去思考下,Spring框架的整体架构到底是什么样子的啊。 、首先通过维基百科看看什么是Spring框架 维基百科的地址:Spring框架的...
  • 怎样成为个优秀的架构师?

    万次阅读 多人点赞 2019-10-08 17:15:37
    架构师是个既能掌控整体又能洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。看似完美的“人格模型”背后,是艰辛的探索。 架构师不是个人,他需要建立高效卓越的体系,带领团队去攻城略地,在...
  • muduo网络库源码分析——整体架构

    千次阅读 2018-10-09 22:54:29
    muduo的源代码中,虽然不考虑可移植性,但还是划分了很多小的类(Channel、Socket、TcpConnection、Acceptor,不知道是不是参考了java中的概念),类之间大量通过boost::...本文的主要目的:从整体架构上分析muduo的...
  • 测试架构师修炼之道--读书笔记

    千次阅读 2018-04-30 14:07:50
    部分 瓶颈:软件测试工程师该如何进行职业规划第1章 软件测试工程师的“三年之痒”1.1 软件测试发展简史:调试--证实--证伪--预防--模型--全周期;1.2 中国的软件测试行业:起点高;困境和迷局(不了解、不理解...
  • 10Java架构师必读书籍

    千次阅读 2019-10-18 11:15:42
    本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍。 从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建Java中间件的...
  • PMP 项目管理 整体架构 思维导图 解读

    万次阅读 多人点赞 2019-10-31 20:06:23
    PMP 项目管理整体架构思维导图 解读 PMP 项目管理(01)引论思维导图 解读 PMP 项目管理(02)项目运行环境思维导图 解读 PMP 项目管理(03)项目经理角色思维导图 解读 PMP 项目管理(04)项目整合管理思维导图...
  • 架构设计说明该怎么写?

    千次阅读 2020-05-05 22:38:35
    前言架构设计是需求分析到软件实现的桥梁,也是决定软件质量的关键。编制架构设计说明是开发人员向架构师转变必定会经历的过程。承接上文:如何做架构设计说明 (点击直达)本文来说一下如何写架...
  • 读《如何阅读一本书》乱摘

    千次阅读 2016-06-09 23:28:00
    《如何阅读一本书》 - 莫提默•J.艾德勒 & 查尔斯•范多伦 著 - 郝明义 朱衣 译 来自简书。 如何第一次读本书? 我们每个人都有这样的体经验:对一本难读的书抱有高度期望,以为它能启发我们,结果却只是在...
  • 五分钟熟悉 SpringCloud整体架构

    万次阅读 2020-12-06 09:19:53
    SpringCloud整体架构概览 什么是SpringCloud 目标 协调任何服务,简化分布式系统开发。 简介 构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性、...
  • 强烈推荐10程序员必读的

    万次阅读 多人点赞 2020-01-26 03:42:34
    很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经...我花了天的时间,挑选了 10 我最喜欢的,你可以挑选感兴趣的来读读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
  • 欢迎在评论区留言 我们将在 11 月 25 日精选出 3 条优质留言 赠送华为官方出品《华为数据之道》纸质书籍一本哦! 更多阅读推荐 大神们都是如何在时间序列中进行特征提取的?看完就懂了! 如何破解“中国开源拿来...
  • 云原生架构种创新的软件开发方法,专为充分利用云计算模型而设计。它使组织能够使用微服务架构将应用程序构建为松散耦合的服务,并在动态编排的平台上运行它们。因此,基于云原生应用程序架构构建的应用程序是...
  • 03 大咖推荐 本书是一本非常好的解决方案架构师手册,因为它系统、全面,并且与时俱进。这本手册涵盖了SOA、云迁移和混合云、无服务器、微服务、基于队列、事件驱动、大数据等架构设计模式,对性能、安全性、可靠性...
  • 软件架构已经成为每个软件项目的重要组成部分,在构建可靠的软件体系结构时,明确该系统最重要的组成部分,考虑这些部分如何组合在一起,并在设计这些系统时做出关键决策,是任何软件开发项目的基础 。   高级...
  • 7.第七课:区块链的整体架构

    千次阅读 2020-06-09 10:04:41
    区块链本身不是新技术,可以说它是种技术架构。无论你擅长什么编程语言,都能够参考这种设计去实现款区块链产品。 我们的课程也是按照区块链的技术架构,从底层数据层慢慢讲起,讲到上层的应用。 二、架构图 从...
  • 微服务:架构体系的深度治理

    千次阅读 2019-09-05 16:03:47
    微服务模式下,庞大的服务节点数量、日趋复杂的服务分层、离散的...本文整理自天弘基金(余额宝)移动平台技术总监兼首席架构师李鑫在 QCon 全球软件开发大会(北京站)2019 上的演讲,他基于自身多年微服务治理的实...
  • 本文对《大型互联网企业安全架构》里的核心内容做了梳理,并加入了深层解释。很适合安全小白入门企业安全。
  • 作者 | 章烨明杏仁医生CTO。中老年程序员,关注各种技术和团队管理。引子这个月读了一本书,《系统架构》。然而这本书讲的不仅仅是软件系统的架构,而是更高一个层面,它讲的是...
  • 中台架构的未来在哪—开放式架构

    千次阅读 2020-02-11 14:48:09
    春节前应“技术琐话”之约,试图写篇讨论架构方法论的文章,然而动笔之后,才发现,自己似乎陷入了Frederick P. Brooks先生在《设计原本》一书中指出的问题:“设计中最困难的部分在于决定要设计什么”。 2020年1...
  • 我的新书,《第行代码 Android 第3版》已出版!

    万次阅读 多人点赞 2020-04-02 10:13:08
    《第行代码——Android》这本书自2014年出版以来,已经过了6个年头了。期间Android系统版本经历了4.0到10.0系统的巨大升级,开发技术也发生了翻天覆地的变化。在2016年的时候,我曾对中的内容进行了大幅度的更新...
  • 站:架构师,请从这里上车

    千次阅读 2022-01-22 14:30:15
    同时,本书也是一本设计方案指南,开发人员、设计人员、架构人员均可参考本书,针对遇到的场景进行参考性设计。 包括大型互联网架构设计的四大原则、分布式微服务架构设计、登录功能架构设计、用户安全架构设计、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,644
精华内容 26,657
关键字:

一本书的整体架构