- 博客(22)
- 资源 (25)
- 收藏
- 关注
转载 扩展立方体 The Scale Cube
转自:https://akfpartners.com/growth-blog/scale-cube/比例立方体2018年4月25日|发布者:Robin McGlothinScale Cube是用于定义微服务和扩展技术产品的模型。AKF Partners于2007年发明了Scale Cube,最初于2007年在我们的博客上在线发布(原创文章),随后在我们的第一本书“可伸缩性艺术”和第二本书“可伸缩性规则”中发布。Scale Cube(有时称为“AKF Scale Cube”或...
2021-07-31 14:10:59 263
原创 微服务架构
1、要记住微服务不是解决所有问题的万能“银弹”;2、编写整洁的代码和使用自动化测试至关重要,因为这是现代软件开发的基础;3、关注微服务的本质,即服务的分解和定义,而不是技术,如容器和其他工具;4、确保你的服务松耦合,并且可以独立开发、测试和部署,不要搞成分布式单体;5、不能只是在技术上采用微服务架构。拥抱DevOps的原则和实践,在组织结构上实现跨职能的自治团队。记住:实现微服务架构并不是你的目标。你的目标是加速大型复杂应用程序的开发。...
2021-07-31 10:46:11 138
转载 Spring Data JPA 禁止自动更新
公司的项目后台架构是SpringBoot + Spring Date JPA,采用MySQL数据库。在工作刚开始时就遇到了一个奇怪的现象。在采用Date JPA查询完数据库之后,若改变了查询出的对象属性,那么数据库就会自动更新。比如查询出一个studentPO的name为“小明”,然后进行了一步studentPO.setName("小红")操作,再返回给前台,此时的数据库中的这个studentPO的name就会自己变成小红。但是我并没有调用updateBean方法去主动的更新这个对象,为什么它就会自动更新了
2021-07-30 17:06:37 2487
转载 获取字段为List类型中的泛型类型
在java编程时,经常会使用反射去处理对象,有时会需要知道List的泛型类型:示例操作如下obj = pojo.newInstance(); // 首先得到pojo所定义的字段 Field[] fields = pojo.getDeclaredFields(); for (Field curField : fields) { // 设置字段可访问(必须,否则报错) curField.setAccessibl
2021-07-28 20:27:11 2207
转载 Redis系列六、redis的五种数据结构和相关指令之Sorted Set
本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。redis的五种数据结构和相关指令之有序集合sorted set有序集合sorted set有序集合与集合一样,元素都不能重复;Sorted Set中的每个元素都需要指派一个分数(score),Sorted Set会根据score对元素进行升序排序。如果多个member拥有相
2021-07-26 16:04:45 237
转载 Redis系列五、redis的五种数据结构和相关指令之Set
本节中将介绍Redis支持的主要数据结构中的set,以及相关的常用Redis命令。redis的五种数据结构和相关指令之set集合set集合(set)与列表类似,都是用来保存多个字符串,但集合与列表有两点不同:集合中的元素是无序的,因此不能通过索引来操作元素;集合中的元素不能有重复。一个集合中最多可以存储2^32-1个元素;除了支持常规的增删改查,Redis还支持多个集合取交集、并集、差集。1、常用命令查看指令exists user //检查user键值是否存...
2021-07-26 15:59:38 186
转载 Redis系列四、redis的五种数据结构和相关指令之List
本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。redis的五种数据结构和相关指令之List列表listRedis的List是链表型的数据结构,用来存储多个有序的字符串,一个列表最多可存2的32次方减1个元素,可以使用LPUSH/RPUSH/LPOP/RPOP等命令在List的两端执行插入元素和弹出元素的操作。虽然List
2021-07-26 15:46:00 128
转载 Redis系列三、redis的五种数据结构和相关指令之Hash
本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。redis的五种数据结构和相关指令之Hash哈希hash哈希hash是一个string类型的field和value的映射表,hash特适合用于存储对象,用Hash中的field对应对象的field即可。每个hash对象有三个属性:key、field和value;每个has
2021-07-26 14:45:37 201
转载 Redis系列二、redis的五种数据结构和相关指令之String
redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。本节中将介绍Redis支持的主要数据结构中的string,以及相关的常用Redis命令。redis的五种数据结构和相关指令之String字符串stringredis的字符串不限存储格式,实际上可以是字符串(包括XML JSON),还有数字(整形 浮点数),二进制(图片 音频 视频),最大不能超过512MB。a、基本命令SET:为一个key
2021-07-26 14:27:46 108
转载 Redis系列一、redis介绍与安装
一、Redis介绍redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、sorted set等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线,等附加功能。1、特性:1〉速度快2〉键值对的数据结构服务器3〉丰富的功能:4〉简单稳定5〉持久化6〉主从复制8〉高可用和分布式转移9〉客户端语言多2、使用场景缓存数据库排行榜计数器应用社交网络消息队列。。。二、Redis安装与启动
2021-07-26 14:07:35 79
转载 Entity 监听器和回调方法
Chapter6.Entity listeners and Callback methods6.1. Definition6.2. Callbacks and listeners inheritance6.3. XML definition6.1.DefinitionIt is often useful for the application to react to certain events that occur inside the persistence mechanism...
2021-07-19 20:21:51 351
原创 JMM同步原语之final域的内存语义
final 域为引用类型public class FinalReference { /** * final 域. */ final int[] arr; static FinalReference ref; public FinalReference() { arr = new int[1]; arr[0] = 1; } public static void writeOne() { ref = new FinalReference(); } pu
2021-07-07 10:37:53 148
原创 JMM设计原理之双重检查Lock
错误示例public class DoubleCheckedLocking { /** * 单例. */ private static Instance instance; /** * 获取单例. * @return 对象. */ public static Instance getInstance() { if (instance == null) { synchronized (DoubleCheckedLocking.class) { if (
2021-07-07 10:00:13 144
原创 RedissonClient 缓存Bug
引入背景 期望RedissonClient 能定期更新,避免网络不稳定导致 Redis 连接失效,只能重启服务?使用了Caffeine 缓存,自动 2 小时失效剔除RedissonClient /** * 本地缓存. */ private static final Cache<String, RedissonClient> CACHE = Caffeine.newBuilder() .expireAfterWrite(2, TimeUnit.HOURS...
2021-07-05 11:47:42 950
转载 JPA EntityManagers,事务及其周围的一切
介绍对我来说,最令人困惑和不清楚的事情之一是,作为Java开发人员,一直是围绕事务管理的谜团,尤其是JPA如何处理事务管理。 事务什么时候开始,什么时候结束,实体的持久化方式,持久性上下文等等。 诸如Spring之类的框架也无助于理解概念,因为它们提供了另一层抽象,这使事情难以理解。 在今天的帖子中,我将尝试揭露JPA关于实体管理的规范,其事务规范以及如何更好地理解该概念如何帮助我们有效地设计和编码的某些秘密。 我们将努力保持讨论尽管我们将同时研究Java SE(其中没有Java EE容器)和基于J.
2021-07-02 16:12:03 1187
转载 JPA架构
JPA(Java持久性API)是存储业务实体关联的实体的来源。它显示了如何定义一个面向普通Java对象(POJO)作为一个实体,以及如何与管理关系实体。类级别架构下图显示了JPA的类的层次结构。它显示核心类和JPA接口。下表描述了每个在上述架构的显示单元。单元 描述 EntityManagerFactory 这是一个EntityManager的工厂类。它创建并管理多个EntityManager实例。 EntityManager 这是一个接口,它管理的持久化操作的
2021-07-02 15:45:38 244
转载 JPA和事务管理2
JPA和事务管理很重要的一点是JPA本身并不提供任何类型的声明式事务管理。如果在依赖注入容器之外使用JPA,事务处理必须由开发人员编程实现。UserTransaction utx = entityManager.getTransaction();try { utx.begin(); businessLogic(); utx.commit();} catch(Exception ex) { utx.rollback(); throw ex...
2021-07-02 15:33:04 712
转载 JPA和事务管理
1 事务1.1事务管理方式spring支持编程式事务管理和声明式事务管理两种方式。编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事
2021-07-02 14:49:50 1467
转载 JPA - EntityTransaction与事务
EntityTransaction 接口用来管理资源层实体管理器的事务操作,通过调用实体管理器的getTransaction方法 获得其实例。其常用方法如下:① begin用于启动一个事务,此后的多个数据库操作将作为整体被提交或撤消。若这时事务已启动则会抛出 IllegalStateException 异常。② commit用于提交当前事务。即将事务启动以后的所有数据库更新操作持久化至数据库中。③ rollback撤消(回滚)当前事务。即撤消事务启动后的所有数据库更新
2021-07-02 14:28:26 522
原创 JPA事务示例分析
在这个工程中,定义一个名为User的实体:@Entity@Data@NoArgsConstructorpublic class User { @Id @GeneratedValue private Long id; @Size(max = 5) private String name; @Max(50) private Integer age; public User(String name, Integer age) {
2021-07-02 12:03:24 525 2
转载 Spring Data JPA事务管理
1、事务基础概念_四大特性 数据库中事务的四大特性(ACID),如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性,是指事务包含的所有操作,要么全部成功,要么全部失败回滚。因此,事务的操作如果成功就必须要完全持久化到数据库,如果操作失败则不能对数据库有任何影响。 ⑵ 一致性(Consistency) 一致性,是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
2021-07-02 11:13:20 2290
转载 数据库事务的概念及其实现原理
目录1. 认识事务 1.1 为什么需要数据库事务 1.2 什么是数据库事务 1.3 事务如何解决问题 1.4 事务的ACID特性以及实现原理概述 2.并发异常与并发控制技术 2.1 常见的并发异常 2.2 事务的隔离级别 2.3 事务隔离性的实现——常见的并发控制技术 2.3.1 基于封锁的并发控制 2.3.2 基于时间戳的并发控制 2.3.3 基于有效性检查的并发控制 2.3.4 基于快照隔离的并发控制 2.3.5 关于并发控制技术的总结
2021-07-02 10:59:57 6626 1
Cryptography and Network Security Principles and Practice( 5th ).pdf
2012-05-30
Introduction to Algorithms(Second Edition).pdf
2012-05-29
classloader.zip
2011-07-19
JUnit.in.Action.2nd.pdf
2011-07-06
Flex4-in-Action.pdf
2011-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人