标签:Collection

Java

Java并发编程之锁机制之ReentrantReadWriteLock(读写锁)

4

邓龙华 发布于 2018-12-19

在前面的文章中,我们讲到了ReentrantLock(重入锁),接下来我们讲 ReentrantReadWriteLock(读写锁) ,该锁具备重入锁的 可重入性 、 可中断获取锁 等特征,但是与 ReentrantLock 不一样的是,在 ReentrantReadWriteL...

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

Spring

Spring Security系列之授权过程(七)

5

likai 发布于 2018-12-19

前言 本文是接上一章 Spring Security系列之认证过程(六) 进一步分析Spring Security用户名密码登录授权是如何实现得; 类图 调试过程 使用debug方式启动https://github.com/longfeizheng/logback该项目,浏览器输...

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

Java

非规范SQL的sharding-jdbc实践

1

hanze 发布于 2018-12-19

在 《“分库分表" ?选型和流程要慎重,否则会失控》 中,我们谈到处于驱动层的 sharding-jdbc 。开源做到这个水平,已经超棒了,不像 tddl 成了个太监。但还是有坑。 不过不能怪框架,毕竟有些sql,只有程序和鬼能懂。 <select id=&quo...

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

Java

Java 8 Streams API:懒惰和性能优化

puefu.he 发布于 2018-12-19

当你处理更大的数据或无限的流时,懒惰laziness是一个真正的福音, 处理数据时,我们不确定何时使用已处理的数据。eager急切的立即处理会以牺牲性能为代价,客户端可能只是使用一小部分数据。或者,根据某些条件,客户端甚至可能不需要利用该数据。 延迟处理应该基于“&nb...

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

Java

MyBatis 源码解析(二):SqlSession 执行流程

xiaoli.he 发布于 2018-12-18

简介 上一篇文章( MyBatis 源码解析(一):初始化和动态代理 )分析了 MyBatis 解析配置文件以及 Mapper 动态代理相关的源码,这一篇接着上一篇探究 SqlSession 的执行流程,另外了解一下 MyBatis 中的缓存。 openSession MyBat...

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

Spring

Spring Security系列之动手实现一个IP_Login(五)

9

changyuan.xu 发布于 2018-12-18

文章来源 为什么我们不自己写一个表单认证,用过滤器即可完成,大费周章引入Spring Security,看起来也并没有方便多少。对的,在引入Spring Security之前,我们得首先想到,是什么需求让我们引入了Spring Security,以及为什么是Spring Secu...

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

Java

测者的测试技术手册:Junit单元测试遇见的一个枚举类型的坑(枚举类型详解)

小丁 发布于 2018-12-18

Enum的简介 枚举类型很早就在计算机语言中存在了,主要被用来将一组相似的值包含进一种类型中,这种类型的名称被定义成独一无二的类型描述符,这就是枚举类型。 在java语言中,枚举类型是一个完整功能的类,允许开发者给枚举类型添加方法和属性,同时也可以提供接口。同时Java也为Enu...

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

Java

Spring Boot-实现Undertow服务器同时支持HTTP2、HTTPS

15

likai 发布于 2018-12-18

前言 如今,企业级应用程序的高性能安全加密的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议。Spring Boot的web容器已经有容器可以支持HTTP2了,这个例子中选择了Undertow高性...

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

Java

为什么阿里巴巴禁止把SimpleDateFormat定义为static类型的?

6

hellas 发布于 2018-12-17

在日常开发中,我们经常会用到时间,我们有很多办法在Java代码中获取时间。但是不同的方法获取到的时间的格式都不尽相同,这时候就需要一种格式化工具,把时间显示成我们需要的格式。 最常用的方法就是使用SimpleDateFormat类。这是一个看上去功能比较简单的类,但是,一旦使用不...

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

Java

Java Stream API实用指南

xubiao.zhuang 发布于 2018-12-17

StreamAPI是在Java 8中引入的。它提供了一种声明性编程方法,用于迭代和执行集合上的操作。在Java 7及之前版本中,for和for each是唯一遍历集合的可用选项,这是一种 命令式编程方法。在本文中,我将向您介绍StreamAPI以及它如何提供对集合执行的...

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

Java

java基础学习:JavaWeb之EL表达式

3

尖兵 发布于 2018-12-17

EL 全名为Expression Language。JSP中可以使用EL表达式,EL表达式是用"${}"括起来的脚本,用来更方便地读取对象,EL表达式写在JSP的HTML代码中,而不能写在"<%%>"引起的JSP脚本中 EL表达...

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

Java

源码分析 Mybatis 的 foreach 为什么会出现性能问题 原 荐

1

dulong 发布于 2018-12-17

背景 最近在做一个类似于综合报表之类的东西,需要查询所有的记录(数据库记录有限制),大概有1W条记录,该报表需要三个表的数据,也就是根据这 1W 个 ID 去执行查询三次数据库,其中,有一条查询 SQL 是自己写,其他两条是根据别人提供的接口进行查询,刚开始的时候,没有多想,直接...

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

Java

Ehcache大杂烩

yeseng 发布于 2018-12-17

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> &l...

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

Spring

SpringValidator

xirruiqiang 发布于 2018-12-17

注入Validator,调用 javax.validation.Validator#validate 即可 示例代码 package bj.valid; import lombok.AllArgsConstructor; import lombok.Data; import or...

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

Java

Java容器概览

1

尖兵 发布于 2018-12-16

容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。 Collection 1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 Ha...

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

Java

SpringBoot+Shiro学习(四):Realm授权

3

xirruiqiang 发布于 2018-12-16

上一节我们讲了自定义Realm中的认证( doGetAuthenticationInfo ),这节我们继续讲另一个方法 doGetAuthorizationInfo 授权 授权流程 流程如下: 首先调用Subject.isPermitted/hasRole接口,其会委托给Secu...

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

Java

LinkedList(Java8)个人理解

2

xubiao.zhuang 发布于 2018-12-16

查看 :point_right: LinkedList源码翻译 问题:对 LinkedList 的理解? LinkedList 我将其翻译为“链表”,其实也并不准确,LinkedList 实现了 List 接口和 Deque(双端队列) 接口,所以既可以作为链表(常用的方法有 a...

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

Java

Java之CMS GC的7个阶段

7

yanxinchi 发布于 2018-12-15

阅读更多 CMS收集器的主要设计目标是:低应用停顿时间。它通过两种方式实现这一目标: 不压缩老年代,而是使用空闲列表来管理回收空间。 大部分标记清理工作与应用程序并发执行。 主要问题:由于不压缩带来的老年代堆碎片,或者在对象分配率高的情况下,都可能导致Full GC。 CMS收集...

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