摘要: 1、JDK中的命令行工具 jps,可以列出当前机器上运行的虚拟机进程,因为是从操作系统的临时目录去获取的,所以有些信息可能不全 jstat,用于监视虚拟机各种运行状态的信息,可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据,在没有 GUI图形界面,只提供了纯文本控制台 阅读全文
posted @ 2020-12-08 17:30 CarBlack 阅读(65) 评论(0) 推荐(0) 编辑
摘要: Java和C++等语言最大的技术区别就是自动化的垃圾回收机制,也就是常说的GC,GC是对内存进行清理、回收 GC一般发生在堆中,同时方法区/元空间这一块也会发生垃圾回收,不过这块的效率比较低,而栈中内存会随着线程的灭亡而释放,不关注 堆中的对象通过引用计数算法、可达性分析来判断是否存活、是否可以进行 阅读全文
posted @ 2020-11-11 18:51 CarBlack 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1、虚拟机运行时栈帧结构 栈帧在JVM中属于线程私有的区域,用来存储方法的局部变量表、操作数栈、动态连接和完成出口,每一个方法从调用开始到执行完毕,都对应着一个栈帧在虚拟机栈里从入栈到出栈的过 程序编译的时候,栈帧需要多大的局部变量表、多深的操作数栈都已经完全确定了,并且写入到方法表的code属性中 阅读全文
posted @ 2020-10-29 19:59 CarBlack 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1、Class文件结构 Java中程序会编译成class文件运行在JVM平台中,其实JVM具有平台微惯性,不仅仅可以运行Java程序,它其实是与Class文件这种特定的二进制文件进行关联的,Class文件中包含了虚拟机指令、符号表以及程序运行的相关信息,并且为了安全,JVM对Class文件规定了许多 阅读全文
posted @ 2020-10-27 17:53 CarBlack 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1、对象的创建 A a = new A() A:引用的类型 a::引用的名称 new A():创建一个A类对象 当创建一个对象时,具体创建过程是什么呢? (1)JVM遇到new的字节码指令后,检查类是否被加载,否,进行类加载 (2)检查加载通过后,对新创建的对象在堆中分配内存 (3)将分配的内存空间 阅读全文
posted @ 2020-09-29 17:48 CarBlack 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1、原型模式简介 定义:属于创建型模式,用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象,这种方式创建对象非常高效,根本无须知道对象创建的细节 目标:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 解决问题:运行期建立和删除实例 优点:性能提高 逃避 阅读全文
posted @ 2020-09-29 16:45 CarBlack 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1、单例模式的简介 定义:属于创建型模式,一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象 目标:保证一个类仅有一个实例,并提供一个访问它的全局访问点 解决问题:一个类被频繁的创建和销毁 说明:单例类只能有 阅读全文
posted @ 2020-09-29 11:40 CarBlack 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 定义:属于创建型模式,提供了一种创建对象的方式,一个 Builder 类会一步一步使用简单对象构造出最终的复杂对象,这个Builder 类是独立于其他对象的 角色:产品(Ailoy())、抽象建造者(Builder())、建造者(BuilderA()、BuilderB()、NumA()、NumB() 阅读全文
posted @ 2020-09-28 13:26 CarBlack 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1、工厂模式简介 定义:属于创建型设计模式,在工厂模式中,创建对象不会对用户暴漏创建的逻辑,通过一个共同的接口返回创建的对象 使用场景:创建复杂的对象 目标:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 解决问题:解决接口选择问题 说明:按照业务场 阅读全文
posted @ 2020-09-27 12:55 CarBlack 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 1、常用的设计模式 创建型模式:工厂模式、抽象工厂模式、 单例模式、建造者模式、原型模式 结构型模式:桥接模式、适配器模式、装饰器模式、代理模式、组合模式 行为型模式:模板方法模式、策略模式、观察者模式、 责任链模式、命令模式、访问者模式 设计模式是解决问题的思想,重要的是思想 写代码时,不刻意追求 阅读全文
posted @ 2020-09-27 10:07 CarBlack 阅读(124) 评论(0) 推荐(0) 编辑