自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LeeConnor的博客

走在Java成长路上的小码农

  • 博客(30)
  • 收藏
  • 关注

翻译 JS中'true'==true为什么返回false

相等操作符在转换不同的数据类型时,相等和不相等操作符遵循下列基本规则:如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——false转换为0,而true转换为1;如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值;如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值按照前面的规则进行比较;首先 ‘true...

2018-08-08 09:34:31 8571

原创 vue路由带参

HTML:<el-table-column label="操作" width="250" fixed="right"> <template slot-scope="scope"> <router-link

2018-08-07 11:41:19 656

原创 VUE快速入门

1. 来自官网的vue介绍Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。2. 后端开发使用VUE对于我...

2018-05-04 19:16:31 261

原创 SpringAOP原理深究:AOP使用踩坑记

null

2018-03-31 17:43:09 225

原创 使用ExecutorService线程池,CountDownLatch完成线程协作

null

2018-03-31 17:39:15 860

原创 泛型、函数式接口基础复习以及Lambda表达式、Optional的使用

一、 泛型泛型是JDK1.5以后添加的一个比较重要的特点。泛型整个知识体系来说相对简单。但是由于自己基础越来越薄弱的今天,在看Lambda或者Optional中的方法时,有盲人摸象的感觉。因此在此整体复习和重新研究一下泛型的相关知识。如果对此基础很扎实的读者可以跨过这一部分。二、 函数式接口的概念三、 Lambda表达式的使用四、使用Optional 优雅的对对象进行...

2018-03-31 17:24:45 875

原创 MyBatis源码分析(四) —— MyBatis初始化之XML转化Configuration

上一节讲述了SqlSession的创建,我们在创建SqlSessionFactory时,读到了如下代码:XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, environment, properties); return build(parser.parse());让我们看一下parser.parse()public ...

2018-01-27 18:40:10 347

原创 MyBatis源码分析(三) —— MyBatis初始化之sqlSession的创建

一、SqlSessionFactoryBuilder初始化sqlSessionFactory static { SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); try { sqlSessionFactory = sq

2018-01-27 16:39:10 256

原创 Mybatis源码分析(二) —— 框架目标分析与自我思考 - 如果是你,你如何写出一个Mybatis

从上一篇,我们复习了如何使用Mybatis,从此章开始,我们要开始阅读MyBatis的源码。在开始阅读分析之前,我们首要思考一个问题,Mybatis都做了什么,我们都做了什么。如果是你,你如何完成这样的功能。我们都做了什么:1.首先我们在config.xml里面配置了数据源。和Mapper.xml的位置2.然后我们在mapper.xml中定义了对应的dao层接口。3.但是在

2018-01-27 14:55:53 131

原创 MyBatis源码分析(一) —— 实践与使用

最近工作比较忙一点,博客半个月没有更新了。之前一直想要完成一版Mybatis的源码分析。当我看完源码之后,却发现因为懒耽搁了整个过程,现在我们再来重头捋一下,Mybatis是干了什么,怎么干的。首先在本讲,我先介绍一下Mybatis的基础使用。这部分不废话多说,直接拉取的自己的Dem,只为了做一个展示。读者在看这一部分需要给自己一个思考。大家都在使用Mybatis作为数据库连接的一个框架,到底My

2018-01-27 14:31:09 162

原创 分库分表框架Sharding-jdbc以及分布式worker:Elastic-job的使用与踩坑

一、为什么要使用Sharding      在当今互联网企业中,数据成倍增长是一个很头疼的问题。由于数据库中一张表存入的数据越多,对数据库操作的数据就越慢。但是我们如果根据指定的分库分表策略,将数据分散的到不同的表上,我们查询时,根据全局主键,只扫某个库的某一张表,这样即减少了单个库的压力,又可以加快我们的查询速度。就好像JDK中ConcurrentHashMap似的。将大的问题分治到小的问题上,...

2018-01-17 15:22:04 2428

原创 简单工厂模式与工厂方法模式以及Mybatis中工厂模式的使用

一、简单工厂模式Java是一门面向对象的语言。有很多时候我们需要去生产对象,工厂模式就是我们生产对象的一种方式。比如这样一个场景: 我们需要做一个两个数之间的运算,但我们不知道用户究竟要使用哪种运算符对其进行运算。我们就可以使用工厂模式,对用户的选择做一个判断,从而只返回一个用户需要的结果。第一步,操作实体类,封装两个运算数:注意@Data注解,它方便的使得我们不用手动构造

2018-01-13 15:46:28 4199

原创 JDK动态代理与cglib的使用以及对其效率的统计,以及Mybatis中动态代理的使用

一、什么是动态代理代理模式是 Java 中的常用设计模式,代理类通过调用被代理类的相关方法,提供预处理、过滤、事后处理等服务,动态代理及通过反射机制动态实现代理机制。如Spring中使用动态代理完成AOP的操作,Mybatis中使用动态代理完成对Mapper Interface到可用的Mapper Class的生成。简单的说我们现在有一个计算的方法,我们在写代码时没有加入时间统计的这个业务

2018-01-10 10:00:43 2143 2

原创 装饰者模式与MyBatis二级缓存中装饰者模式的使用

一、什么是装饰者模式       装饰者模式的定义是 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。        在设计的时候,往往要给一个对象的功能进行一些修饰,对功能进行拓展和增强,以满足我们的需求。二、装饰者模式的作用        比如我们现在有一个歌手大赛,所有的歌手都需要去唱歌。但是每一个歌手需要不一样的舞台特效,我们可提供的舞台特效

2018-01-10 09:57:43 1039 1

转载 Java安全框架Shiro的快速使用

一、 shiro的工作流程( 图片来自开涛大神的 《跟我学Shiro》)从图中我们可以得知Subject就是“用户” SecurityManager 这个安全管理中心是负责对Subject进行管理;我们只需要继承AuthorizingRealm 这个类,重写doGetAuthenticationInfo()-- 登录验证方法和doGetAuthorizationInfo()

2017-10-10 20:17:33 2256 1

原创 Spring的设计理念与设计模式

原文https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html摘要和总结:什么时候用Bean 什么时候用FactroyBeanBean简单set,get需要复杂逻辑去建立一个bean的时候  FactroyBeanSpring 的骨骼架构Core、Context 和 Be

2017-10-05 16:49:11 394

原创 String中的intern方法的使用

今天发现自己对String中的intern这个方法是我的一个盲点;对其具体的学习以后,对这些有一些理解。String s1="123";// 常量池  String s2=new String("123");//堆  s2.intern();// 拷贝时发现已存在,没必要拷贝,实际无任何影响  System.out.println(s1==s2);//false

2017-10-02 14:40:59 242

转载 ExecutorService与ThreadPoolExecutor的区分及其使用方式

转自 http://blog.csdn.net/zxc123e/article/details/51891200ExecutorServiceJava.util.concurrent.ExecutorService接口代表一种异步执行机制,它能够在后台执行任务。因此ExecutorService与thread pool是非常相似的。事实上,在java.util.package包中Execu

2017-09-29 16:18:12 6891

原创 MySQL调优和性能分析之索引及其数据结构

一、为什么要使用索引  以及 索引的数据结构    使用数据库进行查询的时候,如果没有索引,那我们查找数据需要进行全表的扫描;假如我们现在有一百万条数据,我们去全表的进行扫描,那我们的查询的复杂度是O(n);这样的消耗是很大的;因此我们要使用索引。    为了查询的速度更快,我们就想到用二叉树来加快查询的速度;例如使用自平衡二叉树例如红黑树;但这样还会有一个问题,因为磁盘的读取是分页的

2017-09-27 22:58:17 235

原创 MySQL数据库存储引擎MyISAM与InnoDB的区别

MyISAM方便与查询,查询速度很快,因而为了优化查询,它不支持外键、事务、索引也是非聚集的;同时它的锁支持表级锁;支持全文检索;保存表具体的行数;其实很好理解;索引是为了加快查询的;而使用非聚集的索引使得表数据和索引分开存储;这样查询的时候,索引长度更短,速度更快;为了更快的查询速度,抛弃了索引和外键;因为更频繁的读取数据;为了防止出现幻读,而把锁的级别提高为表级锁;相反

2017-09-27 22:47:38 275

转载 MySQL索引的数据结构与常用SQL优化

原文出处http://www.cnblogs.com/tgycoder/p/5410057.html数据结构及算法基础索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是一种数据结构。数据库查询是数据库的主要功能之一,最基本的查询算法是顺序查找(linear search)时间复杂度为O(n),显然在数据量很大...

2017-09-27 21:40:14 1153

原创 AtomicInteger源码学习笔记

package java.util.concurrent.atomic;import java.util.function.IntUnaryOperator;import java.util.function.IntBinaryOperator;import sun.misc.Unsafe;/**更新Int型的值可能是原子操作,并发包中详细描述了原子值的性质。Ato

2017-09-20 20:02:28 292

原创 数据库的事务四大特性以及Spring事务传递性

事务的特性1 原子性:Atomicity    一个事务 要么完全提交 要么完全回滚,不会介于2者之间。2 持久性:事务提交了,这次记录将永久的保存在数据库中3 一致性:一个查询发起后,不管数据发生了多少变化 多少事务,查询结果应当为发起查询时间一致的数据4 隔离型: 事务的隔离级别:未提交读: (读到另一个事务未提交的信息)产生的问题: 脏读比如事务A在操作一个信息的

2017-09-16 11:05:38 643

转载 docker容器下mysql的主从复制

1、 docker已经在centos6.5(或者其他操作系统)上安装好docker -vDocker version 1.7.1, build 786b29d/1.7.12、 拉取镜像docker pull hub.c.163.com/library/mysql:5.7docker images  #查看是否有镜像列表3、 启动一个容器在宿主机路径下新建一个目录用来和d

2017-09-15 16:28:37 215

原创 ubuntu 14.04 安装 docker

今天得到的任务是在ubuntu上安装一个docker 安装了一个下午 总算安装好了虚拟机可是在安装docker的时候却没有找到好用的文档所以把自己安装的过程总结如下:1. 首先我们需要检查自己的内核版本,因为docker采用了LXC,而练LXC在过低版本的Linux上不支持的,所以我们需要先检查我们的内核版本命令如下:~$ uname -r2.  切换到root用户下:

2017-09-13 19:57:44 212

转载 数据库中DQL,DML,DDL,DCL

SQL(Structure Query Language)语言是数据库的核心语言。SQL的发展是从1974年开始的,其发展过程如下:1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R时改为SQL。1979年-----ORACLE公司发表第一个基于SQL的商业化

2017-09-12 19:32:37 215

原创 四种JS跨域解决方案及其实现原理

当进行前后端分离开发时,可能会预见JS跨域请求的问题经过查找实践,有如下的四种解决方法:1、Jsonp      JSONP 是 JSON 的一种使用模式,可以解决主流浏览器的跨域数据访问问题。    实际开发中代码如下:layui.use(['form','jquery'], function (form,$) { //监听提交 form.on('submit

2017-09-12 14:42:21 1903 2

转载 Restful形式接口文档生成之Swagger与SpringMVC整合手记

笔者目前正在搭建一套API服务框架,考虑到客户端能够更方便的调用API服务(这里说的更方便是指避免不厌其烦地解说各接口需要的参数和返回结果),于是决心为每个接口生成详细的说明文档。网上搜索了一下,发现了Swagger这个东西,感觉不错,界面也比javadoc生成的页面要美观,而且网上关于Swagger和springmvc整合的文章不少(遗憾的是大多雷同且不完整)。本文详细介绍Swagger和Spr

2017-09-09 12:07:53 165

原创 RESTful的理解和设计

1.什么是REST?           -- REpresentational State Transfer 直接翻译:表现层状态转移。REST描述的是在网络中client和server的一种交互形式;Resource Representational State Transfer:通俗来讲就是:资源在网络中以某种表现形式进行状态转移。分解开来:Resource:

2017-09-09 11:12:38 309

原创 MyBatis时区错误:java.sql.SQLException: The server time zone value

今天在初学Mybatis的时候,预见了这样的问题,我和火箭班三个同学调整了两个多小时也没有调整明白。最后到基地陶小鱼给我弄好了。感触良多阿,感觉自己的调错能力正在崩溃。错误信息org.apache.ibatis.exceptions.PersistenceException: ### Error querying database.  Cause: java.sql.SQLExcept

2017-08-29 22:59:58 1175

空空如也

空空如也

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

TA关注的人

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