- 博客(420)
- 收藏
- 关注
原创 Maven 和 Gradle 对比
http://www.huangbowen.net/blog/2016/02/23/gradle-vs-maven/?utm_source=tuicool&utm_medium=referral http://blog.youkuaiyun.com/kl28978113/article/details/51919130Java世界中主要有三大构建工具:Ant、Maven和Gradle。经过...
2016-11-11 11:01:37
305
原创 Gradle构建多模块项目
通常我在使用Maven构建项目的时候是将应用项目划分为多个更小的模块。Gradle 项目也拥有多于一个组件,我们也将其称之为多项目构建(multi-project build)。我们首先创建一个多项目构建:mkdir cmdGradleProj && cd cmdGradleProjgradle init这时候D:\cmdGradleProj>...
2016-11-11 10:53:07
655
原创 UML序列图总结
http://blog.youkuaiyun.com/tianhai110/article/details/6361338序列图主要用于展示对象之间交互的顺序。序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线...
2016-11-09 14:17:15
318
原创 UML类图几种关系的总结
http://blog.youkuaiyun.com/tianhai110/article/details/6339565 在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generaliz...
2016-11-09 14:15:51
202
原创 分布式开放消息系统(RocketMQ)的原理与实践
http://www.jianshu.com/p/453c6e7ff81c备注:1.如果您此前未接触过RocketMQ,请先阅读附录部分,以便了解RocketMQ的整体架构和相关术语2.文中的MQServer与Broker表示同一概念分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:消...
2016-11-04 10:05:44
208
原创 Git常用命令
查看、添加、提交、删除、找回,重置修改文件git help <command> # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- <file> # 抛弃工作区修改git co . # 抛弃工作区修改git add <file> # 将工作文件修改提交到本地暂存区git ...
2016-11-04 10:04:05
131
原创 使用Apache Commons Configuration读取配置信息
在项目中使用一些比较新的库总会给你带来很多快乐,在这篇文章中,我将会给你介绍一个在Java中读取配置文件的框架——Apache Commons Configuration framework. 你会了解到 ·从XML文件中获取数据 ·访问环境变量 ·连接不同类型的配置信息(基于XML的,基于环境变量的,等等) ·在程序改变后自动重新加载配置。 ...
2016-11-04 09:53:29
319
原创 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露...
2016-10-17 10:00:03
147
原创 jstack和线程dump分析
一:jstackjstack命令的语法格式: jstack <pid>。可以用jps查看java进程id。这里要注意的是:1. 不同的 JAVA虚机的线程 DUMP的创建方法和文件格式是不一样的,不同的 JVM版本, dump信息也有差别。本文中,只以 SUN的 hotspot JVM 5.0_06 为例。2. 在实际运行中,往往一次 dump的信息,还不足以确认问题...
2016-10-14 11:33:42
176
原创 java线程分析
站在巨人的肩膀上:http://sesame.iteye.com/blog/428012 http://jameswxx.iteye.com/blog/1041173 netstat -anp|grep ** 我发现现在网上没有好好讲这个的,少数的几篇文章都是大谈自己的工具,却没把方法讲清楚。我决定以我以前碰到的case为例写一篇来分享。到目前为止,我认为分析Jav...
2016-10-14 11:15:39
178
原创 Mybatis Generator最完整配置详解
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-con...
2016-10-01 14:11:34
136
原创 Elasticsearch笔记(一)—Elasticsearch安装配置
Elasticsearch笔记(一)—Elasticsearch安装配置一、安装Elasticsearch·安装Elasticsearch唯一的要求是安装官方新版的Java,地址:http://www.java.com/ ·java安装配置:http://jingyan.baidu.com/article/e75aca85b29c3b142edac6a8.html ·Elasti...
2016-09-08 11:24:38
207
原创 MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明
MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明 第1部分 messagepack说明1.1messagepack的消息编码说明为什么messagepack比json序列化使用的字节流更少, 可通过图1-1、图1-2有个直观的感觉。 图1- 1 messagepack与json的格...
2016-05-26 09:58:16
153
原创 如何面试3w的java工程师的成功秘籍
前言:想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。此文为对正在寻觅Java程序员(Java工程师)职位的freshman以及希望成为中高级Java开发者的junior求职秘...
2016-05-26 09:36:50
527
原创 远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。 Web ServiceWeb Se...
2016-05-18 14:11:06
146
原创 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务 数...
2016-05-18 11:19:14
141
原创 数据库相关规范建议
核心 (1)不在数据库做运算cpu计算务必移至业务层 (2)控制单表数据量:单表记录控制在1000w (3)控制列数量:字段数控制在20以内 (4)平衡范式与冗余:为提高效率牺牲范式设计,冗余数据 (5)拒绝3B:拒绝大sql,大事物,大批量字段类 (1)用好数值类型 tinyint(1Byte) smallint(2By...
2015-09-28 17:14:30
168
原创 tomcat_access配置
server.xml中配置http请求方法access日志 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/home/webadmin/logs" prefix="ip.access.log." suffix="" buffered="false" ..
2015-09-15 20:02:00
380
原创 指尖上的电商---(6)solrconfig.xml配置详解
http://blog.youkuaiyun.com/zx13525079024/article/details/25310781solrconfig.xml配置文件主要定义了SOLR的一些处理规则,包括索引数据的存放位置,更新,删除,查询的一些规则配置。 可以在tomcat的安装路径下找到这个文件C:\Program Files\Apache Software Foundation\To...
2015-08-24 20:40:06
118
原创 solr安装-tomcat+solrCloud构建稳健solr集群
http://blog.youkuaiyun.com/xyls12345/article/details/27504965solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建;使用外部web容器tomcat来搭建。对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用tomcat来搭建solrCloud。 废话不多说,开始我们的工作!1.搭...
2015-08-24 17:13:03
153
原创 solrCloud 4.9 分布式集群部署及注意事项
http://www.cnblogs.com/huangfox/p/3920315.html环境搭建一.zookeeper参考:http://blog.chinaunix.net/uid-25135004-id-4214399.html12345678910111213141516171819...
2015-08-22 23:17:38
186
原创 SOLR使用手册之操作collection
一.Collections API 参考:https://cwiki.apache.org/confluence/display/solr/Collections+API 因为API比较多,我就不一一列举,只列出比较重要的几个1.创建collection官方示例:/admin/collections?action=CREATE&name=name&numShards=nu...
2015-08-22 23:00:37
245
原创 solr4.8之solrcloud的使用与日常问题解决
http://blog.sina.com.cn/s/blog_a2f090ae0102v4fx.html将对应的java代码打包成jar上传到服务器上启动后台运行代码:(进入到:/home/solr/solr-script/lib)nohup java cn.people.solr.index.Indexer -d article -c hdfs -n article_no_conpyfie...
2015-08-21 13:26:42
277
原创 5分钟搞定solr索引主从同步
solr配置主从同步非常简单,比mysql/redis 要简单的多,5分钟搞定solr索引同步的是core对core,以core为基本同步单元一个solr instance可以装载多个core,每个core拥有不同的schema,core与实例的关系等同于mysql中table和database的关系不支持直接同步实例假设我们已经在 192.168.1.10和192.168....
2015-08-21 13:25:31
1127
原创 通过Http管理Solr Core,实现索引的分类
使用的版本为Solr 4.9http://my.oschina.net/cloudcoder/blog/305033查看所有core的状态 使用样例 http://172.168.63.233:8983/solr/admin/cores?action=STATUS查看某一个core的状态 http://172.168.63.233:8983/solr/admi...
2015-08-21 13:24:17
166
原创 使用httpclient必须知道的参数设置及代码写法、存在的风险
http://jinnianshilongnian.iteye.com/blog/2089792 结论:如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住。httpclient 4.3.3,目前还有一些bug;还是用4.2.x稳定版本吧。 以库存项目为例:httpclient一天并发量在1500w左...
2015-07-15 17:15:10
134
原创 ScheduledThreadPoolExecutor的scheduleAtFixedRate方法探究
http://www.cnblogs.com/sunxucool/archive/2013/06/21/3148141.htmlScheduledThreadPoolExecutor除了具有ThreadPoolExecutor的所有功能外,还可以延迟执行任务或者周期性的执 行某个任务。scheduleWithFixedDelay和scheduleAtFixedRate就是用来完成这个功能的。...
2015-07-15 17:14:17
428
原创 zookeeper 大量连接断开重连原因排查
问题现象最后发现线上的zookeeper的日志zookeeper.out 文件居然有6G,后来设置下日志为滚动输出,参考:http://blog.youkuaiyun.com/hengyunabc/article/details/19006911但是改了之后,发现一天的日志量就是100多M,滚动日志一天就被冲掉了,这个不科学。再仔细查看下日志里的内容,发现有很多连接建立好,马上又断开: ...
2015-07-08 22:06:25
526
原创 Solr,Lucene 优化有哪些相关经验
你的索引文件30G!这可是个非常大的数目了。1. 从schema入手:1> 你的数据是都需要store的么, 比如一些字段只需要提供结果搜索而不作为结果返回, 那么需要将store设置为false从而减少数据量。2> 你的所有字段都需要highlight么, 如果不需要highlight则可以将term vector关掉。 3> 确认你在schema没保存太多无用的信息(即不用来...
2015-07-08 20:13:47
128
原创 jstack, jstat, jmap, jinfo, 教你如何在背后偷窥你的进程^^
jps查看所有的jvm进程,包括进程ID,进程启动的路径等等。我自己也用PS,即:ps -ef | grep javajstack观察jvm中当前所有线程的运行情况和线程当前状态。系统崩溃了?如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和...
2014-12-04 13:33:54
137
原创 通过jinfo工具在full GC前后做heap dump
http://rednaxelafx.iteye.com/blog/1049240 想像一个Java进程在远程服务器上突然遇到频繁full GC的状况。我们只是想动态的改变HeapDumpBeforeFullGC与HeapDumpAfterFullGC参数来获取full GC前后的heap dump,并不想在侵入到Java程序内去通过代码做这个工作。这种场景里jinfo就能派上用场了——...
2014-12-02 11:06:38
2083
原创 输出Java的GC信息
-verbose:gc -XX:+printGC 可以打印GC的简要信息1234[GC 4790K->374K(15872K), 0.0001606 secs][GC 4790K->374K(15872K), 0.0001474 secs][GC 4790K->374K(15872K), 0.00015...
2014-12-02 11:02:29
322
原创 [Java性能剖析]Eclipse Memory Analyzer介绍
Eclipse Memory Analyzer是一个非常棒的堆内存分析工具,是JDK自带的堆分析工具jhat的一个非常好的替代品,能够快速地定位Java内存泄露的原因。 可能有的同学会问,JVM不是号称自动内存管理,GC会自动垃圾回收,Java怎么会有内存泄露,不会搞错吧?当然不会^_^, Java的内存泄露不同于C/C++的内存泄露,C/C++的内存泄露是由于使用了堆内存(new/...
2014-11-30 16:47:58
159
原创 jps、jinfo、jstat、jstack、jmap、jconsole等命令简介
JDK提供了几个很实用的工具,如下:jinfo:观察运行中的java程序的运行环境参数:参数包括Java System属性和JVM命令行参数,java class path等信息。命令格式:jinfo 进程pidjps:用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。命令格式:jps 或 jps 远程服务ip地址 (默认端口1099)jstat:...
2014-11-30 16:22:59
161
原创 关于分布式系统的数据一致性问题
现在先抛出问题,假设有一个主数据中心在北京M,然后有成都A,上海B两个地方数据中心,现在的问题是,假设成都上海各自的数据中心有记录变更,需要先同步到主数据中心,主数据中心更新完成之后,在把最新的数据分发到上海,成都的地方数据中心A,地方数据中心更新数据,保持和主数据中心一致性(数据库结构完全一致)。数据更新的消息是通过一台中心的MQ进行转发。先把问题简单化处理,假设A增加一条记录Mess...
2014-11-14 11:30:05
164
原创 linux端口映射
12345678910ssh -C -g root@127.0.0.1 -L 5000:61.235.139.123:5000 #输入机器的root密码 #后台执行:ssh -C -f -N -g root@127.0.0.1 -L 5000:61.235.139.123:5000 #另: ...
2014-09-25 17:11:08
479
原创 ActiveMQ使用总结
1、ActiveMQ支持消息过滤设置规则和用法selector支持下列几种方式:(1) String literals: "color ='blue'"(2) Byte strings: “myBytes <> "0X0AFC23"”(3) Numeric values: "NoltemsInStock > 20"(4) Boolean literals T...
2014-06-13 11:40:13
234
原创 maven常用命令
3.1. Maven 3.1.1. Maven介绍我们使用maven构建应用环境,因此我们先来简单介绍maven。Maven是什么?如何回答这个问题 要看你怎么看这个问题。 绝大部分Maven用户都称Maven是一个"构建工具":一个用来把源代码构建成可发布的构件的工具。构建工程师和项目经理会说Maven是一个更复杂 的东西:一个项目管理工具。那...
2014-05-22 00:15:27
96
原创 maven用途、核心概念、用法、常用参数和命令、扩展
本文由浅入深,主要介绍maven的用途、核心概念(Pom、Repositories、Artifact、Build Lifecycle、Goal)介绍、用法(Archetype意义及创建各种项目)、maven常用参数和命令以及简单故障排除、maven扩展(eclipse、cobertura、findbugs、插件开发)、maven配置。本文较长,可根据个人需要有选择性的查看,比如先看用法再回过...
2014-05-22 00:14:14
142
原创 maven中pom.xm报错
本地仓库中删除所有 *.lastUpdated结尾文件,重新执行maven中update project config
2014-05-20 11:44:22
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人