摘要: 一、工厂模式简介 (1)分类 简单工厂模式(静态工厂模式):用来生产同一等级结构中的任意产品(对于增加新的产品,需要修改已有代码) 工厂方法模式:用来生产同一等级结构中的固定产品(支持增加任意产品) 抽象工厂模式:用来生产不同产品族的固定产品(对于增加新的产品,无能为力,支持增加产品族) (2)核心 阅读全文
posted @ 2018-07-07 20:01 风止雨歇 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 一、设计模式分类 创建型模式 - 单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式结构型模式 - 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式行为型模式 - 模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链 阅读全文
posted @ 2018-07-07 15:05 风止雨歇 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 导入Spring 4.3.8的源码,JDK的版本1.8以上;因为 1、下载Spring源码 方法一: (1)下载并安装GIt,下载地址:https://git-scm.com/download/win (2)配置用户名和邮箱; (3)使用git命令下载Spring源码: 方法二: 直接从gitHub 阅读全文
posted @ 2018-06-27 19:53 风止雨歇 阅读(30976) 评论(4) 推荐(2) 编辑
摘要: 堆参数调优 1、堆的结构 JAVA7 堆逻辑上分为:新生区、养老区、永久区;实际上堆只有新生区、养老区; Minor GC:轻量的垃圾回收; Major GC(Full GC):重量级垃圾回收。 Java8 没有永久区了,被元空间取代; 2、堆内存调优 -Xms:设置初始分配大小,默认为物理内存的 阅读全文
posted @ 2018-06-09 14:10 风止雨歇 阅读(687) 评论(0) 推荐(0) 编辑
摘要: JVM运行时数据区 运行时数据区由 程序计数器、java虚拟机栈、本地方法栈、堆、方法区 组成; 1、程序计数器 每一个Java线程都有一个程序计数器,用于保存程序执行到当前方法的哪一个指令,它是线程私有的。 此内存区域是唯一一个在VM Spec中没有规定任何OutOfMemoryError情况的区 阅读全文
posted @ 2018-06-09 10:05 风止雨歇 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 一、jvm运行在操作系统之上的,它与硬件没有直接交互; 二、JVM体系结构概览 JVM的基本结构:类加载器、执行引擎、运行时数据区、本地方法接口; 过程:class文件 > 类加载器 > 运行时数据区 > 执行引擎 ,本地接口 > 本地方法库。 1、类加载器ClassLoader: 负责加载clas 阅读全文
posted @ 2018-06-06 23:59 风止雨歇 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 1、类加载器(ClassLoader)负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责 class 文件的加载,至于class文件是否能够运行则由Execution Engine决定; 2、类的加载过程 加载class文件 > 连接(验证、准备、解析 阅读全文
posted @ 2018-06-06 23:40 风止雨歇 阅读(211) 评论(0) 推荐(0) 编辑
摘要: http://wiki.jikexueyuan.com/project/java-collection/concurrenthashmap.html 阅读全文
posted @ 2018-06-04 22:14 风止雨歇 阅读(190) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/study-everyday/p/6430462.html http://www.importnew.com/22007.html 阅读全文
posted @ 2018-06-04 22:13 风止雨歇 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 在JDK1.6,JDK1.7中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当数组中一个位置上的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值 阅读全文
posted @ 2018-06-04 21:48 风止雨歇 阅读(1236) 评论(0) 推荐(0) 编辑