自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 Java进程假死案例集合

1. 案例1今天通过域名调一个接口,10次中偶尔有1-2次请求失败,域名后绑定VIP,VIP后面为5台应用服务器。1.1 范围缩小直觉怀疑为某一台有有问题,于是单独的进行接口调用发现确实为其中一台有问题1.2 单台检查本能上来后首先查看进程,进程正常jpstelnet本地服务端口8099,也是正常的telnet 127.0.0.1 8099单独的curl是出现不可访问,初...

2019-03-14 23:29:06 7660

原创 SpringBoot替换默认的Tomcat使用Undertow做服务器

springboot默认使用Tomcatspring boot 完美集成了tomcat,jetty和undertow,默认使用Tomcat作为服务器其启动日志如下使用Undertow做服务器1 修改pom.xml<dependency> <groupId>org.springframework.boot&

2019-02-22 14:40:10 8198

原创 5分钟搭建最简单springboot-demo

这个年代不学习spring boot已经落伍了,今天搭建了一下springboot demo,记录一下!1. 本地搭建与测试1.1 构建项目IDEA 构建一个普通maven工程1.2 配置pom.xml<parent> <groupId>org.springframework.boot</gro

2019-02-21 15:43:32 19577 1

原创 JStorm Supervisor启动失败

某天线上JStorm集群的莫国泰supervisor物理故障重启之后,进入/home/admin/jstorm/bin执行./start.sh发现supervisor的正常启动,nimbus.log的日志如下[ERROR 2018-01-18 11:51:44 Supervisor:220 run main] Failed to start supervisorjava.lang.Runtim

2018-01-18 13:12:36 1717

原创 异步httpclient(httpasyncclient)的使用与总结

1. 前言应用层的网络模型有同步与异步。同步意味当前线程是阻塞的,只有本次请求完成后才能进行下一次请求;异步意味着所有的请求可以同时塞入缓冲区,不阻塞当前的线程;httpclient在4.x之后开始提供基于nio的异步版本httpasyncclient,httpasyncclient借助了Java并发库和nio进行封装(虽说NIO是同步非阻塞IO,但是HttpAsyncClient提供了回调的机制,

2017-12-24 13:28:54 58524 3

原创 maven-resource-plugin的使用

在这篇文章中 maven配置多个.properties文件,我们利用maven实现了不同环境使用不同的properties文件,但是有时候properties文件并不太适合一些对象性配置,这时候不得不使用yaml文件,那么问题了,不同的环境怎么使用不同的yaml文件呢?最简单的思路就是使用maven-resource-plugin,根据环境变量将文件拷贝到resource下面即可:<plugin>

2017-12-13 09:23:44 14137

原创 Elasticsearch5.1.1安装问题

问题1: unable to install syscall filter2017-10-26T16:35:09,186][WARN ][o.e.b.JNANatives ] unable to install syscall filter:java.lang.UnsupportedOperationException: seccomp unavailable: requires

2017-10-26 17:28:33 640

原创 mysql查询最近7天的数据,没有数据自动补0

问题描述查询数据库表中最近7天的记录select count(*),date(create_time) as date from task where datediff(now(),create_time)<=6 group by day(create_time); 但是发现某一天没有数据,结果中没有显示当天(2017-08-28)的数据解决思路思路一: 可以在自己的程序中做额外的补零处理思路

2017-08-28 10:05:27 38835 14

原创 IDEA导出可执行jar包

1. IDEA 导出可执行的Jar换了Idea后今天需要把项目打成 jar放到服务器上运行,稍微整理一下。在IDEA的菜单中选择File–>Project Structure,如下图所示:选择“Artifacts“在出现的图中点击加号在如下的图形中需要注意两个地方:1) 需要选择jar包默认运行的入口类 2) 需要设置MANIFEST.MF的位置,在选择好入口类后系统会将MANIFEST.MF默认

2017-06-12 14:29:21 80375 14

原创 Builder模式样例

Builder模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。如下为构建一个复杂的对象(已经删除了很多属性)public class User { private String name; private int age; private boolean sex; private String address; private

2017-03-27 21:37:59 388

原创 观察者模式小结

从新回顾了一下观察者模式,在网上也有很多不错的文章值得学习,本文为个人笔记,mark之用。《JAVA与模式》之观察者模式Java设计模式——观察者模式1、案例分享场景:一个时钟对象(被观察对象)每隔1s通知学生(观察者对象),其核心类基于util包下的Observable与Observer被观察者对象public class TimeClock extends Observable{ publ

2017-03-19 17:23:33 461

原创 Linux下sz/rz的安装与使用

1、安装sz/rz如下操作如果遇到权限问题,请切换到root账号下进行下载:wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz解压:tar zxvf lrzsz-0.12.20.tar.gzmake:cd lrzsz-0.12.20./configure && make && make install安装过程默认把lsz和

2017-01-11 09:17:28 18552 1

原创 maven几个常见命令的区别

package与install的区别经常使用到mvn package与mvn install但是没有去仔细思考着两个之间的区别,今天特地去总结了下:1) mvn install 打包好的 jar 包会安装到本地的 maven 仓库中,供其他项目使用。 2) mvn package打包后的文件存放到项目的 target 目录下。-DskipTests跟-Dmaven.test.skip=true

2016-12-23 16:56:24 3021

原创 jstat使用详解(分析JVM的使用情况)

jstat 命令格式如下所示为jstat的命令格式jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]如下表示分析进程id为31736 的gc情况,每隔1000ms打印一次记录,打印10次停止,每3行后打印指标头部jstat -gc -h3 31736 1000 101 jstat -gcjstat -gc xxxx其对应的指

2016-12-18 16:53:28 25816 4

原创 velocity转义小问题

问题描述velocity中设置如下,而$!{users}输出默认进行html转义,users为后端一个List对象 var USERS = '$!{users}';user对象如下: public class User{ private String name; private int age; private String department; public String getN

2016-12-12 19:29:26 6508

原创 Nginx静态资源部署

前言:传统的web项目,一般都将静态资源连同项目部署在容器中(如tomcat、jetty),但是有时需要把这些静态资源文件单独拿出来,ngnix这时可以来充当静态资源服务器的功能。配置Nginx/Tengine请先确保自己的服务器安装了Nginx或者Tengine(本文以Tengine为例)将静态资源文件拷贝到指定目录,如/home/admin配置nginx-proxy.conf文件 serv

2016-11-22 09:16:14 14088

原创 利用SVG中path实现平滑曲线

前言:SVG中实现直线很简单,但是实现曲线稍稍略显复杂!在实际的开发场景中直线不能满足很多的需求,如下图所示各个图形之间采用曲线连接,如果换成直线整个风格就略显僵硬,所以曲线在很多场合下还是比较适用的。带箭头的直线如何实现直线采用SVG中的line元素,如下所示:<line x1="0" y1="0" x2="100" y2="200"></line>上面的代码很简洁,(x1,y1)表示起点的坐标,

2016-04-14 21:09:01 28634 2

原创 快速构建自己的第一个SeaJS

SeaJS在这里就不过多的介绍,关于SeaJS请参考官网:http://seajs.org本实例功能说明:为页面动态加载一些button,同时为每一个button绑定click事件。1 准备工作1.1 下载sea.js 下载地址:http://seajs.org/docs/#downloads1.2 下载jquery(本实例使用jquery-1.12.3.js) 下载地址:http://jque

2016-04-12 18:30:18 544

原创 Sea.js出现Uncaught TypeError: object is not a function

今天在整合Sea.js和jquery出现了Uncaught TypeError: object is not a function,一下就懵逼了!可能的原因:百度一下网上说大概可以归为两个主要原因: 1、引用的第三方类库的路径不对。 2、没有将第三方非CMD规范的类库定义成CMD的模块解决过程:我使用的是jquery-1.12.3.js,其代码中有如下的一段:if ( typeof define

2016-04-12 11:45:32 2893

原创 kafka在zookeeper中一些存储结构

本文主要查看kafka在zookeeper中的一些存储结构,便于更好的理解kafka的工作原理,其测试环境如下:kafka 0.8.1.1zookeeper 3.4.51 Broker node 注册当一个kafka broker启动后,会向zookeeper注册自己的节点信息,该节点为一个临时节点,当当broker断开和zookeeper的连接时,其临时节点将会被删除。其路径为: /broker

2016-04-08 13:29:38 8338 4

原创 关于kafka producer 分区策略的思考

今天跑了一个简单的kafka produce程序,如下所示public class kafkaProducer extends Thread{ private String topic; public kafkaProducer(String topic){ super(); this.topic = topic; }

2016-04-07 16:24:53 23214 5

转载 Kafka的通讯协议

以下文章转载自:http://blog.csdn.net/jewes/article/details/42744855Kafka的通讯协议标签:kafkaKafka的Producer、Broker和Consumer之间采用的是一套自行设计的基于TCP层的协议。Kafka的这套协议完全是为了Kafka自身的业务需求而定制的,而非要实现一套类似于Protocol Buffer的通用协议。本文将介绍这套协

2016-04-07 13:39:52 2707

原创 Java Socket 通信(同步阻塞式I/O)

java实现socket通信比较简单,因为它提供了ServerSocket 和Socket类。如下为一个简单的实例:TimeServer与TimeClient1 TimeServerpublic class TimeServer { public static void main(String[] args) throws IOException { int port = 8080

2016-04-06 18:23:11 5242

原创 使用kafka consumer high-level API开发的一些问题

Kafka的consumer是以pull的形式获取消息数据的,consumer提供两种版本,即high level 和low level API。1 consumer和partition1)如果consumer比partition多,是浪费,因为kafka的设计是在一个partition上是不允许并发的,所以consumer数不要大于partition数 2)如果consumer比partiti

2016-04-05 22:11:45 10624

原创 netty实现websocket(二)----实例

1 pom文件本文的例子基于netty4.0。 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.0.24.Final</version> </dependency>2 服务端

2016-04-05 11:48:39 8275 1

原创 netty实现websocket(一)----HTTP与WebSocket

1 HTTP协议及其弊端1.1 HTTP介绍 HTTP协议属于应用层协议,目前有HTTP1.0与HTTP1.1。HTTP协议的主要特点如下: 1)支持客户/服务器模式。 2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3

2016-04-05 11:15:12 4037

原创 Jedis源码解析(ShardedJedis)

1 Sharding机制sharding机制:即通常所说的“分片”,允许数据存放在不同的物理机器上, 以适应数据量过大的场景,克服单台机器内存或者磁盘空间的限制。Redis并不支持服务器端分片(redis3.0开始支持了),不过我们可以使用Jedis提供的API来实现客户端的分片,通过“一致性hash”算法,使得数据离散地存放在不同的服务器上面。 2 ShardedJedis类的结构3 Shard

2016-03-22 20:26:28 4087 2

原创 Jedis源码解析(Transation事务)

1 Redis Client中Transaction如何实现Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到 MULTI 和 EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后依次发送需要在本次事务中处理的命令,最后再发送 EXEC 命令表示

2016-03-22 20:16:04 1262

原创 Hibernate 联合主键的设置

在mysql建表时可以设置联合主键,现在要建一个一个user表,user表中有三个字段username,usergroup,sex,将username与usergroup设置为联合主键,建表法如下:CREATE TABLE `user` ( `usergroup` varchar(20) NOT NULL, `username` varchar(20) NOT NULL, `sex` v

2016-03-22 12:11:12 2245

原创 利用Apache commons pool2构建池应用

commons pool2与commons pool1还是有很大的差别的,本文主要记录利用commons pool2构建自己的池应用。1 依赖的引入 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId>

2016-03-21 20:20:40 9606 1

原创 Jedis源码解析(Pipeline的实现)

1 Pipeline介绍Redis客户端与Redis之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client,因此当执行多条命令的时候都需要等待上一条命令执行完毕才能执行,如:get ‘0’,get ‘1’,get ‘2’其执行过程如下图所示

2016-03-21 10:20:37 13886 6

原创 Jedis源码解析(一)-------Jedis与JedisPool

1 主要类的结构1.1 Jedis类的结构 1.2 Client类的结构 2 Send Command[*号][消息元素个数]\r\n ( 消息元素个数 = 参数个数 + 1个命令) [号][命令字节个数]\r\n[命令内容]\r\n[号][命令字节个数]\r\n [命令内容]\r\n [号][参数字节个数]\r\n [参数内容]\r\n [$号][参数字

2016-03-14 13:19:04 4398

原创 netty对象传输

netty进行对象传输首先对象需要序列化,然后通过ByteBuf的形式进行传输!1 引入pom文件 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.0.29.Final</version>

2016-03-09 21:24:28 5076

原创 Quartz入门(一)-----实现定时功能

Quartz 是一个开源的作业调度框架,能够用它来为执行一个作业而创建简单的或复杂的调度。不啰嗦了,这里就不做简介了,直接进入主题!网上的一些代码看的比较费劲,对于初学的人很费劲,所以搞了一个mini版本的,本文就是围绕Quartz(与Spring结合)实现一个简单的定时任务!1 引入pom文件 <properties> <spring.version>4.0.5.RELEAS

2016-03-01 16:45:43 706

原创 spark开发中一些错误

1. ERROR SparkContext: Error initializing SparkContext.com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.version'具体错误信息如下:产生错误的背景与环境描述:我将项目打

2016-01-25 23:27:03 18022

原创 Spring与WebSocket的整合

1  环境jdk1.8tomcat 7spring4.0.52  pom.xml的配置2.1 引入Spring相关的配置 UTF-8 4.0.5.RELEASE org.springframework spring-context ${spring.version} org.spring

2016-01-19 22:48:48 3914

原创 tomcat启动maven项目报错

tomcat启动maven项目报错:java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener原因在于发布项目的时候没有将maven中依赖的jar也发布进去,因此找不到相关的类。解决方法:右击项目---->properties------>Web Deploym

2016-01-19 22:32:14 2267

原创 java 连接presto实现SQL查询

presto的安装参考http://blog.csdn.net/ouyang111222/article/details/50507471一  引入jar com.facebook.presto presto-jdbc 0.100 二 Java测试public static void main(Str

2016-01-13 23:58:19 19468 2

原创 presto的安装与部署(对接kafka)

Preston 官网:http://prestodb.io/Preston Github 主页:https://github.com/facebook/presto一 安装环境操作系统:CenteOs 6.6 JDK 版本:1.8ps: 本测试将presto的coordinator和worker都部署在一个节点上。二 安装Presto2.1 下载

2016-01-12 23:19:43 8497 2

翻译 spark streaming 1.5.2 编程指南

1 概述Spark Streaming是Spark核心API的一个扩展,对于实时流式数据的处理具有可扩展性、高吞吐量、可容错性等特点。Spark Streaming可以从 kafka、flume、Twitter、 ZeroMQ、Kinesis、TCP套接字等数据源获取数据,同时可以用由high-level函数(如map、reduce、join、window等)组成的复杂算法处理数据。最后,处

2015-12-29 20:40:06 2359 1

空空如也

空空如也

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

TA关注的人

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