zoukankan      html  css  js  c++  java
  • JAVA每日一记

    1.两个最基本的java回收算法:复制算法和标记清理算法
                    复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法
                    标记清理:一块区域,标记要回收的对象,然后回收,一定会出现碎片,那么引出
                    标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象
    两个概念:新生代和年老代
                    新生代:初始对象,生命周期短的
                    永久代:长时间存在的对象
    整个java的垃圾回收是新生代和年老代的协作,这种叫做分代回收。
    P.S:Serial New收集器是针对新生代的收集器,采用的是复制算法
             Parallel New(并行)收集器,新生代采用复制算法,老年代采用标记整理
             Parallel  Scavenge(并行)收集器,针对新生代,采用复制收集算法
            Serial Old(串行)收集器,新生代采用复制,老年代采用标记清理
             Parallel   Old(并行)收集器,针对老年代,标记整理
            CMS收集器,基于标记清理
            G1收集器:整体上是基于标记清理,局部采用复制
     
    2.对象存储在堆内存,引用变量存储在栈内存。栈内存指向堆内存。
     
    3.面向对象五大基本原则
    单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。 
    开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。 
    Liskov替换原则(Liskov-Substituion Principle):子类必须能够替换其基类。这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。 
    依赖倒置原则(Dependecy-Inversion Principle):依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。 
    接口隔离原则(Interface-Segregation Principle):使用多个小的专门的接口,而不要使用一个大的总接口。

     

  • 相关阅读:
    输出最大值 (10 分)
    对象数组初始化 (10 分)
    2018Final静态成员(黑名单)
    寻找回文子串(python)
    cpp-week_one-错题整理
    Python 读入多个整数
    C语言学习—strcpy()和strcat()
    javascript数学对象、自定义对象10.0
    javascript基础DOM对象6.2
    javascript基础DOM对象6.1
  • 原文地址:https://www.cnblogs.com/ysw6/p/6011622.html
Copyright © 2011-2022 走看看