- 博客(34)
- 收藏
- 关注
原创 java 使用内部类的好处
通过内部类的方式,我们避免了引入复杂的多重继承关系,实现了多个接口的功能。这种设计提高了代码的灵活性,使得一个类可以同时拥有多个不同的行为和特性,而不需要在类层次结构中深度继承多个类。java中的内部类是定义在其他类内部的类,它可以访问外部类的成员变量和方法,同时内部类也可以被外部类实例化和访问。访问外部类的私有成员:内部类可以直接访问外部类的私有成员,包括私有字段和私有方法。这种设计可以有效地组织和管理相关的类,将具有关联性的类放在一起,而对外部世界隐藏内部实现细节。是外部类,它包含一个私有的成员变量。
2023-08-15 14:16:58
844
原创 RocketMq从入门到精通
Producer:消息的发送者;举例:发信者Consumer:消息接收者;举例:收信者Broker:暂存和传输消息;举例:邮局NameServer:管理Broker;举例:各个邮局的管理机构Topic:区分消息的种类,一个tocic对应多条消息;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息Message Queue:相当于是Topic的分区;用于并行发送和接收消息2.1什么是Broker?
2023-08-01 22:06:36
713
原创 Redis核心数据结构与高性能原理分析
Redisi核心数据结构精讲 微博与微信消息流Redis实现 微信点赞、收藏与标签基于Redis实现 微博与微信朋友关注模型基于Redis实现 电商购物车如何用Redis实现 电商推荐系统如何用Redis实现 Redisi高性能核心原理剖析 Redis6.0多线程模型初探
2023-07-11 13:28:00
163
原创 数据结构与算法概述
算法是指解题方案的准确而完整描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。我们假设执行一行代码的时间为t,通过估算,代码的执行时间T(n)与次数成正比。数据结构和算法本质上是“快”和“省”,所以代码的执行效率是非常重要的度量。即时间复杂度为O(n),也就是代码执行时间随着数据规模的增加而增长。数据结构是指互相之间存在一种或多种特定关系的数据元素的集合。一句话描述:算法是一种解决特定问题的思路。O:代码的执行时间与f(n)表达式成正比。线性表:数组,链表,栈,队列。
2023-06-30 16:46:59
93
原创 Mysql事务隔离级别和锁机制
我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。
2023-06-30 16:08:39
81
原创 深入理解CAS无锁机制与ABA的问题
#CAS Compare and Swap实现原理#Synchronized锁优化@TOC你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Comm
2023-06-30 14:12:58
71
原创 从jdk源码级别彻底剖析jvm类加载机制
当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到。补充:Hotspot源码JVM启动执行main方法流程。模拟实现Tomcat的JasperLoader热加载。Tomcat打破双亲委派机制。Tomcat自定义加载器详解。为什么要设计双亲委派机制?类加载器和双亲委派机制。
2023-05-30 15:31:04
134
原创 jdk8新特性(一)
为了避免后来的人在这个接口中增加方法导致其含有多个的方法需要被实现,我们可以在这个接口加上一个声明@FunctionalInerface,这样别人就无法在里面添加新的接口方法了。
2022-10-03 15:25:15
102
原创 Mybatis源码解读(一.初始化的过程)
1.我们先从Mybatis 的入口开始解读(单独版,没有与spring整合) Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession sqlSession = sessionFactory.openSession();
2022-02-11 14:32:05
394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人