自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 JVM参数配置详解(包含JDK1.8)

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3

2017-12-25 10:58:13 15573

原创 flume参考文档

问题导读:1.node向master发送心跳之后等待反馈的最大时长由哪个参数来决定,默认多长时间?2.当primary sink(可以认为是第一collector)故障后,重启primary sink的一个延迟时间,在此期间,agent将把数据发送到secondary sink(可能是第二collector)由哪个参数来决定?3.collector的默认发送目录通过哪个参数可以配置?

2016-07-20 14:19:35 2545

原创 10大Java开源中文分词器的使用方法和分词效果对比

原文地址:http://my.oschina.net/apdplat/blog/412921本文的目标有两个:1、学会使用10大Java开源中文分词器2、对比分析10大Java开源中文分词器的分词效果本文给出了10大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。10大Java开源中文分词器,

2016-06-14 10:17:11 16435 1

原创 [Drools]JAVA规则引擎 -- Drools

Drools是一个基于Java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效。 本文所使用的demo已上传 http://download.csdn.net/source/30022131、Drools语法开始语法之前首先要了解一下drools的基本工作过程,通常而言我们

2016-05-27 11:18:16 3125 1

原创 mybatis通过配置文件方式整合redis缓存,替换mybatis二级缓存

mybatis通过redis取代二级缓存,二级缓存的缺点不再赘述。mybatis默认缓存是PerpetualCache,可以查看一下它的源码,发现其是Cache接口的实现;那么我们的缓存只要实现该接口即可。该接口有以下方法需要实现:  String getId();  int getSize();  void putObject(Object key, Object

2015-12-25 11:01:39 5237 3

原创 系统架构设计图

首先明确应用架构的定义,从百度百科上即可了解到何为应用架构:应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。简而言之,应用架构图分为两类,一类为多系统应用架构,用来分层次说明不同系统间的业务逻辑关系、信息流、系统边界等等。一类为单系统应用架构,用来分层次说明系统主要组成模块和功能点之间的业务逻辑关系。从应用架构图的描述方式或岗位角度而言,又分为系统功能性架构图(或叫业务架构图)和系统技术层次架构图(或叫技术架构图)。

2024-04-10 20:58:58 979

原创 B+Tree讲解

B-树B-树,这里的 B 表示 balance( 平衡的意思),B-树是一种多路自平衡的搜索树.它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点。下图是 B-树的简化图.B-树有如下特点:所有键值分布在整颗树中;任何一个关键字出现且只出现在一个结点中;搜索有可能在非叶子结点结束;在关键字全集内做一次查找,性能逼近二分查找;

2024-03-31 00:00:00 722

原创 MYSQL中update的low_priority

但是允许客户端读取变化之中的数据表也不好,因为正在读取的位置中的数据可能正在变化(修改),读取的结果可能不是真实的。通常情况下,某张数据表正在被读取的时候,如果有写入操作到达,那么写入者一直等待读取者完成操作(查询开始之后就不能中断,因此允许读取者完成操作)。如果写入者正在等待的时候,另一个读取操作到达了,该读取操作也会被阻塞(block),因为默认的调度策略是写入者优先于读取者。如果前面的读取操作在进行的过程中一直有其它的读取操作到达,那么新的请求都会插入到LOW_PRIORITY写入操作之前。

2024-03-30 03:30:00 721

原创 MySQL锁机制详解及死锁处理方式

———————–+———-+ | Variable_name | Value | +———————–+———-+ | Table_locks_immediate | 76939364 | (表示可以立即获取锁的次数) | Table_locks_waited | 305089 | (表示不能立即获取锁,需要等待锁的次数;所以对MyISAM表进行操作,会有以下情况: a、对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求。锁定粒度界于表锁和行锁之间,并发度一般。

2024-03-30 01:00:00 837

原创 MySQL性能优化之参数配置

1、目的:通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。2、服务器参数:32G内存、4个CPU,每个CPU 8核。3、MySQL目前安装状况。MySQL目前安装,用的是MySQL默认的最大支持配置。拷贝的是my-huge.cnf.编码已修改为UTF-8.具体修改及安装MySQL,可以参考<<Linux系统上安装MySQL 5.5>>帮助文档。4、修改MySQL配置打开

2024-03-30 00:15:00 716

原创 理解MYSQL底层索引

但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引....或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问!基于哈希表实现,只有精确匹配索引所有列的查询才有效,对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),并且Hash索引将所有的哈希码存储在索引中,同时在索引表中保存指向每个数据行的指针。二叉树:树的高度不均匀,不能自平衡,查找效率跟数据有关(树的高度),并且IO代价高。

2024-03-30 00:00:00 397

原创 InnoDB数据库死锁

我用的是mybatis,所以只需将mapper传进函数,如果不用mybatis,需要自己创建并关闭数据库连接。删除操作需要互斥锁 (X),但是互斥锁X和共享锁S是不能相容的。因为客户A需要锁X来删除行,而客户B拿着锁X并正在等待客户A释放锁S。首先,客户A创建一个表T,并向T中插入一条数据,客户A开始一个select事务,所以拿着共享锁S。然后,客户B开始一个新事务,新事务是delete表T中的唯一一条数据。客户A: 拿着锁S,等待着客户B释放锁X。客户B: 拿着锁X,等待着客户A释放锁S。

2024-03-29 11:42:34 91

原创 SQL语句分析

为了验证自己的判断,我将函数去掉后,再执行,果然性能得到了质的提升。因为符合了性能指标,我也没有深入的分析原因。

2024-03-29 11:39:06 383

原创 SQL性能分析

实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表、怎样使用索引的,因此,我们能感知到的就只有sql语句运行的时间,在数据规模不大时,查询是瞬间的,因此,在写sql语句的时候就很少考虑到性能的问题。但是随着数据规模增大,如千万、亿的时候,我们运行同样的sql语句时却发现迟迟没有结果,这个时候才知道数据规模已经限制了我们查询的速度。当然,在大规模数据量时,索引的建立和维护的代价也是很高的,往往需要较长的时间和较大的空间,如果在不同的列组合上建立索引,空间的开销会更大。

2024-03-29 11:32:48 908

原创 详解索引及优化

创建索引可以大大提高系统的性能。通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。可以大大加快数据的检索速度,这也是创建索引的最主要的原因。可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。

2024-03-29 11:27:45 664

原创 数据库存储的引擎分析

这种存储引擎在创建表的时候,会创建三个文件,一个是.frm文件用于存储表的定义,一个是.MYD文件用于存储表的数据,另一个是.MYI文件,存储的是索引。比如:我们可能会遇到这样的问题,同一种类的数据会根据数据的时间分为多个表,如果这时候进行查询的话,就会比较麻烦,Merge可以直接将多个表聚合成一个表统一查询,然后再删除Merge表(删除的是定义),原来的数据不会影响。Memory类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用 HASH 索引,但是一旦服务关闭,表中的数据就会丢失掉。

2024-03-29 11:24:34 430

原创 Mysql的联合索引

两个或更多个列上的索引被称作联合索引,联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。

2024-03-29 11:11:48 559

转载 秒杀系统,扣库存,高并发场景下订单和扣库存讲解

前言之前一直有小伙伴私信我问我高并发场景下的订单和库存处理方案,我最近也是因为加班的原因比较忙,就一直没来得及回复。今天好不容易闲了下来想了想不如写篇文章把这些都列出来的,让大家都能学习到,说一千道一万都不如满满的干货来的实在,干货都下面了!介绍前提:分布式系统,高并发场景商品A只有100库存,现在有1000或者更多的用户购买。如何保证库存在高并发的场景下是安全的。预期结果:1.不超卖 2.不少卖 3.下单响应快 4.用户体验好下单思路:下单时生成订单,减库存,同时记录库存流水,在这

2021-04-09 16:00:38 3277 2

原创 从实际案例聊聊Java应用的GC优化

当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下内容: > 优化前准备: 简单回顾JVM相关知识、介绍GC优化的一些通用策略。 > 优化方法: 介绍调优的一般流程:明确优化目标→优化→跟踪优化结果。

2021-02-18 17:01:01 203

转载 利用Redisson实现分布式锁及其底层原理解析

Redis介绍redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各...

2019-11-29 10:26:52 494

原创 开发规范

开发规范 目录 1. 规范背景与目的 2.1 数据库设计 2.2 库名 2.3 表结构 2.4 列数据类型优化 2.5 索引设计 2.6 字符集 3. SQL编写 3.1. DML语句 3.2 排序和分组 3.3 线上禁止使用的SQL语句4. 一个规范的建表语句示例    1.规范背景与目的MySQL数据库与oracle、sqlserver等数据库相比,有其内...

2019-01-11 14:26:08 344

原创 springboot+Mybatis+MySql 一个update标签中执行多条update sql语句

MySql默认是不支持这种骚操作的,但是并不代表不能实现,只需要在jdbc的配置文件中稍做配置:driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/airipo?useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull...

2018-08-28 18:21:41 12560 2

原创 Kafka配置参数详解

Kafka配置参数详解,kafka,大数据,hadoop,spark

2017-10-30 09:54:50 989

原创 JVM参数列表--jvm调优

继上一篇触摸常量池,发一篇关于java虚拟机参数的文章给大家java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0-Xmx3550m:最大堆内存为3550M。-Xms3550m:初始堆

2017-10-27 16:01:37 245

转载 apache kafka性能测试命令使用和构建kafka-perf

转自:http://blog.csdn.net/lizhitao/article/details/35847927本来想用kafka官方提供的工具做性能测试的。但事与愿违,当我执行官方提供的kafka测试脚本,却报错没有找到ProducerPerformance,后来浏览一些代码文件,才发现没有把perf性能测试程序打包到kafka_2.x.0-0.8.x.x.jar发

2017-10-26 18:01:31 456

转载 触摸java常量池

转:http://www.cnblogs.com/iyangyuan/p/4631696.html java常量池是一个经久不衰的话题,也是面试官的最爱,题目花样百出,小菜早就对常量池有所耳闻,这次好好总结一下。 理论          小菜先拙劣的表达一下jvm虚拟内存分布:      程序计数器是jvm执行程序的流水线,存放一些跳

2017-10-10 14:45:30 279

转载 基于Redis实现分布式锁

在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。

2017-09-11 15:16:47 174

原创 java多线程中start和run的区别

java多线程中start和run的区别

2017-08-01 11:21:33 440

原创 MySQL 处理海量数据时的一些优化查询速度方法

MySQL 处理海量数据时的一些优化查询速度方法在参与实际项目中,当 MySQL 表的数据量达到百万级时,普通的 SQL 查询效率呈直线下降,而且如果 where 中的查询条件较多时,其查询速度无法容忍。想想可知,假如我们查询淘宝的一个订单详情,如果查询时间高达几十秒,这么高的查询延时,任何用户都会抓狂。因此如何提高 SQL 语句查询效率,显得十分重要。查询速度慢的原因1、

2017-07-27 11:29:30 506

原创 spark上部署微服务

spark的安装部署就不详细介绍了 详见http://blog.csdn.net/zwx19921215/article/details/418211471,编写测试类package com.yjl;import spark.Spark;public class SparkInterface { public static void main(String[] args) {

2017-06-28 11:58:04 1754

原创 大数据 hadoop2.6.0 高可用集群搭建(HA集群搭建)--亲测可用,入门必备

大数据 hadoop2.6.0 高可用集群搭建(HA集群搭建)hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA、YARN等。最新的hadoop-2.6.0又增加了YARN HA注意:apache提供的hadoop-2.6.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装hadoop-2.6.0就需要重新在64操作系统上重新编译(建议第一次安装用32位的系统,我将编译好的64位的也上传到群共享里了,如果有兴趣的可以自

2017-03-22 14:48:12 703 1

转载 MySQL · 性能优化 · MySQL常见SQL错误用法

前言MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。阿里云RDS专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见SQL问题总结如下,供大家参考。

2017-03-22 09:57:17 440

转载 hbase-shell + hbase的java api

5 hbase-shell + hbase的java api本博文的主要内容有  .HBase的单机模式(1节点)安装  .HBase的单机模式(1节点)的启动  .HBase的伪分布模式(1节点)安装     .HBase的伪分布模式(1节点)的启动      .HBase的分布模式(3、5节点)安装    .HBase的分布模式(3、5节点)的启动 

2017-03-06 09:47:17 1312

转载 Redis集群搭建与简单使用

用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master、3 salve 环境。redis 采用 redis-3.2.4 版本。两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210) 。安装过程1. 下载并解压cd /root/softwarewget h

2017-02-28 16:22:04 219

转载 RabbitMQ的几种典型使用场景-java语言开发

RabbitMQ主页:https://www.rabbitmq.com/AMQPAMQP协议是一个高级抽象层消息通信协议,RabbitMQ是AMQP协议的实现。它主要包括以下组件:1.Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。2.Virtual Host:其实是一个虚拟概念,类似于权限控制组,一个Virtual H

2017-02-23 15:23:53 2624

转载 Java四种线程池的使用

Java四种线程池的使用

2016-08-05 17:31:23 341

原创 Flume环境部署和配置详解及案例大全

flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力 。一、什么是Flume?  flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为

2016-07-21 11:13:06 4334

原创 全文检索引擎Solr系列——入门篇

Solr采用Lucene搜索库为核心,提供全文索引和搜索开源企业平台,提供REST的HTTP/XML和JSON的API,如果你是Solr新手,那么就和我一起来入门吧!本教程以solr4.8作为测试环境,jdk版本需要1.7及以上版本。准备本文假设你对Java有初中级以上水平,因此不再介绍Java相关环境的配置。下载解压缩solr,在example目录有start.jar文件,启

2016-06-14 09:44:25 3739 1

转载 Hadoop生态系统介绍

1、Hadoop生态系统概况Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN。下图为hadoop的生态系统:2、HDFS(Hadoop分布式文件系统)源自于Google的GFS论文,发表于2003年10月,HDFS是G

2016-05-13 16:03:59 409

转载 Mongodb java api,spring整合mongodb

本篇文章主要介绍了mongodb对应java的常用增删改查的api,以及和spring集成后mongoTemplate的常用方法使用,废话不多说,直接上代码:1.首先上需要用到的两个实体类User和Home,对应用户和家乡import java.util.List;import org.springframework.data.mongodb.core.mapping.Documen

2016-01-15 17:01:25 943

http analyzer v3汉化版软件(包含注册机)

http analyzer v3汉化版软件(包含注册机)

2015-05-11

ecshop数据库各表作用和各字段介绍

ecshop数据库各表作用和各字段介绍

2013-08-27

空空如也

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

TA关注的人

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