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

     

  • 相关阅读:
    NLP 中的embedding layer
    Java Web -- Servlet(5) 开发Servlet的三种方法、配置Servlet具体解释、Servlet的生命周期(2)
    我对REST的理解
    QML 与 C++ 交互之工厂方法
    Hive分析窗体函数之LAG,LEAD,FIRST_VALUE和LAST_VALUE
    【C/C++】:用C实现输出日期的阴历日子
    Android6.0执行时权限解析,RxPermissions的使用,自己封装一套权限框架
    统计报表
    2015 HDU 多校联赛 5363 Key Set
    查看sedna创建的数据库和集合,文档之类
  • 原文地址:https://www.cnblogs.com/ysw6/p/6011622.html
Copyright © 2011-2022 走看看