java
dd-moeny
无论什么时候,再困难也要咬牙挺住。不为别的,就因为我们是男人。
展开
-
volatile与synchronized的区别
一、多线程编程中的三个核心概念1、原子性这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效)。关于原子性,一个非常经典的例子就是银行转账问题:A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,要做如下操作: 1. 从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变...原创 2019-11-26 02:35:33 · 139 阅读 · 0 评论 -
Map中的hash()分析
你知道HashMap中hash方法的具体实现吗?你知道HashTable、ConcurrentHashMap中hash方法的实现以及原因吗?你知道为什么要这么实现吗?你知道为什么JDK 7和JDK 8中hash方法实现的不同以及区别吗?如果你不能很好的回答这些问题,那么你需要好好看看这篇文章。文中涉及到大量代码和计算机底层原理知识。绝对的干货满满。整个互联网,把hash()分析的如此透彻的,别无二...转载 2019-11-19 16:17:58 · 134 阅读 · 0 评论 -
HashMap完全解读
一、什么是HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collect...转载 2019-11-19 01:50:15 · 118 阅读 · 0 评论 -
Java中的equals()和hashcode()之间关系
所有Java类的父类——java.lang.Object中定义了两个重要的方法:public boolean equals(Object obj)public int hashCode()本文首先会给出一个错误使用这两个方法的例子,然后再解释equals和hashcode是如何协同工作的。一个常犯的错误:先看以下代码:import java.util.HashMap;...转载 2019-11-19 01:39:12 · 454 阅读 · 1 评论 -
Java 中 == 和 equals 的区别
== 是什么?在《java核心技术卷 1》中将==归类于关系运算符;==常用于相同的基本数据类型之间的比较,也可用于相同类型的对象之间的比较;如果==比较的是基本数据类型,那么比较的是两个基本数据类型的值是否相等; 如果==是比较的两个对象,那么比较的是两个对象的引用,也就是两个对象是否为同一个对象,并不是比较的对象的内容;下面举例说明:public class Test {...转载 2019-11-19 01:34:24 · 109 阅读 · 0 评论 -
基于OAuth2的认证
转载自:https://www.cnblogs.com/linianhui/p/authentication-based-on-oauth2.htmlOAuth 2.0 规范定义了一个授权(delegation)协议,对于使用Web的应用程序和API在网络上传递授权决策非常有用。OAuth被用在各钟各样的应用程序中,包括提供用户认证的机制。这导致许多的开发者和API提供者得出一个OAuth本身...转载 2018-12-02 05:43:51 · 584 阅读 · 0 评论 -
OAuth2授权 & JWT(JSON Web Token)
转载自:https://www.cnblogs.com/linianhui/p/oauth2-extensions-protocol-and-json-web-token.html1 RFC6749还有哪些可以完善的?1.1 撤销Token在上篇[认证授权] 1.OAuth2授权 中介绍到了OAuth2可以帮我们解决第三方Client访问受保护资源的问题,但是只提供了如何获得acces...转载 2018-12-02 05:45:40 · 1507 阅读 · 0 评论 -
一次性密码 && 身份认证三要素
转载自:https://www.cnblogs.com/linianhui/p/security-one-time-password.html在信息安全领域,一般把Cryptography称为密码,而把Password称为口令。日常用户的认知中,以及我们开发人员沟通过程中,绝大多数被称作密码的东西其实都是Password(口令),而不是真正意义上的密码。本文保持这种语义,采用密码来代指Pas...转载 2018-12-02 05:54:32 · 3670 阅读 · 0 评论 -
spring boot jackson 时间转换
Entity@Datapublic class ExampleLeave implements Serializable { private String id; private String title; private String leaveType; @DateTimeFormat(pattern="yyyy-MM-dd HH:mm") @...原创 2019-07-30 16:42:08 · 678 阅读 · 0 评论 -
[认证授权] OAuth2授权
转载自:http://www.cnblogs.com/linianhui/p/oauth2-authorization.html1 OAuth2解决什么问题的?举个栗子先。小明在QQ空间积攒了多年的照片,想挑选一些照片来打印出来。然后小明在找到一家提供在线打印并且包邮的网站(我们叫它PP吧(Print Photo缩写转载 2018-12-02 05:40:23 · 474 阅读 · 0 评论 -
Ehcache(09)——缓存Web页面
Ehcache除了支持对象的缓存之外,还可以对Web页面进行缓存。这是通过ehcache-web模块下的Filter支持的。Ehcache会自动对Response进行gzip压缩,并且将压缩后的内容保存在缓存中。如果客户端是支持gzip的,那么服务端将直接返回gzip之后的Response,否则将从缓存中提取出来对应的Response进行解压缩,然后再返回给客户端。如果客户端是支持gzi...转载 2018-08-05 17:46:50 · 155 阅读 · 0 评论 -
Ehcache(01)——简介、基本操作
转自:http://haohaoxuexi.iteye.com/blog/2112170Ehcache简介 Ehcache是用来管理缓存的一个工具,其缓存的数据可以是存放在内存里面的,也可以是存放在硬盘上的。其核心是CacheManager,一切Ehcache的应用都是从CacheManager开始的。它是用来管理Cache(缓存)的,一个应用可以有多个CacheManage...转载 2018-08-05 16:34:17 · 182 阅读 · 0 评论 -
Ehcache(02)——ehcache.xml简介
ehcache.xml简介 ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager...转载 2018-08-05 16:38:49 · 2411 阅读 · 0 评论 -
Ehcache(03)——Ehcache中储存缓存的方式
Ehcache中储存缓存的方式目录1 堆内存(MemoryStore)1.1 指定可用内存1.2 驱除策略1.3 元素过期2 非堆内存(BigMemory)3 磁盘(DiskStore)3.1 指定可用容量3.2 元素过期 ...转载 2018-08-05 16:46:22 · 3319 阅读 · 0 评论 -
Ehcache(04)——设置缓存的大小
设置缓存的大小 目录1 CacheManager级别2 Cache级别3 大小衡量4 配置大小示例 缓存大小的限制可以设置在CacheMan...转载 2018-08-05 16:48:52 · 3059 阅读 · 0 评论 -
Ehcache(05)——缓存的查询
缓存的查询 Ehcache中为我们提供了可以对Cache中缓存的元素进行查找的方式。其逻辑类似于SQL中的查找。通过给定各种限制条件,我们可以构造各种复杂的查询,然后返回结果集,也可以对查询进行分组和排序等。1. 使Cache可查询 Ehcache中的查询是针对于Cache而言的。但并不是所有的Cache都可以进行查询操作,我们需要指定其为一个可查询的Cache之后才...转载 2018-08-05 17:36:43 · 3319 阅读 · 0 评论 -
Ehcache(06)——监听器
Ehcache中监听器有两种,监听CacheManager的CacheManagerEventListener和监听Cache的CacheEventListener。在Ehcache中,Listener是通过对应的监听器工厂来生产和发生作用的。下面我们将来介绍一下这两种类型的监听器。 1 CacheManager监听器 Ehcache中定义了一个CacheMan...原创 2018-08-05 17:41:30 · 382 阅读 · 1 评论 -
Ehcache(07)——Ehcache对并发的支持
Ehcache对并发的支持 在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同一个Key的Read锁不会受到限制,但其它线程(包括获取了该Key的R...转载 2018-08-05 17:43:20 · 175 阅读 · 0 评论 -
Ehcache(08)——可阻塞的Cache——BlockingCache
可阻塞的Cache—BlockingCache 在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.sf.ehcache.concurrent.ReadWriteLock...转载 2018-08-05 17:45:29 · 181 阅读 · 0 评论 -
spring注解关键字
一、 spring注解:1、 @Controller 控制器2、 @Autowired 按照类型匹配,可以完成对类成员变量,方法及构造函数进行标注,完成自动装配的工作 @Autowired(required=false) 在找不到匹配Bean时也不报错3、 @Qualifier 注释指定注入bean的名称,防止冲突,可以对成员变量、方法入参、...原创 2018-04-14 01:16:08 · 765 阅读 · 0 评论