document,2024年最新Linux运维内存泄漏总结

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

1.分析xml文件的结构

将docx文件复制并粘贴,修改后缀名为:.zip。后面的分析都基于这个解压的文件夹进行。
document.xml => 文件的主体内容;
style.xml => 文件的主体样式;

<w:styles xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:wpsCustomData="http://www.wps.cn/officeDocument/2013/wpsCustomData" mc:Ignorable="w14">
<w:docDefaults>
<!-- w:rPrDefault 表示整个文档的run的默认值-->
<w:rPrDefault>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="宋体" w:cs="Times New Roman"/>
</w:rPr>
</w:rPrDefault>
<w:pPrDefault/>
</w:docDefaults>
<!-- w:latentStyles 潜在样式,整个zip文件中找不到对应的,必须要在Word 应用程序中打开才能得到具体的样式信息,在后端用poi也是获取不到的-->
<w:latentStyles w:count="260" w:defQFormat="0" w:defUnhideWhenUsed="1" w:defSemiHidden="1" w:defUIPriority="99" w:defLockedState="0">
<w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="0" w:semiHidden="0" w:name="Normal"/>
<w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="0" w:semiHidden="0" w:name="heading 1"/>
<w:lsdException w:uiPriority="99" w:name="index 1"/>
<w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="39" w:semiHidden="0" w:name="toc 1"/>
<w:lsdException w:uiPriority="39" w:name="toc 5"/>
<w:lsdException w:qFormat="1" w:unhideWhenUsed="0" w:uiPriority="0" w:semiHidden="0" w:name="Normal Indent"/>
</w:latentStyles>
<!-- 从此处开始往后,就都是对于段落,表格样式的描述了-->
<w:style w:type="paragraph" w:default="1" w:styleId="1">
<w:name w:val="Normal"/> 
<w:basedOn w:val="1"/> <!-- 如果有的样式在pPr或者rPr中找不到,也有可能就是在 basedOn w:val指定的styleId对应的样式中,即:在当前的styles.xml中搜索styleId="1"的样式-->
<w:qFormat/>
<w:uiPriority w:val="0"/>
<w:pPr>
<w:widowControl w:val="0"/>
<!-- 编序方式 w:numId => numbering.xml中的w:numId => numbering.xml中的w:abstractNumId => 其下的 w:ilvl与当前文件的 w:ilvl相符的一条数据-->
<w:numPr><w:ilvl w:val="0"/><w:numId w:val="7"/></w:numPr>
<w:jc w:val="both"/> <!-- 段落的对齐方式-->
<!-- w:before => 段前距,单位:缇 = 20磅 w:beforeLines => 段前距,基于行的基础上显示:单倍行距 = 1 \* 100 ,2倍行距 = 2 \* 100 
w:after => 段后距,单位:缇 = 20磅 w:afterLines => 段后距,基于行的基础上显示:单倍行距 = 1 \* 100 ,2倍行距 = 2 \* 100 
w:lineRule => 行间距的单位(auto: x倍行距 , exactly: 固定值 ,atLeast: 最小值)
w:line => 行间距(w:lineRule = exactly/ atLeast时,w:line的单位为:缇;w:lineRule = auto时,w:line的值是 行的相对值 ,即:行数\*240) -->
<w:spacing w:before="785" w:beforeLines="200" w:after="785" w:afterLines="200" w:line="264" w:lineRule="auto"/>
<!-- w:firstLine和w:firstLineChars都表示首行缩进,文本之前多少字符;w:firstLine => 基于240显示,此处表示空2字符; w:firstLineChars => 一百的相对值,此处表示空2字符;w:left和w:leftChars表示文本之前几字符,w:left(单位:缇) = 文字的磅数\*本文之前几字符\*20 , w:leftChars= 100\*文本之前几字符-->
<w:ind w:firstLine="480" w:firstLineChars="200" w:left="210" w:leftChars="100"/>
</w:pPr>
<w:rPr>
<!-- ascii => 英文字体 , hAnsi => 欧洲附加的一些拉丁文字体,eastAsia => 东亚字体(中日韩) , cs => 复杂脚本字体-->
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:kern w:val="2"/>
<w:sz w:val="24"/>
<w:szCs w:val="24"/>
<w:lang w:val="en-US" w:eastAsia="zh-CN" w:bidi="ar-SA"/>
</w:rPr>
</w:style>

对应的numbering.xml中:

<w:abstractNum w:abstractNumId="2">
<w:nsid w:val="2BFD55F5"/>
<w:multiLevelType w:val="multilevel"/>
<w:tmpl w:val="2BFD55F5"/>
<!-- 表示一级标题-->
<w:lvl w:ilvl="0" w:tentative="0"> 
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="[%1]"/><!-- 表示显示的文本内容 %1 => 编号级别0-->
<w:lvlJc w:val="left"/>
<w:pPr>
<w:tabs>
<w:tab w:val="left" w:pos="400"/>
</w:tabs>
<w:ind w:left="400" w:hanging="400"/>
</w:pPr>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
</w:lvl>
<w:lvl w:ilvl="1" w:tentative="0">
<w:start w:val="1"/>
<w:numFmt w:val="lowerLetter"/>
<w:lvlText w:val="%1 %2 %3)"/><!-- %1 => 编号级别为0 ,%2 => 标号级别为1 ,%3 => 编号级别为2,但是页面上不会显示,因为大于当前的编号级别 此处显示各级别当前编号符号值-->
<w:lvlJc w:val="left"/>
<w:pPr>
<w:tabs>
<w:tab w:val="left" w:pos="840"/>
</w:tabs>
<w:ind w:left="840" w:hanging="420"/>
</w:pPr>
</w:lvl>
</w:abstractNum>

2.docx文件(使用XWPFDocument)查看明明是有字体的,但是run.getFontName()取出文字字体失败

rFonts 元素的 asciiTheme、eastAsiaTheme、hAnsiTheme 和 cstheme 4种主题字体的优先级高于ascii、eastAsia、hAnsi 和 cs 属性的字体。

主题字体的获取

1)document.xml中:

<w:rFonts w:hint="eastAsia" w:asciiTheme="minorEastAsia" w:hAnsiTheme="minorEastAsia"/>

style.xml中:

<w:style w:type="paragraph" w:styleId="18">
<w:name w:val="Normal (Web)"/>
<w:basedOn w:val="1"/>
<w:qFormat/>
<w:uiPriority w:val="0"/>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:hAnsi="Calibri"/>
</w:rPr>
</w:style>

2)word文件夹->setting.xml:

<w:themeFontLang w:val="en-US" w:eastAsia="zh-CN"/>

其中 val 属性指定的 en-US 代表英语-美国,eastAsia 属性指定的 zh-CN 代表中文-中华人民共和国,bidi 属性指定的 ar-SA 代表阿拉伯语-沙特阿拉伯(见参考中的国家语言代码表)。
通过该元素,我们可以得到下列映射关系:
majorAscii/majorHAnsi 对应的字体为 val 属性值指定的语言所使用的字体, 对应的是 majorFont 中 latin 元素的 typeface;
majorEastAsia 对应的字体为 eastAsia 属性指定的语言所使用的字体,对应的是 majorFont 中 script 为 Hans 的 font 元素的 typeface;
majorBidi 对应的字体为 bidi 属性指定的语言所使用的字体,对应的是 majorFont 中 script 为 Arab 的 font 元素的 typeface;
minorAscii/majorHAnsi 对应的字体为 val 属性值指定的语言所使用的字体, 对应的是 minorFont 中 latin 元素的 typeface;
minorEastAsia 对应的字体为 eastAsia 属性指定的语言所使用的字体,对应的是 minorFont 中 script 为 Hans 的 font 元素的 typeface;
minorBidi 对应的字体为 bidi 属性指定的语言所使用的字体,对应的是 minorFont 中 script 为 Arab 的 font 元素的 typeface。
不过,如果 DocumentSettingsPart 中未指定 themeFontLang 元素,那么映射关系将如下所示:
majorAscii/majorHAnsi 对应的字体为 majorFont 中 latin 元素的 typeface;
majorEastAsia 对应的字体为 majorFont 中 ea 元素的 typeface;
majorBidi 对应的字体为 majorFont 中 cs 元素的 typeface;
minorAscii/majorHAnsi 对应的字体为 minorFont 中 latin 元素的 typeface;
minorEastAsia 对应的字体为 minorFont 中 ea 元素的 typeface;
minorBidi 对应的字体为 minorFont 中 cs 元素的 typeface。
3)结合setting.xml文件,找到word->theme->theme.xml文件,获取对应的typeface值,可以看到存在一些空的情况。

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-8QFAn7lU-1713320941750)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值