标签:Action

Spring

200119-SpringBoot系列教程之声明式事务Transactional

1

puefu.he 发布于 2020-01-19

当我们希望一组操作,要么都成功,要么都失败时,往往会考虑里利用事务来实现这一点;之前介绍的db操作,主要在于单表的CURD,本文将引入声明式事务 @Transactional 的使用姿势 I. 配置 本篇主要介绍的是 jdbcTemplate 配合事务注解 @Transactio...

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

Spring

SpringSecurity 初始化流程源码

8

zhuangli 发布于 2020-01-19

SpringSecurity 初始化流程源码 本篇主要讲解 SpringSecurity初始化流程的源码部分,包括核心的 springSecurityFilterChain 是如何创建的,以及在介绍哪里可以扩展个性化的配置,SpringSecurity源码其实是蛮难得 各种Bui...

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

Java

解析Serializable原理

zhuangli 发布于 2020-01-19

通常我们使用Java的序列化与反序列化时,只需要将类实现 Serializable 接口即可,剩下的事情就交给了jdk。今天我们就来探究一下,Java序列化是怎么实现的,然后探讨一下几个常见的集合类,他们是如何处理序列化带来的问题的。 分析过程 几个待思考的问题 为什么序列化一个...

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

Java

从源码理解Java虚引用

7

尖兵 发布于 2020-01-19

在jdk1.2之后,java对引用的概念进行了扩充。将引用分为了强引用,软引用,弱引用,和虚引用四种。 强引用:即我们平常说的引用,指在程序代码中普遍存在的引用赋值。在垃圾回收中,只要强引用还存在,那么当前对象就永远不会被回收。 软引用:比强引用弱一级的引用关系。在系统将要发生内...

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

Java

RxJava(十一): 并行编程

xiaoli.he 发布于 2020-01-19

博客主页 1. RxJava 并行操作 被观察者( Observable/Flowable/Single/Completable/May )发射的数据流可以经历各种线程切换,但是数据流的各个元素之间不会产生并行执行的效果。井行不是并发,也不是同步,更不是异步。 并发( concu...

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

Java

容器环境的JVM内存设置最佳实践

xubiao.zhuang 发布于 2020-01-18

Docker和K8S的兴起,很多服务已经运行在容器环境,对于java程序,JVM设置是一个重要的环节。这里总结下我们项目里的最佳实践。 Java Heap基础知识 默认情况下,jvm自动分配的heap大小取决于机器配置,比如我们到一台64G内存服务器: java -XX:+Pri...

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

Java

HttpServletRequest & HttpServletResponse

9

xiaoli.wang 发布于 2020-01-18

Servlet配置方式 全路径匹配 以 / 开始 /aa/bb localhost:8080/项目名称/aa/bb 路径匹配 , 前半段匹配 以 / 开始 , 但是以 * 结束 /a/* /* *是一个通配符,匹配任意文字 localhost:8080/项目名称/aa/bb 以扩...

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

Java

HttpServletRequest & HttpServletResponse

9

xiaoli.wang 发布于 2020-01-18

Servlet配置方式 全路径匹配 以 / 开始 /aa/bb localhost:8080/项目名称/aa/bb 路径匹配 , 前半段匹配 以 / 开始 , 但是以 * 结束 /a/* /* *是一个通配符,匹配任意文字 localhost:8080/项目名称/aa/bb 以扩...

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

Spring

Eureka源码之二:服务注册

1

songhua.gao 发布于 2020-01-17

点击上方蓝色字关注我们~ Eureka源码剖析之一:初始化-启动 EurekaClient在启动时会进行一系列初始化操作,本篇文章主要解析EurekaClient端向EurekaServer端发起注册请求的具体过程,具体分为EurekaClient端发送请求和EurekaServ...

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

Java

聊聊artemis ClientConsumer的handleRegularMessage

xirruiqiang 发布于 2020-01-17

序 本文主要研究一下artemis ClientConsumer的handleRegularMessage handleRegularMessage activemq-artemis-2.11.0/artemis-core-client/src/main/java/org/apa...

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

Java

Mybatis原理之数据源和连接池

3

xiaoli.he 发布于 2020-01-17

在Java工程项目中,我们常会用到 Mybatis 框架对数据库中的数据进行增删查改,其原理就是对 JDBC 做了一层封装,并优化数据源的连接。 ​ 我们先来回顾下 JDBC 操作数据库的过程。 JDBC 操作数据库 JDBC 操作数据库的时候需要指定 连接类型、加载驱动、建立连...

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

Java

初识java《Spring》

23

zhuangli 发布于 2020-01-17

Spring有三大重要的组成,di依赖注入、ioc容器、aop切面编程。还有Spring bean执行流程也很重要。先从他的设计模式开始介绍他吧,他一共使用了9种设计模式。 工厂模式 首先他采用了工厂模式把以前硬编码的依赖通过beanFactory来注入依赖,由他解决bean之间...

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

Java

Java 基础(二)| 使用 lambad 表达式的正确姿势

3

尖兵 发布于 2020-01-17

前言 为跳槽面试做准备,今天开始进入 Java 基础的复习。希望基础不好的同学看完这篇文章,能掌握 lambda 表达式,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆。 一、什么是 lambda 表达式 Java8 是我们使用最广泛的稳定 Java 版本,lam...

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

Java

RxJava(九):背压

songhua.gao 发布于 2020-01-17

博客主页 1. 背压 在 RxJava 中, 会遇到被观察者发送消息太快以至于它的操作符或者订阅者不能及时处理相关的消息,这就是典型的背压( Back Pressure )场景。 在 RxJava 官方的维基百科中关于 Back Pressure 是这样描述的: In React...

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

Java

QueryDSL 查询条件的序列化与反序列化

dulong 发布于 2020-01-17

本方法仅适用于 JPQL 构造查询条件并序列化到文本字符串 QueryDSL 提供了 com.querydsl.core.types.Visitor 以访问 DSL 结点,在此基础上提供了 com.querydsl.core.support.SerializerBase 以序列化...

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

Java

RxJava(八):合并操作符和连接操作符

9

darida 发布于 2020-01-17

博客主页 RxJava 的合并操作符主要包括如下几个: startWith :在数据序列的开头增加一项数据 merge :将多个 Observable 合并为一个 mergeDelayError :合并多个 Observable,让没有错误的 Observable 都完成后再发射...

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

Java

一次 Young GC 的优化实践(FinalReference 相关)

4

hanze 发布于 2020-01-17

前言 博客已经好久没有更新了,主要原因是 18 年下半年工作比较忙,另外也没有比较有意思的题材,所以迟迟没有更新。 此篇是 18 年底的微信上的某同学提供的一个 Young GC 问题案例,找我帮忙解决。这个 GC 案例比较有意思,虽然过去有一段时间了,但是想想觉得还是有必要写出...

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

Spring

Springboot 系列(五)Spring Boot web 开发之静态资源和模版引擎

8

尖兵 发布于 2020-01-17

点击上方“ 程序员黄小斜 ”,选择“ 设为星标 ” 回复” 666 “获取新整理的面试资料 前言 Spring Boot 天生的适合 web 应用开发,它可以快速的嵌入 Tomcat, Jetty 或 Netty 用于包含一个 HTTP 服务器。且开发十分简单,只需要引入 web...

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