- 博客(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
原创 泛型、函数式接口基础复习以及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关注的人