- 博客(12)
- 收藏
- 关注
原创 【Zookeeper-04】zookeeper应用场景实践
在单机应用中,可以通过线程锁(如 Java 的 synchronized 或 ReentrantLock)保证线程安全。但在分布式系统中,多个服务实例可能部署在不同机器上,单机锁无法跨进程或跨节点生效。
2025-03-02 16:43:35
286
原创 【Zookeeper-03】zookeeper核心特性介绍
首先要有一个main()线程在main线程中创建Zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet. ,一个负责监听(listener.。通过connect线程将注册的监听事件发送给Zookeeper。在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中。Zookeeper监听到有数据或路径变化,就会将这个消息发送给listener线程。listener线程内部调用了process()方法。
2025-03-02 11:21:32
428
原创 【Zookeeper-01】zookeeper基本介绍
解压安装包,可以看到如下目录bin:主要的一些运行命令conf:存放配置文件,提供了配置模板文件zoo_sample.cfgdocs:API文档lib:需要依赖的jar包LICENSE.txt、NOTICE.txt、README.md、README_packaging.md:Apache开源项目许可证说明、打包等说明可以看到zookeeper给我们提供了一个配置模板zoo_sample.cfg,大部分情况下我们只需要在当前目录下复制该文件,然后编辑其中的少数几个配置即可。
2025-01-18 12:10:07
1299
原创 【02】【行为型】【聊一聊,策略模式】
策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每种算法封装起来,使得它们可以相互替换,算法的变化不会影响到使用算法的客户端。策略模式使得算法可以在运行时动态选择,实现了算法的可配置性和灵活性。
2024-11-21 21:28:04
675
原创 Java的构造代码块和静态代码块
代码块又叫初始化块,是类的一部分,通过{}包围起来。代码块可以理解成一个,没有方法名,没有返回,没有参数,只有方法体的方法。而且,不用通过对象或类显式调用,而是在类加载时或者类实例化时默认调用。
2024-11-14 08:57:59
730
原创 【02】【Mybatis整体架构介绍】
数据源模块负责管理数据库连接,通常包括连接池的配置和使用。提供对多种数据源类型的支持,比如 DBCP、C3P0、JNDI 等,以提高数据库连接的性能和资源利用率。事务管理实现事务的提交和回滚功能。支持不同的事务管理方式,包括 JDBC 事务和通过框架(如 Spring)托管的事务管理。缓存模块提供缓存策略以优化查询性能,通过减少数据库查询次数来提升效率。包括一级缓存(会话级别)和二级缓存(全局/映射器级别),其中一级缓存默认开启,而二级缓存需要配置启用。
2024-11-09 10:42:09
1167
原创 【01】【结构型】【聊一聊,代理模式】
代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供了一种代理以控制对这个对象的访问。使用代理模式可以在不修改目标对象的前提下,为其提供额外的功能和控制。代理模式可以用于多种场景,包括但不限于访问控制、性能优化(如延迟加载)、日志记录等。
2024-11-06 18:38:36
714
原创 【01】【MyBatis 框架简介】
MyBatis 是一款优秀的持久层框架,一个半 ORM(对象关系映射)框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及 获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
2024-11-05 19:22:08
917
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人