自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Java全栈学习路线(learning path)

Log4j / JUL(java.util.logging) / Logback 等(日志框架)RabbitMQ / ActiveMQ / RocketMQ / Kafka(消息中间件)Shiro / SpringSecurity(微服务保护)JSP & JSTL & EL & MVC架构。过滤器 & 监听器 & Ajax & JSON。Elasticsearch(分布式搜索引擎)pay(微信 / 支付宝支付)Docker(微服务部署)Redis(分布式缓存)Seata(分布式事务)Nginx(服务器)

2024-02-02 11:55:53 736

原创 UML类图与七大原则

类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A2。客户端不应该被迫依赖于它不使用的方法;即一个类对另一个类的依赖应该建立在最小的接口上。高层模块不应该依赖低层模块,二者都应该依赖其抽象(可能是接口或者抽象类)

2024-02-02 15:08:12 1140

原创 JVM垃圾回收

当一个对象被引用时,就当引用对象的值加一,当值为 0 时,就表示该对象不被引用,可以被垃圾收集器回收。但是这个引用计数法有一个弊端,如下图所示,循环引用时,两个对象的计数都为1,导致两个对象都无法被释放。CMS 收集器的内存回收过程是与用户线程一起并发执行的,可以搭配 ParNew 收集器(多线程,新生代,复制算法)与 Serial Old 收集器(单线程,老年代,标记-整理算法)使用。上面的代码中,当软引用引用的对象被回收了,但是软引用还存在,所以,一般软引用需要搭配一个引用队列一起使用。

2024-02-02 14:40:39 964

原创 JVM类加载器

使用场景想加载非 classpath 随意路径中的类文件通过接口来使用实现,希望解耦时,常用在框架设计这些类希望予以隔离,不同应用的同名类都可以加载,不冲突,常见于 tomcat 容器步骤继承 ClassLoader 父类要遵从双亲委派机制,重写 findClass 方法不是重写 loadClass 方法,否则不会走双亲委派机制读取类文件的字节码调用父类的 defineClass 方法来加载类使用者调用该类加载器的 loadClass 方法破坏双亲委派模式。

2024-02-02 14:39:44 922

原创 JVM内存结构

Program Counter Register 程序计数器(寄存器)作用,是记住下一条jvm指令的执行地址特点是线程私有的不会存在内存溢出每个线程运行需要的内存空间,称为虚拟机栈每个栈由多个栈帧(Frame)组成,对应着每次调用方法时所占用的内存每个线程只能有一个活动栈帧,对应着当前正在执行的方法Heap 堆:通过new关键字创建的对象都会被放在堆内存它是线程共享,堆内存中的对象都需要考虑线程安全问题有垃圾回收机制。

2024-02-02 14:37:11 334

原创 JDBC:数据的持久化

持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。面向接口编程的思想ORM编程思想(object relational mapping)...

2024-02-02 13:46:35 757

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除