SciTech-EECS-Object Oriented Programing Languages: 面向对象程序设计语言: OOP[封装, 继承, 多态] + [Overload, Overwrite]+ 字符串[String只读, StringBuffer可写加锁, StringBuilder可写不加锁]

SciTech-EECS-Object Oriented Programing Languages: 面向对象程序设计语言:


OOP[封装, 继承, Polymorphism多态]

1000117792 1000117793 1000117794
1000117795 1000117796 1000117797

Polymorphism多态的两种主要方式[Overload, Overwrite]

1000117800 1000117801 1000117802
1000117803 1000117804

Java的基本类型

1000117810 1000117811

Java的 Packaging Classes(OOP化的、由基本类封包好的高级类)

1000117805 1000117806 1000117807
1000117808 1000117809

字符串[String只读, StringBuffer可写加锁, StringBuilder可写不加锁]

1000117813 1000117814 1000117815
1000117817 1000117819 1000117820

Java的String的Intern及String Pool(堆上的常量字符串池:可复用

Program(程序)由许多的Function 相互调用组成;

Function 调用前,会由 OS 设计好其 VMS(虚拟内存空间)映射到统一的Phy.Mem.(物理内存);
分配好 VMS 的内存空间。
最常用的是以下两种:

  • stack虚存存储(在跳出此Scope时会被OS回收实际内存)
    stack 上常由 Compiler 分配 常用的 Variables变量(也可自主分配 stack 上的内存);
    stack 上的 Variables("变量"):
    • 在Function的调用语句执行完后, 会自动为其scope(作用域)的Variables分配虚存并调用其构造函数;
    • 在Function的Return 语句被执行完时,会调用析构函数。
  • heap虚拟存储(由设计师决定何时回收)
    由 Program Designer(程序设计师) 全权管理 heap 内存的分配与回收。
    因为,Program(程序)被假设成可以7×24小时不停机地运行数年、甚至数十年数百年。
    那么,如果某一常调用到的 Function 在 Return 后有 "未回收的heap内存",就会引起"Memory Leakage(存泄露)", 即该Program的内存使用量会越来越大(增长速度由调用速率决定)。
    另外,heap上分配的内存,越连续越好,空间利用率越高。一旦出现一些"细碎的分配",就会严重影响分配效率、空间利用率。
    因此,一定要管理好 heap虚拟存储 的分配与回收。
    Memory Pooling(内存池化)就是是解决"Memory Leakage(存泄露)"、"内存碎片"的极好高效方法,
    这也是大多数 Memory Allocator(内存分配器)用到的核心技术之一。

Java 的 String Intern 机制就是基于 Memory Pooling(内存池化)技术。
Function 的 Scope 的Intern过的 String,
是分配在 stack 上的指针,其值为 heap 上的 String Pool(字符串常量词)。
好处是,
无论调用该 Function 多少次,只涉及 stack 上的内存分配,return 后即自动回收。
而 heap 上的 String Pool 存有的 用到的 常量 String 只分配一次,
就可被该 Program 的 Global Scope(全局作用域)的任一函数所引用,
无论引用该 常量 String,有多少个函数,以及被引用到的Function被调用过多少次。
就可以:

  • 避免频繁地 分配和回收 heap内存,提供分配效率与 Function调用的效率;
  • 提高内存空间利用率、减少内存碎片率。
1000117821 1000117826 1000117823
1000117824 1000117827 1000117828
1000117829 1000117830



怎么制作 这些 "Styling(风格化, 包括漫画) Cartoons漫画"

1000117832

posted @ 2026-05-02 16:06  abaelhe  阅读(7)  评论(0)    收藏  举报