自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 关于泛型的super与extends 的set方法

类Test<T>{T t;getT();setT(T t);}假设有类Zi,和类Fu,Zi 继承Fu.method(Test<? extends Fu> test){//下面两个set都会报错 test.setT(new Zi()); test.setT(new Fu());}而使用supermethod(Test&l...

2019-10-30 19:37:58 409

原创 ConcurrentHashMap源码分析

ConcurrentHashMap源码分析1.什么是ConcurrentHashMap?1.2ConcurrentHashMap是如何实现线程安全的?2.ConcurrentHashMap#put源码分析2.1 spread方法分析2.2 initTable()方法分析2.3 tabAt()方法2.4 casTabAt()2.5 addCount()2.5.1 addCount方法思想2.5.2 ...

2019-06-17 23:45:29 318

原创 mybatis整合spring后一级缓存真的会失效吗?

mybatis整合spring后一级缓存真的会失效吗?前言1.代码案例2.源码分析总结前言在网上看了很多的文章都表示mybaits和spring整合后一级缓存会“失效”,或者说是达到了失效的效果,也就是多次查询不会命中一级缓存,大致原因如下:那么真的如上图说的一样吗,每一次查询都会开启一个sqlsession,所以导致了一级缓存“失效”的效果吗?我们一起来探究下1.代码案例首先如果我们...

2019-06-10 23:30:20 2921 1

原创 Aqs源码解析(一)

Aqs源码解析(一)1.什么是Aqs2.Aqs分析之ReentrantLock2.1什么是ReentrantLock2.2ReentrantLock的使用2.3锁升级的概念源码分析构造方法lock方法1.什么是AqsAqs是java中的一个抽象类,全名AbstractQueuedSynchronizer,几乎juc(java.util.concurrent)包中大部分的实现都依赖于此类。比如R...

2019-06-05 17:49:03 264

原创 【设计模式】工厂模式

一、工厂模式创建模式中的一种,我们在创建实例时不会对客户端暴露创建逻辑,而是统一交给工厂来进行创建。工厂模式分为三种,即:简单工厂模式,工厂方法模式,抽象工厂模式。1.简单工厂模式:即通过某种标识(如Spring中的BeanFactory,则是用类名)传递给工厂,工厂则返回相应的对象给客户端。例:存在一个手机工厂,你想获得一个手机类只需要传入相应的标识即可,比如,1代表的是vivo手机...

2018-10-16 23:57:44 141

原创 HashMap源码解析

啃了半天的HashMap源码,以此记录一下成果1.hashMap的数据结构是,数组加链表嗯 也就是这个东西table数组 加上Entry类(HashMap静态内部类,链表)下面附上Entry的代码Entry一共会存储4个值,分别是key(也就是我们put时候的key),value(put时候的value),next(下一个Entry节点),hash(节点对应的hash值)。...

2018-08-01 12:02:28 217

原创 【设计模式】模板模式实现报表模板

需求:报表生产都大同小异,流程一样,但是具体的实现不同(如数据不同,报表名不同,报表列不同)。如果每一次报表都复制粘贴就太码农。所以很自然的想到了模板模式。设计:        1.抽象类包含方法createReport(流程方法,既创建报表,生产表头,将数据放入报表中,生产报表)        2.抽象方法(各个报表不同的实现):                        getReport...

2018-07-04 19:04:07 788

原创 【idea,maven工程】tomcat部署web工程 无法启动,打成war包可以启动问题

你是否有这样的情况:1.使用idea2.maven工程3.web项目4.使用了tomcat,在启动时项目无法正常访问5.target目录下,没有相应的war包6.使用 maven,install命令打成war包又可使用解决方法:1.选中tomcat,右键,选择Edit configuration2.点击加号,选择Build Artifacts,将相应的war:exploded 打钩重新启动,搞定!...

2018-07-03 16:54:57 1971

原创 【git】 将add commit push 三个命令合为一个

将add、commit、push 三个命令合为一个:git config --global alias.cmp '!f() { git add -A &amp;&amp; git commit -m "$@" &amp;&amp; git push; }; f'使用时只需要 git cmp "内容"由此可知若想讲add、commit两个命令合为一个只需要输入下面的命令git config --g...

2018-07-02 16:50:29 3613 2

原创 Springboot实现redis键失效监控操作

首先是springboot如何实现订阅发布参考文献传送门:http://blog.csdn.net/myNameIssls/article/details/75471012?locationNum=2&amp;fps=1 1. pom.xml文件添加依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&l...

2018-03-17 17:24:17 6417 3

原创 SpringBoot及Idea编译器的入门

最近在学SpringBoot,将原来的Eclipse工具换成了idea(用起来有点吃力很多快捷键需要百度),简单入了个门(或许入门都算不上),总之,将这些天学习的知识做个总结,记录以此。一、idea部分:    1.关于idea的下载        idea分为两个版本,分别为旗舰版和社区版。简单了解了一下这两个版本的区别在于,旗舰版的功能较社区办更加完善,所以这里推荐使用的是idea旗舰版。  ...

2018-03-05 19:40:13 2269

原创 Mysql数据库优化

一、Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括如下几点:1.表的设计合理化(满足3NF)2.添加适当的索引3.分表技术(水平分割、垂直分割)4.读写分离5.存储过程6.对mysql配置优化7.mysql服务器硬件升级8.定时清除无用数据,定时整理MyISAM存储引擎的碎片二、Mysql数据库优化详解(一)表的合理化设计之3N

2018-02-03 22:35:20 756 1

原创 linux jdk7 安装

Linux安装jdk7准备工作: 1.准备jdk压缩文件(我这里使用的是jdk-7u55-linux-i586.tar.gz,需要其他历史版本可转如下连接:https://jingyan.baidu.com/article/9989c746064d46f648ecfe9a.html ) 2.创建目录jdk命令:mkdir /usr/local/webserver/jdkLi

2018-02-02 13:37:33 314 1

原创 linux环境 redis 集群搭建(伪分布式)

一、安装redis1.在linux系统中创建目录:/usr/local/webserver/redis2.安装redis编译的c环境,命令:yuminstall gcc-c++3.将redis-3.0.0.tar.gz上传到/usr/local/webserver/redis下 并解压 解压命令:tar -xvf redis-3.0.0.tar.gz  /usr/local/web

2018-01-25 16:46:17 288 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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