JAVA

微服务拆分之道

背景 微服务在最近几年大行其道,很多公司的研发人员都在考虑微服务架构,同时,随着 Docker 容器技术和自动化运维等相关技术发展,微服务变得更容易管理,这给了微服务架构良好的发展机会。 在做微服务的路上,拆分服务是个很热的话题。我们应该按照什么原则将现有的业务进行拆分?是否拆分得越细就越好?接下来
suxiaomi JAVA 0

Spring Data JPA——多表设计、一对多、多对多、多表查询

一、多表设计 1、表之间关系的划分 数据库中多表之间存在着三种关系,如图所示。 从图可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系。注意:一对多关系可以看为两种: 即一对多,多对一。所以说四种更精确。 实际开发中常用的关联关系,一对多和多对多。而一对一的情况,在实际开发中几乎不用
suxiaomi JAVA 0

如何应对缓存穿透

相关的问题 数据库TPS是多少,是否进行测试过 缓存击穿有哪些方案解决 前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这
suxiaomi JAVA 0

《Java多线程核心技术》读书笔记

Chap1. Java多线程技能 进程是受操作系统管理的基本运行单元 线程是在进程中独立运行的子任务 使用多线程的方法 继承Thread类:继承自Runnable接口 继承Runnable接口:可以支持多继承 Thread.java类中的start()方法是异步执行,此线程对象交给“线程规划器”处理
suxiaomi JAVA 0

Zookeeper客户端Curator使用详解

Zookeeper客户端Curator使用详解 简介 Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等等。Patrixck Hunt(
suxiaomi JAVA 0

spring-data-jpa只查询部分字段

使用jpa查询默认会返回表的全部字段,为了查询效率和安全考虑我们有时候需要控制查询返回的字段范围。 不论是nativequery还是hql的query,都可以指定需要查询的字段,只是必须定义这些字段所对应的实体,而且需要一个构造函数,构造函数的参数就是查询的字段列表。举个栗子: @Entity
suxiaomi JAVA 0

放弃使用Java10

:han: hibernate不兼容,启动时 获取java版本方法getJavaVersion()时,居然数组越界,报 java.lang.ArrayIndexOutOfBoundsException异常,猜测之前的java版本是java version1.8.0_161,java10的版本是jav
suxiaomi JAVA 0

使用 Spring 5 的 WebFlux 开发反应式 Web 应用

Spring 5 是流行的 Spring 框架的下一个重大的版本升级。Spring 5 中最重要改动是把反应式编程的思想应用到了框架的各个方面,Spring 5 的反应式编程以 Reactor 库为基础。在之前的文章《使用 Reactor 进行反应式编程》中,已经对 Reactor 库进行了详细的介
suxiaomi JAVA 0
使用 Spring 5 的 WebFlux 开发反应式 Web 应用