5 whyalwaysmea

尚未进行身份认证

I know the way

等级
博文 98
排名 2w+

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

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

2018-07-20 11:12:25

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

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

2018-07-13 14:17:44

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

自定义标签使用可以参考Spring自定义标签示例(亲测可运行)自定义标签解析publicBeanDefinitionparseCustomElement(Elementele){returnthis.parseCustomElement(ele,(BeanDefinition)null);}//containingBd为父类bean,对顶层元素的解析应设...

2018-07-06 15:33:33

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

默认标签的解析是在parseDefaultElement函数中进行的,//DefaultBeanDefinitionDocumentReader.javaprivatevoidparseDefaultElement(Elementele,BeanDefinitionParserDelegatedelegate){if(delegate.nodeNameEqua...

2018-07-04 15:15:17

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

容器的基本用法publicclassMyTestBean{privateStringtestStr="testStr";publicStringgetTestStr(){returntestStr;}publicvoidsetTestStr(StringtestStr){this.t...

2018-07-02 15:48:48

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

Spring的整体架构Spring框架是一个分层架构,包含一系列的功能要素,被分为大约20个模块。CoreContainer(核心容器)DataAccess/IntergrationWebAOPTest

2018-07-02 14:44:09

MySql优化-索引优化

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

2018-06-14 11:55:18

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

这里有一个问题需要讨论:如果key超时了,Redis会回收key的存储空间吗?答案是不会。Redis的key超时不会被其自动回收,它只会标识哪些键值对超时了。这样做的一个好处在于,如果一个很大的键值对超时,比如一个列表或者哈希结构,存在数以百万个元素,要对其回收需要很长的时间。如果采用超时回收,则可能产生停顿。坏处也很明显,这些超时的键值对会浪费比较多的空间。Redis提供两个方式...

2018-06-11 21:15:40

【Centos】常用软件安装方法

mysqlhttps://cloud.tencent.com/developer/article/1018423centos7通过yum安装JDK1.8http://blog.csdn.net/a360616218/article/details/76736988nginxhttps://www.cnblogs.com/kaid/p/7640723.htmlgitht...

2018-06-08 11:17:40

MySQL优化-基础优化

慢查询日志如何发现有问题的SQL?使用MySql慢查日志对有效率问题的SQL进行监控--查看慢查日志是否开启showvariableslike'slow_query_log';--开启慢查日志setglobalslow_query_log=on;--查看日志保存位置showvariableslike'slow_query_log_file'...

2018-06-05 17:50:32

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

两个单链表相交的一系列问题【题目】在本题中,单链表可能有环,也可能无环。给定两个单链表的头节点head1和head2,这两个链表可能相交,也可能不相交。请实现一个函数,如果两个链表相交,则返回相交的第一个节点;如果不相交,则返回null。【要求】如果链表1的长度为N,链表2的长度为M,时间复杂度请达到O(N+M),额外空间复杂度请达到O(1)思考其实这道题目是一系列的问题,...

2018-06-05 16:01:59

【git】git常用命令

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

2018-06-01 14:25:55

MySql并列排名

业务背景数据排名是很常用的功能,简单的排名功能可以根据orderby来实现,但是如果数据一样,排名应该并列的时候,orderby虽然是排序的,但是名次却不是并列的。我们先通过orderby演示一下。建表CREATETABLE`user_score`(`user_id`INT(11)NOTNULLAUTO_INCREMENTCOMMENT'用户i...

2018-05-17 15:33:27

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

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

2018-05-10 15:54:42

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

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

2018-05-09 12:08:42

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

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

2018-05-08 16:17:41

【Java编程的逻辑】线程池

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

2018-05-07 15:56:58

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

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

2018-05-03 17:27:22

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

写时复制的List和SetCopyOnWriteArrayList和CopyOnWriteArraySet,Copy-On-Write即写时复制CopyOnWriteArrayListCopyOnWriteArrayList实现了List接口,它的用法与其他的List基本是一样的。CopyOnWriteArrayList特点:1.线程安全,可以被多个线程并发访问2...

2018-05-02 15:04:46

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

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

2018-04-27 15:49:37
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!