自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(374)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 应用性能调优实践指南

Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。Java 应用性能的瓶颈点非常多,比如磁盘、内存、网络 I/O 等系统因素,Java 应用代码,JVM GC,数据库,缓存等。笔者根据个人经验,将Ja...

2019-07-05 10:18:52 432

转载 SpringBoot四大神器之Actuator

Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。目录1. 开启Actuator2. 端点(Endpoints)2.1 启用端点2.2 暴露端点2.3 ...

2019-02-15 09:26:48 6289

原创 使用Docker在本地搭建kafka分布式集群

一、下载下载地址:http://kafka.apache.org/downloads.html    我这里下载的是Scala 2.11对应的 kafka_2.11-1.1.0.tgz二、kafka安装集群规划IP 节点名称 Kafka Zookeeper Jdk docker  172.17.0.2 master Kafka...

2019-01-14 15:42:59 1083

原创 使用Docker在本地搭建Flink分布式集群

Flink典型的任务处理过程如下所示:Flink安装包下载地址:http://flink.apache.org/downloads.html  ,选择对应Hadoop的Flink版本下载 Standalone 模式快速入门教程地址:https://ci.apache.org/projects/flink/flink-docs-release-1.6/quickstart/set...

2019-01-11 15:56:40 11499 4

转载 如何优化Java垃圾回收机制

为什么需要优化GC或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但前提是所运行的基于Java的系统,包含了如下参数或行为:已经通过 -Xms 和–Xmx 设置了内存大小 包含了 -server 参数 系统中没有超时日志等错误日志换句话说,如果你没有设定内存的大小,并且系统充斥着大量的超时日志时,你就需要...

2018-09-29 09:56:06 582

原创 JVM参数总结及JVM监控工具

JVM参数总结Java线程状态线程的五种状态* 新建:new(时间很短)* 运行:runnable* 等待:waitting(无限期等待),timed waitting(限期等待)* 阻塞:blocked* 结束:terminated(时间很短)Jvm监控工具一、jstack介绍:jstack用于打印出给定的java进程ID或core file或...

2018-09-26 10:31:39 2027

转载 设计模式-结构型模式之代理模式

代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式的结构  所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。  代理模式类图如下:    在代理模式中的角色:  ●  抽象对象角色:声明了目标对象和代理对象的共同接口,这样一来在任...

2018-07-09 10:32:30 173

转载 设计模式-结构型模式之适配器模式

  适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的用途  用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑无法使用。这时候一个三相到两相的转换器(适配器)就能解决此问题,而这正像是本模式所做的...

2018-07-05 09:01:57 173

转载 设计模式-创建模式之建造模式

 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。产品的内部表象  一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象,它们通常又叫做产品的内部表象(internal representation)。不同的产品可以有不同的内部表...

2018-07-03 09:20:30 334

转载 设计模式-创建模式之单例模式

作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的结构  单例模式的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。  饿汉式单例类public class EagerSingleton { private static EagerSingleton instance...

2018-06-30 09:49:12 213

转载 设计模式-创建模式之抽象工厂模式

场景问题  举个生活中常见的例子——组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点,只考虑选择CPU和主板的问题。  事实上,在选择CPU的时候,面临一系列的问题,比如品牌、型号、针脚数目、主频等问题,只有把这些问题都确定下来,才能确定具体的CPU。  同样,在选择主板的时候,也有一系列问题,比如品牌、芯片组、集成芯片、总线频...

2018-06-29 09:24:49 188

转载 设计模式-创建模式之工厂模式

工厂方法模式是类的创建模式,具体描述:  工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。  工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。那么工厂方法模式是在什么场景下使用呢,下面就以本人的理解举例说明:  相信很多人都做过导入导出功能,就拿导出功能来说。有这...

2018-06-27 13:43:29 156

转载 设计模式-创建模式之简单工厂模式

简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。那么简单工厂模式是在什么场景下使用呢,下面就以本人的理解举例说明:  就拿登录功能来说,假如应用系统需要支持多种登录方式如:口令认证、域认证(口令认证通常是去数据库中验证用户,而域认证则是需要到微软的域中验证用户)。那么自然的做法就是建立一个各...

2018-06-26 19:29:45 170

转载 Kafka Consumer多线程实例

Kafka 0.9版本开始推出了Java版本的consumer,优化了coordinator的设计以及摆脱了对zookeeper的依赖。社区最近也在探讨正式用这套consumer API替换Scala版本的consumer的计划。鉴于目前这方面的资料并不是很多,本文将尝试给出一个利用KafkaConsumer编写的多线程消费者实例,希望对大家有所帮助。    这套API最重要的入口就是KafkaC...

2018-06-08 09:08:19 6706 1

原创 Kafka(三)常用命令

Kafka常用命令以下是kafka常用命令行总结:  1.查看topic的详细信息  ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic testKJ1  2、为topic增加副本  ./kafka-reassign-partitions.sh -zookeeper 127.0.0.1:2181 -reassignment-js...

2018-06-07 17:37:29 291

原创 并发性能优化 – 降低锁粒度

在高负载多线程应用中性能是非常重要的。为了达到更好的性能,开发者必须意识到并发的重要性。当我们需要使用并发时, 常常有一个资源必须被两个或多个线程共享。在这种情况下,就存在一个竞争条件,也就是其中一个线程可以得到锁(锁与特定资源绑定),其他想要得到锁的线程会被阻塞。这个同步机制的实现是有代价的,为了向你提供一个好用的同步模型,JVM和操作系统都要消耗资源。有三个最重要的因素使并发的实现会消耗大量资...

2018-06-07 10:46:14 361

转载 利用Canal完成Mysql数据同步Redis

流程Canal的原理是模拟Slave向Master发送请求,Canal解析binlog,但不将解析结果持久化,而是保存在内存中,每次有客户端读取一次消息,就删除该消息。这里所说的客户端,就需要我们写一个连接Canal的程序,持续从Canal获取数据。步骤一、配置Canal参考https://github.com/alibaba/canal【mysql配置】1,配置参数[html] view pla...

2018-06-06 19:31:20 3608 1

转载 java解析 mysql binlog

在进入正题之前,我们需要知道binlog的event的类型,先来看看自己binlog文件有哪些?其中红色部分为event_type。binlog event 的类型有很多,具体可以参见mysql官方文档:http://dev.mysql.com/doc/internals/en/event-meanings.html(一)Open Replicator中相关的Event类与接口Open Repli...

2018-06-06 19:30:12 10533

原创 mysql binlog介绍、日志格式、数据查看等

(一) binlog介绍binlog,即二进制日志,它记录了数据库上的所有改变,并以二进制的形式保存在磁盘中;它可以用来查看数据库的变更历史、数据库增量备份和恢复、Mysql的复制(主从数据库的复制)。(二) binlog格式binlog有三种格式:Statement、Row以及Mixed。–基于SQL语句的复制(statement-based replication,SBR), –基于行的复制(...

2018-06-06 19:29:03 2111

转载 redis并发读写锁,使用Redisson实现分布式锁

今天为大家带来一篇有关Redisson实现分布式锁的文章,好了,不多说了,直接进入主题。1. 可重入锁(Reentrant Lock)Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。[java] view plain copypublic void testReentrantLock(Redi...

2018-06-06 17:18:49 4147

转载 MongoDB 数据库M-S主从复制

在同一台机器上用2个不同的端口,启动mongodb在数据库目录下建立2个新目录[root@localhost ~]# mkdir /data/db/master [root@localhost ~]# mkdir /data/db/slave主:只需要带上--master参数,表明这是个主就可以了,相当的方便。[root@localhost ~]# /usr/local/bin/mongod --...

2018-06-06 16:50:35 247

原创 Kafka(二)使用

一.kafka使用1. pom.xml <!--kafka--> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId&...

2018-05-18 15:50:18 584

转载 SpringBoot+ZooKeeper+ZKUI+Drools 实现应用配置中心及业务规则动态加载

本文目的:使用ZooKeeper作为SpringBoot应用的配置中心应用中使用到的业务规则存储在Zookeeper中,规则更新后在不重启应用的情况下通知应用动态重载规则1.zookeeper简介Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步,配置管理,集群管理,命名空间。它被设计为易于编程,使用文件系统目录...

2018-04-17 13:30:21 1542 1

转载 Java高并发系统的限流策略

概要在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,

2018-04-17 13:27:40 469

转载 spring boot 添加admin监控

一、Spring Boot  Admin简介spring boot admin github开源地址:https://github.com/codecentric/spring-boot-admin它主要的作用是在Spring Boot Actuator的基础上提供简洁的WEB UI展示。二、项目使用:1、搭建一个maven web项目2、pom依赖配置[plain] view plain cop...

2018-04-12 09:16:00 840

转载 如何监控Java垃圾回收机制

在本文中,我将解释JVM到底是如何执行垃圾回收处理的。什么是GC监控?垃圾回收收集监控指的是搞清楚JVM如何执行GC的过程,例如,我们可以查明:1.        何时一个新生代中的对象被移动到老年代时,所花费的时间。2.       Stop-the-world 何时发生的,持续了多长时间。GC监控是为了鉴别JVM是否在高效地执行GC,以及是否有必要进行额外的性能调优。基于以...

2018-04-04 09:16:16 766

原创 Spark(四): spark第一个编程(JAVA)

一、问题描述三个文件中分别存储了学生的语文、数学和英语成绩,输出每个学生的成绩及平均值。数据格式如下: Chinese.txt张三 78李四 89王五 96赵六 67Math.txt张三 88李四 99王五 66赵六 77English.txt张三 80李四 82王五 84赵六 86文件目录二、Spark编程...

2018-03-19 10:33:47 469

转载 scala集合

本文参考至scala编程,菜鸟教程,然后将自己的判断以及重要方法的提取,解释,合并字符串在 Scala 中,字符串的类型实际上是 Java String,它本身没有 String 类。在 Scala 中,String 是一个不可变的对象,所以该对象不可被修改。这就意味着你如果修改字符串就会产生一个新的字符串对象。String 对象是不可变的,如果你需要创建一个可以修改的字符串,可以使用 Strin...

2018-03-16 16:52:22 224

转载 scala高阶函数学习

参考文章 http://www.cnblogs.com/wzm-xu/p/4063814.html http://www.cnblogs.com/wzm-xu/p/4064389.htmlscala高阶函数上高阶函数是函数式编程里面一个非常重要的特色,所谓的高阶函数,就是以其它函数作为参数的函数。下面以一个小例子演示Scala的高阶函数特性,非常有意思,也非常强大。首先看这么一个程序:code1:...

2018-03-16 16:49:18 221

转载 scala编程基础

多行字符串的表示方法多行字符串用三个双引号来表示分隔符,格式为:”“” … “”“。 实例如下:val foo = """菜鸟教程www.runoob.comwww.w3cschool.ccwww.runnoob.com以上三个地址都能访问"""变量变量声明var VariableName : DataType [= Initial Value]或val VariableName :...

2018-03-16 16:43:57 329

原创 Spark(三): spark集群环境搭建

dockerHadoop的集群,我做过一个镜像(这里)然后使用这个镜像分别启动3个容器:1个Master节点,两个Slave节点在Master节点上配置Slave节点信息在Master上启动Hadoop集群在Master上启动Zookeeper集群(这里)在Master上启动Hbase集群(这里)Scala安装我使用的是scala-2.12.4.tgz,其他版本请看这里解压后重命名,接来配置环境变...

2018-03-15 14:16:42 432

转载 Spark(二): 内存管理

Spark 作为一个以擅长内存计算为优势的计算引擎,内存管理方案是其非常重要的模块; Spark的内存可以大体归为两类:execution和storage,前者包括shuffles、joins、sorts和aggregations所需内存,后者包括cache和节点间数据传输所需内存;在Spark 1.5和之前版本里,两者是静态配置的,不支持借用,spark1.6 对内存管理模块进行了优化,通过内存...

2018-03-13 17:23:41 249

转载 Spark(一): 基本架构及原理

 Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势:Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的...

2018-03-13 17:22:57 231

原创 Spring Boot使用jasypt处理加密问题

1.背景现代互联网充斥着各种攻击、病毒、钓鱼、欺诈等手段,层出不穷。对于一个公司而已最基本的财富无非是代码和数据,“配置属性加密”的应用场景假设如果攻击者通过某些手段拿到部分敏感代码或配置,甚至是全部源代码和配置时,我们的基础设施账号依然不被泄漏。当然手段多种多种多样,比如以某台中毒的内网机器为肉机,对其他电脑进行ARP攻击抓去通信数据进行分析,或者获取某个账号直接拿到源代码或者配置,等等诸如此类...

2018-03-13 13:29:16 16952 2

原创 hbase shell基本操作

hbase操做hbase web操作hbase shell 基本操作1建表具体命令2建表后查看表describe3清空表truncate lmj_test4删除表5修改表结构先disable后enable6对表中记录的操作4种行操作7表操作权限8命名空间hbase原理及时间戳管理介绍hbase 表hbase操做hbase web操作访问地址 http://localhost:16010 hba...

2018-03-09 16:34:14 804

原创 Spring-Boot SpringKafka consumer

该项目是使用的技术:SpringBoot + SpringKafka + Maven先看pom.xml文件中引入的依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X...

2018-03-09 16:00:33 11068 4

原创 Spring-Boot SpringKafka producer

SpringBoot整合SpringKafka实现生产者简代码实现该项目是使用的技术:SpringBoot + SpringKafka + Maven先看pom.xml文件中引入的依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4....

2018-03-09 15:51:16 388

原创 Hbase 集群安装及配置

docker先使用Docker构建一个Zookeeper运行环境的镜像,之前做过Hadoop的集群,我做过一个镜像(这里)然后使用这个镜像分别启动3个容器:1个Master节点,两个Slave节点在Master节点上配置Slave节点信息在Master上启动Hadoop集群在Master上启动Zookeeper集群Hbase安装我使用的是hbase-1.2.6-bin,其他版本这里cd /usr/...

2018-03-09 14:32:12 1038

原创 docker Zookeeper 集群安装与配置

 docker先使用Docker构建一个Zookeeper运行环境的镜像,之前做过Hadoop的集群,我做过一个镜像(这里) 然后使用这个镜像分别启动3个容器:1个Master节点,两个Slave节点 在Master节点上配置Slave节点信息 在Master上启动ZookeeperZookeeper安装我使用的是zookeeper-3.4.11,其他版本请看这里cd /...

2018-03-06 17:11:03 971

原创 Hive

神马是Hive?  Hive 是建立在 Hadoop 基础上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL  查询语言,称为 QL ,它允许熟悉 SQL  的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper  和 ...

2018-03-06 17:09:23 265

hadoop-eclipse-plugin-2.8.0.jar

将其放入eclipse/plugins下

2017-07-25

空空如也

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

TA关注的人

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