解决SpringBoot2.0 集成Redis @Cacheable乱码的情况

在使用SpringBoot1.x的时候,通过简单的配置RedisTemplete就可以了,升级到SpringBoot2.0,spring-boot-starter-data-redis也跟着升起来了,@Cacheable就出现了乱码的情况,可以通过如下配置方式解决 @Configuratio...

2018-07-20 11:12:25

阅读数 2020

评论数 4

《Spring源码深度解析》读书笔记 - bean的加载

基本流程 完成了XML配置文件的解析,接下来就是对bean加载的探索。 //2.从ioc容器中获取bean实例 MyTestBean myTestBean = (MyTestBean) beanFactory.getBean("myTestBean&...

2018-07-13 14:17:44

阅读数 187

评论数 0

《Spring源码深度解析》读书笔记 - 自定义标签的解析

自定义标签使用 可以参考Spring自定义标签示例(亲测可运行) 自定义标签解析 public BeanDefinition parseCustomElement(Element ele) { return this.parseCustomElement(ele, (BeanDe...

2018-07-06 15:33:33

阅读数 165

评论数 0

《Spring源码深度解析》读书笔记 - 默认标签的解析

默认标签的解析是在parseDefaultElement函数中进行的, // DefaultBeanDefinitionDocumentReader.java private void parseDefaultElement(Element ele, BeanDefinitionParse...

2018-07-04 15:15:17

阅读数 132

评论数 0

《Spring源码深度解析》读书笔记 - 容器的基本实现

容器的基本用法 public class MyTestBean { private String testStr = "testStr"; public String getTestStr() { retur...

2018-07-02 15:48:48

阅读数 243

评论数 0

《Spring源码深度解析》读书笔记 - Spring整体架构

Spring的整体架构 Spring框架是一个分层架构,包含一系列的功能要素,被分为大约20个模块。 Core Container(核心容器) Data Access/Intergration Web AOP Test

2018-07-02 14:44:09

阅读数 270

评论数 0

MySql优化-索引优化

索引简介 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上 我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的索引...

2018-06-14 11:55:18

阅读数 129

评论数 0

关于Redis会回收超时key的存储空间的问题?

这里有一个问题需要讨论:如果key超时了,Redis会回收key的存储空间吗? 答案是不会。Redis的key超时不会被其自动回收,它只会标识哪些键值对超时了。 这样做的一个好处在于,如果一个很大的键值对超时,比如一个列表或者哈希结构,存在数以百万个元素,要对其回收需要很长的时间。如果采用超...

2018-06-11 21:15:40

阅读数 739

评论数 0

【Centos】常用软件安装方法

mysql https://cloud.tencent.com/developer/article/1018423 centos7通过yum安装JDK1.8 http://blog.csdn.net/a360616218/article/details/76736988 nginx h...

2018-06-08 11:17:40

阅读数 415

评论数 0

MySQL优化-基础优化

慢查询日志 如何发现有问题的SQL? 使用MySql慢查日志对有效率问题的SQL进行监控 -- 查看慢查日志是否开启 show variables like 'slow_query_log'; -- 开启慢查日志 set global slow_query_log=on; --...

2018-06-05 17:50:32

阅读数 245

评论数 0

两个单链表相交的一系列问题

两个单链表相交的一系列问题 【题目】在本题中,单链表可能有环,也可能无环。给定两个单链表的头节点head1和head2,这两个链表可能相交,也可能不相交。请实现一个函数,如果两个链表相交,则返回相交的第一个节点;如果不相交,则返回null。 【要求】如果链表1的长度为N,链表2的长度为M,时...

2018-06-05 16:01:59

阅读数 145

评论数 0

【git】git常用命令

分支相关 查看所有分支(本地分支和远程分支) git branch -a 查看远程分支 git branch -r 查看本地分支 git branch

2018-06-01 14:25:55

阅读数 95

评论数 0

MySql并列排名

业务背景 数据排名是很常用的功能,简单的排名功能可以根据order by来实现,但是如果数据一样,排名应该并列的时候,order by虽然是排序的,但是名次却不是并列的。 我们先通过order by演示一下。 建表 CREATE TABLE `user_score` ( `us...

2018-05-17 15:33:27

阅读数 1629

评论数 1

【Java编程的思想】并发总结

线程安全的机制 线程表示一条单独的执行流,每个线程有自己的执行计数器,有自己的栈,但可以共享内存,共享内存是实现线程协作的基础,但共享内存有两个问题:竞态条件和内存可见性。 synchronized synchronized是一个关键字,既可以解决竞态问题,也可以解决内存可见性问题 ...

2018-05-10 15:54:42

阅读数 142

评论数 0

【Java编程的思想】同步和协作工作类

读写锁ReentrantReadWriteLock 之前介绍了两种锁:synchronized和显式锁ReentrantLock,对于同一受保护对象的访问,无论是读还是写,它们都要求获得相同的锁。但在一些场景中,多个线程的读操作完全可以并行。 在Java并发包中,接口ReadWriteLoc...

2018-05-09 12:08:42

阅读数 210

评论数 0

【Java编程的逻辑】定时任务

Timer和TimerTask 基本用法 TimerTask表示一个定时任务,它是一个抽象类,实现了Runnable,具体的定时任务需要继承该类,实现run方法。 Timer是一个具体类,它负责定时任务的调度和执行,主要方法有: // 在指定绝对时间time运行任务task publ...

2018-05-08 16:17:41

阅读数 200

评论数 0

【Java编程的逻辑】线程池

基本介绍 线程池,顾名思义,就是一个线程的池子,里有若干线程,它们的目的就是执行提交给线程池的任务,执行完一个任务后不会退出,而是继续等待或执行新的任务。 线程池的优点: 可以重用线程,避免线程创建的开销 任务过多时,通过排序避免创建过多线程,减少系统资源消耗和竞争,确任务有序完成...

2018-05-07 15:56:58

阅读数 249

评论数 0

【Java编程的逻辑】异步任务执行服务 Executor和ExecutorService

基本概念 线程Thread即表示要执行的任务,又表示执行的机制。 Java并发包提供了一套“异步任务执行服务”机制,将“任务的提交”和“任务的执行”相分离。 任务执行服务涉及到的基本接口: Runnable和Callable:表示要执行的异步任务 Executor和Execu...

2018-05-03 17:27:22

阅读数 1067

评论数 0

【Java编程的逻辑】并发容器

写时复制的List和Set CopyOnWriteArrayList和CopyOnWriteArraySet,Copy-On-Write即写时复制 CopyOnWriteArrayList CopyOnWriteArrayList实现了List接口,它的用法与其他的List基本是一样...

2018-05-02 15:04:46

阅读数 110

评论数 0

【Java编程的逻辑】原子变量 & CAS & 显示锁

原子变量 在理解synchronized中有使用synchronized保证原子更新操作,但是使用synchronized成本太高了,需要先获取锁,最后还要释放锁,如果获取不到锁还需要等到。这些成本都是比较高的,对于这种情况,可以使用原子变量。 Java并发包中的基本原子变量类型有以下几种: ...

2018-04-27 15:49:37

阅读数 119

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭