Spring事务管理Spring不但提供了与底层代码无关的事务抽象,还提供了声明性事务的功能,可以让程序从事务代码中解放出来。 基础知识JDBC对事务的支持JDBC2.0中事务只能提交和回滚,在JDBC3.0中引入了Save Point特性。 ThreadLocalSpring通过各种模板类降低开发 ...
Java并发:Java实现
基本的线程机制定义任务有三种使用线程的方法: 实现Runnable接口; 实现Callable接口; 继承Thread类。 实现Runnable和Callable接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过Thread来调用。可以说任务是通过线程驱动从而执 ...
设计模式:装饰者模式
装饰者模式提出问题 动态地给一个对象添加一些额外的职责。 问题案例想买一个加糖的饮料: 则需要实现饮料类。 其次实现加糖的饮料,并继承自饮料类,即一个加糖的饮料类。 如果还想加可可,则需要再次实现一个类,是一个加糖、加可可的类。 对于这种动态的增加,并且增加的数目不确定,使用继承实现会出现太多 ...
设计模式:模板方法模式
模板方法模式提出问题当多个类当中存在共同或相似的算法,因此有一些重复的代码块(方法)时,因此在这些类当中就有着重复的代码。 希望定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 基础概述是什么 模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法 ...
JVM:Java虚拟机规范
JVM结构要正确地实现一台JVM,只需要能正确读取class文件中地每一条字节码指令,并且能正确地执行这些指令所蕴含的操作即可。 对于设计者,可以完全自主决定所有规范中不曾描述的虚拟机内部细节,例如运行时数据区的内存如何布局、选择哪种垃圾收集算法、是否对虚拟机字节码指令进行一些内部的优化操作等。 c ...
Zookeeper:概述
Zookeeper简介提出问题概述 中间件,提供协调服务。 作用于分布式系统,发挥其优势,可以为大数据服务。 支持Java,提供Java和C语言的客户端API。 Zookeeper的特性 一致性:数据一致性(非强一致性),数据按照顺序分批入库。 原子性:事务要么成功,要么失败,不会局部化。 单一视 ...
Zookeeper:目录
简介 中间件,提供协调服务。 作用于分布式系统,发挥其优势,可以为大数据服务。 支持Java,提供Java和C语言的客户端API。 Zookeeper的特性 一致性:数据一致性(非强一致性),数据按照顺序分批入库。 原子性:事务要么成功,要么失败,不会局部化。 单一视图:客户端连接集群中的任一zk ...
StudyResources
JavaJVMJava性能调优指南 Java性能优化权威指南 第三章 第四章 入门 基础 进阶 参考 Spring Spring4.x企业 Spring揭秘 SpringBoot 揭秘 源码 看透Spring MVC Spring源码深度解析 DBMySQLMySQL技术内幕 RedisRed ...
架构:解析微服务架构
什么是微服务简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写 ...
系统设计:UML建模
UML静态建模静态建模定义了系统中重要对象的属性和操作以及这些对象间的相互关系。主要包括类图、对象图、包图、构件图、部署图。 UML基础类的表示: 第一行:类的名字,如果是接口<接口名>,如果是抽象方法则是斜体的 第二行:类的属性: [开放程度][属性名称]:[类型] +:public ...
Java容器:普通容器
一、概览容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 Collection 1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet, ...
Java并发:高并发
概念并发相关概念吞吐率我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力。称之为吞吐率(Throughput),单位是 “req/s”。吞吐率特指Web服务器单位时间内处理的请求数。 另一种描述,吞吐率是,单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的 ...
Dubbo:Study
本文字数: 927 阅读时长 ≈ 2 分钟
Dubbo特性 启动检查: 服务启动过程中验证服务提供者的可用性。 验证过程出现问题,则阻止Spring容器的初始化。 服务启动检查可以尽早发现服务问题。但是如果A->B,B->A,则一定要关闭了,否则都启动不了了。 多协议支持,是服务间的通信协议,Protocol: 最常见的是du ...