自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hadoop2配置文件详细解释

一、hadoop2体系结构hadoop1的核心组成是两部分,即HDFS和MapReduce。在hadoop2中变为HDFS和Yarn。新的HDFS的NameNode不再是只有一个了,可以有多个(目前只支持2个)。每一个都有相同的职能。这两个NameNode的地位如何?答:一个是active状态的,一个是standby状态的。当集群运行时,只有active状态的NameNode是正常工作

2016-01-21 14:34:10 474

原创 Hadoop2安装-伪分布模式

一、安装前一定要安装ssh二、修改配置文件修改的文件都在/hadooplearn/hadoop-2.7.1/etc/hadoop下:core-site.xml、hdfs-site.xml、yarn-site.xml.三个文件配置文件的添加和修改都在 中1、core-site.xml  fs.defaultFS  hdfs://127.0.0.1:9000

2016-01-14 16:13:27 344

原创 Hadoop2安装-单机模式

Hadoop有三种模式,单机模式、伪分布模式和完全分布模式。这里先简单介绍单机模式,默认情况下,Hadoop被配置成一个非分布模式,独立运行Java进程,适合开始做调试工作。一、安装前确定java已经安装二、下载Hadoop,本案例中使用的Hadoop版本为hadoop-2.7.1三、解压Hadoop压缩包四、修改配置文件hadoop-env.shHadoop的配置文件都在

2016-01-14 13:17:26 393

原创 TCP三路握手的状态转移和socket函数调用关系时序图

TCP三路握手的状态转移和socket函数调用关系时序图

2015-12-28 18:11:21 778

原创 Linux 系统性能数据采集原则与方法

对于业务服务器性能的采集,必须遵循两点:第一,性能数据采集的方法尽可能简单、通用,尽量避免在业务服务器内安装程序;第二,操作步骤和方法必须简练,因为大多数情况下,性能采集的工作需要业务方来完成,过于复杂的操作,很容易造成性能数据无法采集。本节介绍Linux系统下,如何采集Linux性能数据。1.Linux系统性能采集原则首先,对于Linux系统性能采集,其结果必须包含4个部分的数据:1)C

2015-12-04 16:02:08 2004

转载 Linux安装mysql——源码安装

1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件(1)先安装cmake(mysql5.5以后是通过cmake来编译的)[root@ rhel5 local]#tar -zxv -f cmake-2.8.4.tar.gz[root@ rhel5 local]#cd cmake-2.8.4[root@ rhel5 cmake-2.8

2015-12-03 13:34:41 254

原创 Linux查看物理CPU个数、核数、逻辑CPU个数

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu cores

2015-11-13 13:58:50 261

原创 常用数据库监控工具

一、vmstatvmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

2015-11-13 13:30:17 622

原创 postgis学习笔记

一、Transforming from SRID 900913 to 4326 with PostGisALTER TABLE planet_osm_point ALTER COLUMN way TYPE geometry(Point,4326) USING ST_Transform(way,4326);二、用postgis查找指定范围内的兴趣点SELECT t.osm_id,ST

2015-11-12 16:26:32 1087

原创 Linux下源码安装PostGIS

一、安装PostGistar zxvf postgis-2.1.2.tar.gzcd postgis-2.1.2./configuremakemake intall注意【安装过程中的一些依赖是需要自己另外安装的,大致的步骤是这样的】二、检查postgis安装是否正确如果执行上面那天查询语句,有图中贴出的结果,说明已经安装成功了。

2015-11-03 13:52:46 574

原创 linux postgresql安装配置详解

一、linux版本信息[root@localhost /]# cat /proc/versionLinux version 3.10.0-229.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Fri Mar 6 11:36:

2015-10-29 13:48:07 1525

转载 Mongodb源码分析--内存文件映射(MMAP)

在Mongodb中,其使用了操作系统底层提供的内存映射机制,即MMAP。MMAP可以把磁盘文件的一部分或全部内容直接映射到内存,这样文件中的信息位置就会在内存中有对应的地址空间,这时对文件的读写可以直接用指针来做,而不需要read/write函数了。同时操作系统会将数据刷新保存到磁盘上。如下图:鉴于linux,window系统为mmap所提供的API大同小异(见下图)。这里仅以mong

2015-10-16 17:40:34 139

原创 linux下Mysql5.6源码安装

1、下载:mysql版本为5.6.20http://dev.mysql.com/downloads/mysql选择Source Code2、安装必要软件包yum -y install gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmak

2015-10-13 10:00:04 357

转载 axis1.4 根据wsdl生成 客户端

//使用wsdl文件生成客户端 E:\decodeSource\axis-1_4>java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java -p "com.venustech.service" -u "demo.wsdl" //使用url生成客户端 //生成服务端 E:\decodeSource\axis-1_4>jav

2015-09-06 11:13:34 698

转载 Redis监控方案

Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串、链表、哈希、集合和有序集合5种。支持在服务器端计算集合的并、交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis的所有数据都保存在内存中,然后不定期的通过异步方式保存到磁盘上(称为“半持久化

2015-08-14 11:34:59 362

转载 JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)

前提概要:       JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,每一种工具都有其自身的特点,用户可以根据你需要检测的应用或者程序片段的状况,适当的选择相应的工具进行检测。接下来的两个专题分别会讲VisualVM的具体应用。现实企业级Java开

2015-08-07 09:58:57 149

转载 Java NIO:浅析I/O模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们先来讨论一些比较基础的知识:I/O模型。下面本文从同步和异步的概念说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Proact

2015-04-28 22:00:19 355

转载 FTP实现断点续传

FTP客户端实现要建立两个通道:一个控制命令通道,让FTP服务器知道客户端要干什么,一个是数据传输通道。所谓的两个通道只不过是两个调用了connect函数的连接,只是控制命令通道专门用来传输一些字符串命令信息,而数据通道则是用来传输文件。控制命令通道一定是由客户端向服务器的连接(默认的端口是21,也可以指定端口,这要看服务器的设置)。连接的过程完成了FTP的登录。数据通道则不一定啦,具体哪个连哪个

2015-04-26 20:32:12 1193

原创 虚拟机性能监控与故障处理工具-JDK命令行工具

2015-04-23 14:07:46 299

原创 垃圾收集器与内存分配策略

1、对象已死?2、垃圾收集算法3、垃圾收集器

2015-04-23 10:49:08 258

原创 Java内存区域与内存溢出异常

1、java内存区域

2015-04-22 16:40:11 237

原创 虚拟机类加载机制

1、类加载时机2、类加载过程3、类加载器

2015-04-22 14:44:52 290

原创 一切从ServerBootstrap开始

ServerBootstrap负责初始化netty服务器,并且开始监听端口的socket请求。bootstrap bootstrap = new ServerBootstrap( new NioServerSocketChannelFactory( Executors.newCachedThreadPool(),//boss线程池 Exe

2015-04-21 08:52:48 10518 7

转载 redis五种数据类型的使用场景

String1、string常用命令:除了get、set、incr、decr、mget等操作外,redis还提供了下面一些操作:获取字符串长度往字符串append内容设置和获取字符串的某一段内容设置和获取字符串的某一位(bit)批量设置一系列字符串的内容应用场景:String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是

2015-04-20 09:39:36 534

原创 程序运行结果

package netty.in.action;/** * Created by Administrator on 15-4-18. */public class Parent { public Parent(){ System.out.println("----Parent----"); }}package netty.in.action;/

2015-04-18 12:54:01 412

原创 TCP和UDP的区别

TCP协议与UDP协议的区别首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议族。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他命名了。TCP/IP协议集包括应用层、传输层、网

2015-04-18 11:59:03 289

原创 影响软件性能的因素

1、影响软件性能的因素目前,大部分系统都是为多用户、跨地域、多部门机构提供服务的,目前一般中小企业的员工人数也有几十号人,实际并发数量比较小,在软件性能方面影响不大,但是对于中大型企业、大型国企或跨国跨区域的集团企业,公司的员工有几千人,甚至几万人,而且一般一套系统都要运行很多年,这样存量数据也非常惊人,对于软件系统的性能表现影响巨大。影响性能的主要因素包括:硬件设施、网络、操作系统、并发

2015-04-18 11:30:45 1460

原创 Java类加载器总结

1、类的加载过程JVM将类的加载过程分为三个步骤:装载(Load)、链接(Link)和初始化(Initialize),链接又分为三个步骤,如下图所示:1)装载:查找并加载类的二进制数据;2)链接:             1、验证:确保被加载类的正确性;             2、准备:为类的静态变量分配内存,并将其初始化为默认值;             3、解析:

2015-04-17 18:24:42 259

原创 java中hashcode()函数的作用

Java对象Hashcode的作用是什么?可以联想数据结构的哈希表(散列表)、哈希函数。Object.hashCode() 就是一个哈希函数,用来计算散列值以实现哈希表这种数据结构。在一个数组中存储对象时,通过 hashCode 得到的哈希值来计算数组的索引位置(通常是求余运算),然后根据这个索引位置进行存取。多个对象计算出来的索引位置相同(叫hash冲突)时,用链表保存。冲突怎么保证

2015-04-16 23:27:15 331

原创 什么是java序列化,如何实现java序列化

1、什么是串行化?Java串行化技术可以使你将一个对象的状态写入一个Byte流里,并且可以从其它地方把该Byte流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动恢复到上次执行的状态。

2015-04-16 11:36:11 465

转载 【case】并发环境下HashMap引起full gc排查

现象最近上线一个需求,完成需求的过程对代码进行了一次重构。应用发布后半个小时左右,发现一个机器报警,load过高。登陆机器看CPU使用情况,发现load已经正常,看下CPU使用情况,发现有一个核跑满,其他CPU使用率很低。大概一个小时后,其他机器陆续报警,发现同样的问题,紧急回滚应用。应用运行在16G内存的虚机上,整个JVM11G内存,其中新生代3G,CMS gc,JDK7。第一反应是

2015-04-13 09:58:00 864

转载 oracle 数据库索引的优缺点

数据库的索引分为:聚集索引,非聚集索引,唯一索引。  优点:方便了查询,在数据量大时排序更易查询,  缺点:查询时需要进行重新排序,减少了效率。物理索引缺点 建立索引效率低,只能建一个。  更有说服力的:(转)  为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建

2015-04-12 15:35:05 456

转载 Oracle表分区详解

从以下几个方面来整理关于分区表的概念及操作:1、表空间及分区表的概念2、表分区的具体作用3、表分区的优缺点4、表分区的几种类型及操作方法5、对表分区的维护性操作一、表空间及分区表的概念表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表,所以称作表空间;分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就

2015-04-12 14:56:28 208

转载 一次服务大量超时的java排查过程经验

一次应用提供的服务化接口收到报警大量超时,报404.赶忙着手处理:1)查看监控报表的cpu  load ,jvm gc情况,jvm内存,io都正常,如果没有做监控可以手工到服务器上命令查看2)检查网络包括http响应及tcp网络响应请求情况均正常3)登陆服务器,jps -v把java进程打出来,或者top发现j该java进程的cpu使用率及内存占用率均正常4)top -H -p

2015-04-12 14:31:51 795

转载 HTTP请求的基本过程

1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80

2015-04-10 20:11:17 295

转载 Netty长连接的事件处理顺序问题

最近的一个线上项目(认证服务器)老是出现服务延迟的情况。具体的问题描述:(1)客户端发送一个请求A(长连接),在服务器端的业务层需要20秒以上才能接收到。(2)客户端发送一个请求B(端连接),在服务器端的业务层可以迅速接收到。从现象大致知道问题出在服务器端的网络接收层,大量通过长连接发送过来的请求都堵塞在网络层得不到处理(在网络层排队,还没到应用层)。(友情提示:本博文章欢迎转载,

2015-04-10 20:06:11 1085

转载 Netty实现原理浅析

一、总体结构二、网络模型Netty是典型的Reactor模型结构,关于Reactor的详尽阐释,可参考POSA2。Reactor模式的典型实现:1、这是最简单的单Reactor单线程模型。Reactor线程是个多面手,负责多路分离套接字,Accept新连接,并分派请求到处理器链中。该模型适用于处理器链中业务处理组件能快速完成的场景。不过,这种单线程模型不能充分利用多核资源,所以实际

2015-04-10 13:42:32 535

原创 Netty In Action(一):Netty介绍

一、Netty介绍Netty是基于Java NIO的网络应用框架,是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty的内部实现是很复杂的,但是Netty提供了简单易用的api从网络处理代码中解藕业务逻辑。Netty是完全基于NIO实现的,所以整个Netty都是异步的。二、为什么使用Netty?Netty提

2015-04-10 09:55:39 371

转载 Java NIO使用及原理分析(五)总结

一、java NIO和阻塞I/O的区别假如现在你对阻塞I/O已有了一定了解,我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时)才会返回;同样,在调用ServerSocket.accept()方法时,也会一直阻塞到有客户端连接才会返回,每个客户端连接过来后,服务端都会启动一个线程去处理该客户端的请求。阻塞I/O的通信模型示意图如下:

2015-04-09 14:54:32 397

转载 Java NIO使用及原理分析(四)

在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为每个客户端请求建立一个线程,由该线程单独负责处理一个客户请求。这种模式带来的一个问题就是

2015-04-09 12:36:46 406

Mysql技术内幕

一本很好学习mysql引擎的书籍,大家可以拿去看看!

2016-01-22

空空如也

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

TA关注的人

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