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):使用多个小的专门的接口,而不要使用一个大的总接口。

     

  • 相关阅读:
    HDU 1850 Being a Good Boy in Spring Festival
    UESTC 1080 空心矩阵
    HDU 2491 Priest John's Busiest Day
    UVALive 6181
    ZOJ 2674 Strange Limit
    UVA 12532 Interval Product
    UESTC 1237 质因子分解
    UESTC 1014 Shot
    xe5 android listbox的 TMetropolisUIListBoxItem
    xe5 android tts(Text To Speech)
  • 原文地址:https://www.cnblogs.com/ysw6/p/6011622.html
Copyright © 2011-2022 走看看