栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java知识点归纳-自用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java知识点归纳-自用

基于自己总结的一些java知识点

java
    集合
        Collection
            List
                ArrayList
                linkedList
                Vector
                数组,适合查找,线程不安全,需要使用collections.synchronizedlist
                链表,适合修改,线程不安全,需要使用collections.synchronizedlist
                数组,线程安全
            Set
                HashSet
                    linkedHashSet
                    双向链表,保证唯一
                TreeSet
                使用Hashcode数组存储,无序
                二叉树保证有序
        Map
            HashMap
                linkedHashMap
                双向链表,便于维护
            HashTable
            SortedMap
                TreeMap
                红黑树,对key做了排序,便于查找
            线程安全
            线程不安全
    类加载器
        加载机制
            全盘负责
            双亲委派
                执行顺序,先父后子,先静态
            缓存机制
            类加载器加载时会首先寻找父类加载器加载
            类相关依赖类都会需要类加载器加载
            类加载后会放入缓存,所以修改class需要重启jvm,文件删除不影响程序运行
        加载器类型
            根加载器
            扩展类加载器
            系统类加载器
            自定义类加载器
            比如rt.jar
            会加载扩展类路径下的包
            会加载系统指定classpath下的包
            系统类加载器是其父类
    垃圾回收
        收集垃圾
            引用计数法
            根源回溯法
            从所有有效对象寻找根源,将除此以外的清除
            每次引用都会给对象标记加一,释放引用就减一,最后一直为0的清除
        回收垃圾
            标记清除法
            复制法
            引用整理法
            分代回收
            适合新生代
            适合老年代
            先新生代,后老年代和永久代
    异常处理
        Throwable
            Error
                OutOfMemoryError
                StackOverFlowError
                NoClassDefFoundError
            Exception
                编译时异常
                    ClassNotFoundException
                运行时异常
                    NullPointException
                    IndexOutOfBoundsException
                    ClassCastException
    jvm
        程序计数器
        栈
        本地栈
        方法区
        堆
            新生代
                伊甸园区
                存活区1
                存活区2
            老年代
            YGC
            FGC
        负责控制CPU的调度前后,程序的运行位置
        每个方法一个栈帧,指向对应的常量表、操作数
        本地方法的栈
        存储每个类的信息,常量,静态变量,静态方法区,代码
        存储所有对象和数组
    多线程
        创建线程
            继承Thread类
            实现runnable接口
            使用callable和Future创建线程
            使用Execute创建线程池
        线程状态
            new
            runnable
            blocked
            waitting
            longtime waitting
            terminated
            创建,还没开始start
            阻塞,等待资源
            停止等待,等待唤醒
            运行中
            超时等待,一段时间后自行唤醒
            停止
        线程类型
            用户进程
                普通系统、项目执行时的任务
            守护进程
                一直在后台执行,等待用户任务执行完成才会退出的,比如垃圾回收线程
        线程池
            复用线程,减少创建开销
            利用已有线程,提高速度
            线程有最大值和等待队列,避免大量请求,方便管理
            处理流程
            1.判断核心线程数是否满 没满就创建 ,满了就判断工作队列满不满
2.工作队列满了 就交由饱和策略处理,没满 就创建工作线程 并等待
    设计模式
        单例模式
            RuntimeException
            确保只有一个实例,全局唯一
        装饰者模式
            BufferedReader装饰inputStreamReader 读一个字符变成读一行字符
        适配器模式
            InputStreamReader转换FileInputString读字节变成读字符
            改变作用
        代理模式
            权限过滤器
        工厂模式
            一个产品体系的封装,可以抽象出最高层次的产品
            创建对象时有更高层次的封装
        策略模式
            产品的具体封装,需要客户端的数据
            客户端来创建具体不同的对象
    分布式事务
        实现方法
            2pc
                增加协调 
            3pc
            tcc
                业务事务
            本地业务表
            消息队列
            最大努力通知
    锁
        synchronized
            同步锁
            锁住整个对象
            jdk7以后优化了,增加了cas
        retranklock
            可重入锁
            避免死锁
            偏向锁
            非公平锁
        CAS
            自旋锁
            ABA问题,用版本号解决

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号