标签:zab

Java

java多线程总结-线程池

11

刘莉莉 发布于 2019-07-18

介绍线程池之前先简要了解一下Executor,ExecutorService,Future,Callable,Executors是什么,和线程池又有什么关系 1.1 Executor 它是线程池顶级接口。它定义了一个方法 void execute(Runnable) 。 这个方法...

阅读(13)评论(0)赞 (0)

Spring

Spring 源码学习(九) Transaction 事务

3

xiaoli.he 发布于 2019-07-18

业务系统的数据,一般最后都会落入到数据库中,例如 MySQL 、 Oracle 等主流数据库,不可避免的,在数据更新时,有可能会遇到错误,这时需要将之前的数据更新操作撤回,避免错误数据。 Spring 的声明式事务能帮我们处理回滚操作,让我们不需要去关注数据库底层的事务操作,可以...

阅读(14)评论(0)赞 (0)

Java

SpringBoot统一响应体解决方案

dulong 发布于 2019-07-18

前言 最近在优化自己之前基于 Spring AOP 的统一响应体的实现方案。 什么是统一响应体呢?在目前的前后端分离架构下,后端主要是一个 RESTful API 的数据接口。 但是 HTTP 的状态码数量有限,而随着业务的增长, HTTP 状态码无法很好地表示业务中遇到的异常情...

阅读(15)评论(0)赞 (0)

Java

Java中的Condition接口实现分析

5

changyuan.xu 发布于 2019-07-18

我们使用 Synchronized 实现“等待/通知”模式时,都是配合每个对象 Object 的监视器方法(wait 和 notify/notifyAll 方法)完成的,但是在显式锁 Lock 中,这种方法就显然不行了。因此显式锁中就引入了 Condition 接口,该接口提供了...

阅读(14)评论(0)赞 (0)

Java

Java SPI机制:ServiceLoader实现原理及应用剖析

2

likai 发布于 2019-07-17

SPI,全程Service Provider Interfaces,服务提供接口。是Java提供的一套供第三方实现或扩展使用的技术体系。主要是通过解耦服务具体实现以及服务使用,使得程序的可扩展性大大增强,甚至可插拔。 基于服务的注册与发现机制,服务提供者向系统注册服务,服务使用者...

阅读(20)评论(0)赞 (0)

Java

Java反序列化学习之Apache Commons Collections

14

darida 发布于 2019-07-17

背景 Apache Commons Collections 是 Apache Commons 的组件,它们是从 Java API 派生而来的,并为Java语言提供了组件体系结构。 Commons-Collections 试图通过提供新的接口,实现和实用程序来构建JDK类。 Apa...

阅读(19)评论(0)赞 (0)

Spring

SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作

5

darida 发布于 2019-07-17

本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一、事务管理简介 1、事务基本概念 一组业务操作ABCD,要么全部成功,要么全部不成功。 2、特性:ACID 原子性:整体 一致性:完成 隔离性:...

阅读(15)评论(0)赞 (0)

Java

史上最详尽 Java 8 集合类 HashMap : 底层实现和原理学习笔记(源码解析)

22

puefu.he 发布于 2019-07-16

Java中Map接口集合类继承关系 在 Java 中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“),请看下图...

阅读(20)评论(0)赞 (0)

Spring

关于 Spring JdbcTemplate 的一些总结

xiaoli.wang 发布于 2019-07-16

关于 Spring JdbcTemplate 的一些总结 一个小问题的思考 起因 当前项目中一直使用的都是 SpringData JPA ,即 public interface UserRepository extends JpaRepository<User, Seria...

阅读(18)评论(0)赞 (0)

Java

Java多线程:彻底搞懂线程池

3

wenming.gapo 发布于 2019-07-16

熟悉Java多线程编程的同学都知道,当我们线程创建过多时,容易引发内存溢出,因此我们就有必要使用线程池的技术了。 最近看了一些相关文章,并亲自研究了一下源码,发现有些文章还是有些问题的,所以我也总结了一下,在此奉献给大家。 1 线程池的优势 总体来说,线程池有如下的优势: (1)...

阅读(16)评论(0)赞 (0)

编程技术

架构师必备的20个英文缩写!看你知道几个?

1

yanxinchi 发布于 2019-07-16

作为一个架构师,如果在面试的时候,面试官说出了一个英文缩写,这个时候如果你没有听过,是不是很尴尬?而且你也没办法针对这个问题进行描述回答!所以,多学习一些基础的英文缩写,一是面试可以游刃有余,二是可以装逼!下面的20个缩写,你都能讲清楚吗? IOC: 控制反转(Inversion...

阅读(22)评论(0)赞 (0)

编程技术

经验分享:将微服务迁移到Spring WebFlux – allegro.tech

1

xubiao.zhuang 发布于 2019-07-16

反应式编程在这几个月内一直是许多会议演讲的热门话题。找到简单的代码示例和教程并将它们应用于绿地新项目是毫不费力的。当需要从现有解决方案迁移时,特别是它是具有数百万用户和每秒数千个请求的生产服务时,事情变得有点复杂。在本文中,我想 通过一个Allegro微服务的例子讨论从...

阅读(24)评论(0)赞 (0)

Java

如何通过Spring Boot + Redis 实现接口幂等性?

16

changyuan.xu 发布于 2019-07-15

扫描下方二维码 试读 专栏详细目录 请移步至文末 一、概念 二、常见解决方案 三、本文实现 四、实现思路 五、项目简介 六、代码实现 七、测试验证 八、注意点(非常重要) 九、总结 一、概念 幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次 比如:...

阅读(27)评论(0)赞 (0)

Java

面试必备:Java线程池解析

18

puefu.he 发布于 2019-07-15

前言 掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 经典面试题 面试问题1:Java的线程...

阅读(19)评论(0)赞 (0)

编程技术

企业安全体系架构分析:开发安全架构之安全性架构

8

Harries 发布于 2019-07-15

什么是安全性? 安全包括网络层面、传输层面、系统层面、应用层面、数据层面的安全,要考虑安全性架构需要从这5方面入手,当然最不能忽视的还是业务本身。 如何构建网络层面的安全? 其实在上一篇的架构体系中已经涉及了一部分了,就是代理服务器,用于隐藏真实应用服务器地址,当然这只是很小的一...

阅读(20)评论(0)赞 (0)

Java

Java 动态代理原理

yeseng 发布于 2019-07-14

分析版本: JDK1.8 代理类在程序运行时创建的代理方式被成为动态代理 机制 需要代理的接口 interfaces for the proxy class to implement 需要代理的具体实现类 实现于 需要代理的接口 代理类 $proxy 在运行的时候动态生成的类 代...

阅读(23)评论(0)赞 (0)

Java

JAVA反序列化基础

4

xiaoli.he 发布于 2019-07-14

Contents JAVA的序列化和反序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。把字节序列恢复为对象的过程称为对象的反序列化。 序列化就是把对象的状态信息转换...

阅读(23)评论(0)赞 (0)

Java

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释

8

hellas 发布于 2019-07-13

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释 引言: 学习一个java并发编程工具的时候,我们首先要抓住这三点: 状态 一般是一个state属性,它基本是整个工具的核心,通常整个工具都是在设置和修改状态,很多方法的操作都依赖于当前状态是什么。 由于状态是全局共享...

阅读(39)评论(0)赞 (0)