索引失效原因总结
摘要:今天一个同事突然问我索引为什么失效。说实在的,失效的原因有多种: 但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况: 1. 随着表的增长,where条件出来的数据太多,大于15%,使得索引失效(会导致CBO计算走索引花费大于走全表) 2. 统计信息失效 需要重新
阅读全文
posted @
2018-05-09 10:39
adolfmc
阅读(666)
推荐(0) 编辑
《分布式任务调度平台XXL-JOB》
摘要:一、简介 1.1 概述 XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 1.2 特性 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、暂停
阅读全文
posted @
2018-05-09 10:34
adolfmc
阅读(1401)
推荐(0) 编辑
quartz集群分布式(并发)部署解决方案
摘要:项目中使用分布式并发部署定时任务,多台跨JVM,按照常理逻辑每个JVM的定时任务会各自运行,这样就会存在问题,多台分布式JVM机器的应用服务同时干活,一个是加重服务负担,另外一个是存在严重的逻辑问题,比如需要回滚的数据,就回滚了多次,刚好quartz提供很好的解决方案。 集群分布式并发环境中使用QU
阅读全文
posted @
2018-05-09 10:33
adolfmc
阅读(10091)
推荐(0) 编辑
gitbook安装与使用,并使用docker部署
摘要:本文简单介绍如何安装并使用gitbook,最后如何使用docker构建书籍镜像。 1. 前置条件 需要Nodejs环境,安装npm,国内用户再安装cnpm 2. 安装gitbook 3. gitbook使用 3.1 生成目录和图书结构 编辑SUMMARY.md,输入: 再次执行: 3.2 生成图书
阅读全文
posted @
2018-05-08 11:13
adolfmc
阅读(2108)
推荐(0) 编辑
Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
摘要:Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目 前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目。这一节,我们继续扩展功能,增加对Node
阅读全文
posted @
2018-05-08 11:12
adolfmc
阅读(1456)
推荐(0) 编辑
Docker 集群Swarm创建和Swarm Web管理
摘要:关于Docker Swarm更多的介绍请查看《Docker管理工具-Swarm部署记录》 一、环境配置 1、安装环境 2、安装iptables,并关闭firewall防火墙, 关闭firewall防火墙,如果不开启iptables nat,Docker容器将无法正常启动。 运行 sudo iptab
阅读全文
posted @
2018-05-08 11:07
adolfmc
阅读(3995)
推荐(0) 编辑
Machine、Swarm、Compose、SocketPlane这些Docker生态圈软件各解决了哪些问题?
摘要:Machine:解决的是操作系统异构安装Docker困难的问题,没有Machine的时候,CentOS是一种,Ubuntu又是一种,AWS又是一种。有了Machine,所有的系统都是一样的安装方式。Swarm:我们有了Machine就意味着有了docker环境,但是那是单机的,而通常我们的应用都是集
阅读全文
posted @
2018-05-08 11:04
adolfmc
阅读(251)
推荐(0) 编辑
Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境
摘要:Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境 本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建、发布到仓库\并部署上线。 0. 前置条件 服务器安装docker,并启动do
阅读全文
posted @
2018-05-08 11:01
adolfmc
阅读(3635)
推荐(0) 编辑
DockOne技术分享(二十):Docker三剑客之Swarm介绍
摘要:【编者的话】Swarm项目是Docker公司发布三剑客中的一员,用来提供容器集群服务,目的是更好的帮助用户管理多个Docker Engine,方便用户使用,像使用Docker Engine一样使用容器集群服务。这次分享内容从Swarm项目现状、Swarm社区现状和Swarm未来的一些规划三方面介绍S
阅读全文
posted @
2018-05-08 10:56
adolfmc
阅读(537)
推荐(0) 编辑
最佳实战Docker持续集成图文详解
摘要:最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境(首先是测试/开发环境)。难者不会,会者不难。通过简单的4个配置,即可优雅地实现持续部署。 作者:萧田
阅读全文
posted @
2018-05-08 10:53
adolfmc
阅读(1820)
推荐(0) 编辑
Spring Cloud Netflix Eureka源码导读与原理分析
摘要:Spring Cloud Netflix技术栈中,Eureka作为服务注册中心对整个微服务架构起着最核心的整合作用,因此对Eureka还是有很大的必要进行深入研究。 本文主要分为四部分,一是对项目构建的简要说明;二是对程序入口点的定位,帮助大家找到阅读源码的起点;三是对Eureka实现机制的分析;四
阅读全文
posted @
2018-05-08 08:58
adolfmc
阅读(1387)
推荐(0) 编辑
JVM内存区域的划分(内存结构或者内存模型)
摘要:JVM内存区域的划分(内存结构或者内存模型) 运行时数据区域: 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 程序计数器(线程私有): 是当前线程所执行的字节码的行号指示器,每条线程都要有一个独立的程序计数器,这类内存也称为“线程私有”的内存。 正在执
阅读全文
posted @
2018-05-06 18:54
adolfmc
阅读(869)
推荐(0) 编辑
深入理解JVM(一)——JVM内存模型
摘要:JVM内存模型 Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是: 1. 程序计数器 2. Java虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区。 下面对这五个区域展开深入的介绍。 1. 程序计数器 1.1. 什么是程序计数器? 程序计数器是一块
阅读全文
posted @
2018-05-06 18:51
adolfmc
阅读(495)
推荐(2) 编辑
java多线程有哪些实际的应用场景?
摘要:多线程使用的主要目的在于: 1、吞吐量:你做WEB,容器帮你做了多线程,但是他只能帮你做请求层面的。简单的说,可能就是一个请求一个线程。或多个请求一个线程。如果是单线程,那同时只能处理一个用户的请求。 2、伸缩性:也就是说,你可以通过增加CPU核数来提升性能。如果是单线程,那程序执行到死也就利用了单
阅读全文
posted @
2018-05-06 17:24
adolfmc
阅读(93778)
推荐(11) 编辑
【深入Java虚拟机】之四:类加载机制
摘要:转载请注明出处:http://blog.csdn.net/ns_code/article/details/17881581 类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过
阅读全文
posted @
2018-05-06 17:18
adolfmc
阅读(552)
推荐(0) 编辑
深入理解Java类加载器(1):Java类加载原理解析
摘要:1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失
阅读全文
posted @
2018-05-06 17:18
adolfmc
阅读(2825)
推荐(2) 编辑
OAuth 2和JWT - 如何设计安全的API?
摘要:OAuth 2和JWT - 如何设计安全的API? Moakap译,原文 OAuth 2 VS JSON Web Tokens: How to secure an API 本文会详细描述两种通用的保证API安全性的方法:OAuth2和JSON Web Token (JWT) 假设: 你已经或者正在实
阅读全文
posted @
2018-05-06 13:02
adolfmc
阅读(1630)
推荐(0) 编辑
SqlSession介绍
摘要:SqlSession是MyBatis的关键对象,是执行持久化操作的对象,类似于JDBC中的Connection。它是应用程序与持久存储层之间执行交互操作的一个单线程对象,也是MyBatis执行持久化操作的关键对象。SqlSession对象完全包含以数据库为背景的所有执行SQL操作的方法,它的底层封装
阅读全文
posted @
2018-05-06 09:25
adolfmc
阅读(1733)
推荐(0) 编辑
MyBatis框架及原理分析
摘要:MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情: MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。 MyBatis的配置 MyBa
阅读全文
posted @
2018-05-06 09:21
adolfmc
阅读(22507)
推荐(5) 编辑