自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

转载 mysql 锁 事务隔离级别

主题最近在看mysql相关的书籍.实验了一些内容.分享一下,主要是关于事务隔离级别(read-committed和repeatable-read)和锁相关的.很多网上文章上都能搜索到 read-committed可以防止脏数据.但是不能防止 不可重复读.而repeatable-read可以防止 不可重复读.但是不能防止幻读.现在我想分享下具体是怎么操作的....

2019-04-14 23:01:00 160

转载 MyBatis 学习记录7 一个Bug引发的思考

主题  这次学习MyBatis的主题我想记录一个使用起来可能会遇到,但是没有经验的话很不好解决的BUG,在特定情况下很容易发生.异常java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.xxx.package.ClassA.fu...

2018-11-13 20:06:00 208

转载 MyBatis 学习记录6 TypeHandler

主题  因为对MyBatis在JDBC数据和Java对象之间数据转化比较感兴趣,所以就记录并学习一下TypeHandler.使用场景如上图所示,观察下接口方法就能明白.TypeHandler主要用于JDBC数据与Java对象数据之间转化,比如更新数据库的时候可以设置java对象里的字段怎么映射到JDBC数据库支持的类型.或者查询数据的时候,返回的JDBC的数据怎么转...

2018-10-16 19:34:00 189

转载 MyBatis 学习记录5 MyBatis的二级缓存

主题  之前学习了一下MyBatis的一级缓存,主要涉及到BaseExecutor这个类. 现在准备学习记录下MyBatis二级缓存.配置二级缓存与初始化发生的事情首先二级缓存默认是不开启的,需要自己配置开启.如上图,需要在configuration里去开启.其次在需要用到二级缓存的Mapper的配置里做一些操作,如下图,增加一个cache节点...

2018-10-14 11:55:00 165

转载 MyBatis 学习记录4 MyBatis的一级缓存

主题  分享记录一下MyBatis的一级缓存相关的学习.Demo 1 public static void firstLevelCache() { 2 init("mybatis-config.xml"); 3 4 SqlSession session = sqlSessionFactory.openSessio...

2018-09-29 19:14:00 92

转载 MyBatis 学习记录3 MapperMethod类

主题  之前学习了一下MapperProxy的生产过程,自定义Mapper类的对象是通过动态代理生产的,调用自定义方法的时候实际上是调用了MapperMethod的execute方法:mapperMethod.execute(sqlSession, args);所以想再简单学习记录下MapperMethod类组成从上图可知,MapperMethod只有2个成员域,都...

2018-09-27 20:15:00 308

转载 MyBatis 学习记录2 Mapper对象是如何生成的

主题  以前我一直有一个问题不懂.并且觉得很神奇.就是Mybatis我们开发的时候只需要定义接口,并没有写实现类,为什么我们运行的时候就可以直接使用? 现在我想分享下这部分大致是怎么实现的.在启动的时候根据之前的分享,在初始化阶段Build SqlSessionFactory的时候需要用到XMLConfigBuilder去parse XML文件生成Confi...

2018-09-25 19:58:00 161

转载 MyBatis 学习记录1 一个简单的demo

主题  最近(N个月前)clone了mybatis的源码..感觉相比于spring真的非常小...然后看了看代码觉得写得很精简...感觉我的写代码思路和这个框架比较相似(很难具体描述...就是相对来说比较容易理解作者想干嘛,虽然也没有注释..)...所以打算好好研究学习下.从1个简单的DEMO来入门 1 package test.test; 2 3 ...

2018-09-24 11:10:00 74

转载 hadoop学习记录1 初始hadoop

起因因为工作需要用到,所以需要学习hadoop,所以记录这篇文章,主要分享自己快速搭建hadoop环境与运行一个demo搭建环境网上搭建hadoop环境的例子我看蛮多的.但是我看都比较复杂,要求安装java,hadoop,然后各种设置..很多参数变量都不明白是啥意思...我的目标很简单,首先应该是用最简单的方法搭建好一个环境.各种变量呀参数呀这些我觉得一开始对我都...

2018-06-11 20:01:00 140

转载 Java枚举类的serialVersionUID

起因  最近在公司里敲代码的时候偶然间发现以前留下的枚举类实现了Serializable接口,然后写了个serialVersionUID...我以前一直没在枚举类里使用过..觉得有点神奇....于是百度了下又自己试验了下..记录了这篇文章具体内容枚举默认实现了Serializable接口经过百度以后发现枚举类默认是实现了这个序列化接口的,所以在声明枚举类型的时候没必...

2018-05-07 19:20:00 179

转载 docker学习记录1

起因现在自己学习微服务,服务器越来越多,虽然自己写了一些shell脚本来安装需要的软件,比如mysql,redis,jdk等等,但是还是好麻烦。希望学习docker能够快速安装部署这些东西。记录一些学习内容ADD命令与COPY的区别建议使用copy,因为是字面意思的命令,而add命令会有一些额外操作,比如如果add的是一个tar压缩包,压缩格式为 gzip , bz...

2018-03-29 21:14:00 83

转载 mysql utf8方式连接查看表数据乱码的问题

起因今天在公司第一次链接一个新的mysql数据库,我看到在spring里配置的jdbc里datasource.url里有配置characterEncoding=utf8。。然后就用navicat开选择UTF8链接了数据库,结果看到表里数据中文全部乱码。。。解决办法可以使用show variables like 'character_set_database'和...

2018-03-27 17:12:00 96

转载 在Spring中使用Redis Lua脚本批量删除缓存

背景  之前分享了一篇利用lua脚本批量删除redis的key的文章.现在项目中我打算使用spring的缓存,而Spring缓存以前我是用ehcache来做实现的.没发现什么问题..这次我换成redis来做缓存了..一般也没什么大问题...目前唯一遇到的一个比较坑的问题就是缓存通过注解删除不了..我想想好像也算正常吧.因为java里面做缓存的话可能会使用map类似的结构,我remov...

2018-02-01 10:03:00 346

转载 redis 批量删除键

主题  为啥会有这篇文章呢? 在redis里我需要批量删除一些 "特殊" 的数据...这些特殊的数据用正常方法比较难删除...所以记录一下我的删除方法..背景与问题我再用SpringBoot集成Spring的@Cacheable的时候遇到了一些比较麻烦的事情...第一个是序列化问题...相信大家一般都会遇到过..redisTemplate默认用的是JdkSe...

2018-01-15 15:17:00 305

转载 前后端分离跨域问题解决方案

问题  因为最近在学习vue和springboot.用到了前后端分离.前端webpack打包运行的时候会启动nodejs的服务器占用8080端口,后端springboot自带tomcat启动占用1111端口(我自己设置的)...导致前端请求的ajax到后台会产生跨域问题...然后自己试了试发现有2种办法都可以解决.利用SpringMVC @CrossOrigin注解...

2017-12-08 14:20:00 126

转载 centos7 安装 rabbitmq

主题因为自己学习项目可能会用到rabbitmq..我又是第一次学习.以前没安装过.所以简单记录下我在centos7环境下安装rabbitmq的过程步骤,下次可以参考.步骤1.杂七杂八的东西安装rabbitmq之前需要安装erlang...安装erlang之前又要安装一大堆其他东西.....这些其他的东西我都是用yum去安装的..比如openssl(我也不知道为什么会...

2017-12-02 10:29:00 91

转载 在SpringMVC Controller中注入Request成员域

主题  在工作中遇到1个问题....我们定义了一个Controller基类,所有Springmvc自定义的controller都继承它....在它内部定义一个@Autowired HttpServletRequest request;可不可以? 能不能从这个对象里取requestParamters和attributes? 多线程之间会不会影响?思考初次思考,我想这应该是...

2017-11-03 11:17:00 285

转载 Spring 学习记录8 初识XmlWebApplicationContext(2)

主题接上文Spring 学习记录7 初识XmlWebApplicationContextrefresh方法refresh方法是定义在父类AbstractApplicationContext中的.它内部会调用很多方法.有一些是在子类中实现的.算是模板方法的设计模式吧.主要作用就是初始化wac加载各种bean等作用. 1 @Override 2 pu...

2017-10-30 16:25:00 96

转载 Spring 学习记录7 初识XmlWebApplicationContext

主题之前Spring相关的一些类,比如Enviromnent,BenFactory都接触了一些.有一些收获.但是直接看代码很多方法都不知为什么这样写.哪里会用到.因为太底层了.不好理解..现在从高层次的调用开始再研究下.应该会有新的理解.所以从一个Web应用初始化开始学习.看看它经历了哪些步骤.做了哪些事情.之前对spring的dispatcherServlet有一点点研究(...

2017-10-30 10:40:00 128

转载 Spring Boot tomcat参数

主题  初学SpringBoot,想要配置一下tomcat的端口,以前tomcat直接在它的XML里配置就好了.现在SpringBoot直接继承了,不知道哪里配置.后来找到解决方法,记录一下.具体方法一开始肯定网上百度一下:发现一大堆文章.基本都介绍了.只要在application.properties里加上servler.port=XXX就可以配置完成了.so eas...

2017-10-23 15:30:00 81

转载 MySQL子查询优化

起因  以前用oracle.换了公司以后接触mysql也差不多半年了..对于子查询有一些想法,感觉稍微不注意一点..就会不走索引,让SQL变的很慢...所以记录一下特别需要注意的地方具体看个很简单的例子1个查询,用ID去过滤数据,数据来自子查询,子查询的量大约40W+. ID上面是有索引的..这个查询用了4.169S..结果只有16条数据而已....看执...

2017-10-19 17:19:00 128

转载 Spring 学习记录6 BeanFactory(2)

主题除了Spring 学习记录5 BeanFactory里写的几个接口外,BeanFactory的实现类还实现了一些其他接口,这篇文章主要介绍这些接口和实现类.结构DefaultListableBeanFactory和它的父类们除了实现了BF的各种接口以外还实现了AliasRegistry和BeanDefinitionRegistry接口.而且不同等级的父类和BF...

2017-09-22 14:48:00 147

转载 Spring 学习记录5 BeanFactory

主题记录我对BeanFactor接口的简单的学习.BeanFactory我感觉就是管理bean用的容器,持有一堆的bean,你可以get各种bean.然后也提供一些bean相关的功能比如别名呀之类的..结构我觉得核心功能都写在了3个子接口里面了.小实验: 1 /** 2 * 测试BeanFactory 3 */...

2017-09-18 11:36:00 116

转载 Spring 学习记录4 ResourceLoader

ResourceLoaderSpring的ApplicationContext继承了ResourceLoader接口.这个接口主要就是可以加载各种resource..接口还是比较简单的: 1 /* 2 * Copyright 2002-2014 the original author or authors. 3 * 4 * Licensed unde...

2017-09-07 14:20:00 80

转载 Spring 学习记录3 ConversionService

ConversionService与Environment的关系通过之前的学习(Spring 学习记录2 Environment),我已经Environment主要是负责解析properties和profile...但是它虽然实现了相关的接口,但是具体工作并不是由它本身处理,而是委托了其他的类来帮忙..properties相关的接口方法最终主要是通过PropertySourcesPr...

2017-08-29 11:28:00 251

转载 Spring 学习记录2 Environment

Environment是什么environment是什么呢....中文是环境大家都知道但是具体代表什么呢?感觉很抽象....从代码里的解释来看environment代表了profile和properties.profile就是1组bean的定义.实际用途就是在不同环境比如测试环境和生产环境中加载不同的bean达到根据环境加载bean的用途.(因为测试环境可能有些bean是模拟的,...

2017-08-14 14:10:00 130

转载 redis 开发与运维 学习心得1

主要是命令相关第一章 初识Redis1.redis是基于键值对的NoSQL.2.redis的值可以是 string, hash, list, set, zset, bitmaps, hyperloglog, geo3.redis的值不仅可以是字符串还可以是具体的数据结构4.redis的2种持久方案:rdb和aof.5.redis-serve...

2017-08-01 21:49:00 175

转载 利用maven实现差异化配置

回顾过去  生产环境,测试环境,开发环境在不同的环境下会有各种各样的配置,比如数据库链接地址,账户名,密码等等.不同环境下都需要配置,但是配置却又不同.以前分享过一篇文章,介绍了我之前A公司的差异化配置实现(http://www.cnblogs.com/abcwt112/p/5203348.html 原理就是增加一个classpath目录,把差异化配置都放在这个目录下,然后差异化...

2017-07-11 22:18:00 201

转载 effective javascript 学习心得

第2条:理解JavaScript的浮点数1.js数字只有一种类型2.见代码/** * Created by Administrator on 2017/7/2. */console.log("charpter2");console.log(1-0.41); //0.5900000000000001 double不能精确计算console.log((8)...

2017-07-02 12:06:00 159

转载 mybatis 用法分享

主题  这篇文章主要是记录这2个月我对mybatis的学习以后的一些感触和一些如果我是架构师会怎么在项目里使用mybatis的一些大胆的想法.感想1.首先根据之前的学习我已经知道了mybatis generator这个插件..可以自动生成代码,帮我们节约不少力气..所以项目可以使用.我们在数据库里建立表以后我们可以使用mybatis generator自动生成map...

2017-06-15 18:47:00 76

转载 mybatis与springdata的一些简单比较与思考

主题  最近在用mybatis做项目,有一些感触想记录下,主要是mybatis(以及它的一些插件)相比较于Spring data(或者jpa,hibernate等)的优势地方.感触我觉得mybatis相比于Spring data的最大的几个优势的地方在于:动态查询不管是在之前的公司还是现在的公司都有很多这样的业务..比如进来先是一个查询界面,有N多条件,然...

2017-06-05 15:30:00 156

转载 mybatis 学习记录1

起因  以前刚学习java三大框架的时候持久层框架我是自学的是hibernate..感觉蛮好用的,so easy..后来大三实习公司用的是jpa(hibernate外包装一层)...再后来工作1年多用的是spring data(jpa外包装一层)...一直感觉蛮好用的,尤其是Spring data..爱不释手...感觉基本都不用写SQL...  现在换了新公司,用的是mybati...

2017-06-02 15:04:00 67

转载 Spring Session 学习记录1

先写些废话  新公司项目是有用到redis,之前老公司使用的缓存框架是ehcache.我redis并不熟悉.看过介绍以后知道是个nosql..既然是个数据库,那我想操作方法和jdbc操作关系数据库应该差不多吧..百度了一些例子以后发现确实差不多...比如注入一个spring的template以后使用template就行了. 比如:  很好理解,使用也蛮简单..就像jdbcTe...

2017-05-22 18:28:00 56

转载 eclipse egit 更新未提交文件的方法

问题  以前一直在项目中使用SVN..感觉真的很好用,不管是切分支,合并分支,编辑冲突,还是更新代码什么的都感觉很方便...现在新公司项目里使用git...我自己虽然用过,但是多人合作一直没用过.所以遇到了一个很蛋疼的问题百度一直没有答案,今天偶然发现了一个解决办法.  项目里肯定有很多配置文件,经常会有一些同学不小心上传自己的配置,我本地也修改过这个配置并且不打算提交,但是别人...

2017-05-03 19:06:00 475

转载 算法学习记录6 折半插入排序

理解其实就是插入排序,只是插入排序对于当前元素要找到插入哪个位置的时候需要和之前的元素一个一个比较,比较耗时.而折半插入排序利用了当前元素之前的数组元素已经全部排好顺序位置的特点,用二分法查找要插入到哪个位置.所以速度会快一些实现 1 package algorithm.sort; 2 3 import java.util.Arrays; 4 ...

2017-03-08 17:00:00 137

转载 文章导航

算法排序算法学习记录1 快速排序算法学习记录2 归并排序算法学习记录3 插入排序算法学习记录4 桶排序算法学习记录5 希尔排序算法学习记录6 折半插入排序Java类Java 静态内部类与非静态内部类 学习记录.Java类中各种静态变量的加载顺序的学习泛型泛型 学习记录1多线程在同步块中修改指向同步对象的引用volatile关...

2017-03-07 16:27:00 90

转载 算法学习记录5 希尔排序

理解基本和插入排序一样,就是修改了插入排序里一次需要排序元素的数量.实现 1 package algorithm; 2 3 import java.util.Arrays; 4 5 /** 6 * 希尔排序 7 * 8 * @author jyzjyz12@163.com 9 * @since 2017年3月7日 下午3...

2017-03-07 16:23:00 54

转载 算法学习记录4 桶排序

自己的理解这也能算个排序?感觉这个就和slf4j一样...定义了个接口.然后调用其他排序来完成排序....然后还有个感觉就是和HashMap一样...不同的数值(key)分配到不同的桶(Map.entry)里去...然后每个桶里的一堆数值再调用其他排序,比如快速排序去完成排序,最后把所有桶里的数值按顺序输出就好了..实现 1 package algorith...

2017-03-06 15:17:00 83

转载 在同步块中修改指向同步对象的引用

起因最近上网突然看到别人提的一个问题,感觉蛮有趣的,自己重来没有想过.把它抽象出来就是:如果我再synchronized中锁住了一个对象,然后在同步块中修改了指向这个对象的引用会怎么样?实验 1 public class SynchronizedTest1 implements Runnable { 2 public static Object lo...

2017-03-05 15:16:00 78

转载 算法学习记录3 插入排序

自己的理解1.从数组第二个元素(当前元素)开始不断和之前的元素比较大小,直到遍历完整个数组2如果之前元素比当前元素大(之前的元素为从当前元素前1个元素开始遍历到数组第一个元素),将之前元素复制到后一格位置,然后继续判断再下一个元素和当前元素的大小,重复23做2直到找到了一个元素比当前元素小,那这个元素后面的那个位置就是当前元素需要插入的位置.具体实现 1...

2017-02-28 13:42:00 51

空空如也

空空如也

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

TA关注的人

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