`
文章列表

java泛型

    博客分类:
  • java
Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明显的错误。而从不好的地方来说,为了保证与旧有版本的兼容性,Java泛型的实现上存在着一些不够优雅的地方。当然这也是任何有历史的编程语言所需要承担的历史包袱。后续的版本更新会为早期的设计缺陷所累。   ...
LVS+Keepalived 介绍LVSLVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。KeepalviedKeepalived在这里主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现

负载均衡算法

分类:    平衡算法设计的好坏直接决定了集群在负载均衡上的表现,设计不好的算法,会导致集群的负载失衡。一般的平衡算法主要任务是决定如何选择下一个集群节点,然后将新的服务请求转发给它。有些简单平衡方 ...

shell样例

按ip统计访问日志top   命令1:   Shell代码   time awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -5                              78129 192.168.13.166     75165 192.168.12.52     58657 192.168.12.199     54146 192.168.13.183     34310 192.168.13.181      real    0m5.849s  
struts2配合log4j打印异常栈信息 关于配置struts2全局异常后控制台无法打印异常信息问题 [html] view plaincopy   <global-results
学习MapTask的内部实现。                   整体执行流程           如上图示,MapTask的整个处理流程分五个阶段:          ●read阶段:通过RecordReader从InputSplit分片中将数据解析成一个个key/value。          ●map阶段:将由RecordReader解析出的key/value交给map()方法处理,并生成一个个新的key/value。          ●collect阶段:将map()中新生成key/value由OutpCollector.collect()写入内存中的环形数据缓冲区。        ...
下面我们来熟悉一下MapReduce作业的提交和初始化的过程:          作业的提交过程         第一步,使用Hadoop提供的shell命令提交作业,命令行作业提交命令: Java代码   $HADOOP_HOME/bin/hadoop jar job.jar \  
HDFS HDFS client 分析 客户端的功能 今天开始分析HDFS源代码,首先从HDFS的client端分析。对于分布式文件系统,Client端的功能,就是接收用户的请求,通过网络,与 NameNode 和 DataNode交互。 首先确定的是,client端是一个hdfs提供的lib库,用户的应用程序需要包含该库,调用该库提供的函数来访问NameNode和DataNode HDFS提供了一个shell程序,通过shell程序,可以通过一下命令比较简洁的访问HDFS HDFS的文件系统抽象层 抽象类FileSystem提供了一个文件系统的抽象层,它包括了分布式文件系统 ...
Zookeeper的主流应用场景实现思路(除去官方示例) (1)配置管理集中式的配置管理在应用集群中是非常常见的,一般商业公司内部都会实现一套集中的配置管理中心,应对不同的应用集群对于共享各自配置的需求,并且在配置变更时能够通知到集群中的每一个机器。Zookeeper很容易实现这种集中式的配置管理,比如将APP1的所有配置配置到/APP1 znode下,APP1所有机器一启动就对/APP1这个节点进行监控
1, 事务处理 innodb 支持事务功能,myisam 不支持。 Myisam 的执行速度更快,性能更好。   2,select ,update ,insert ,delete 操作 MyISAM:如果执行大量的SELECT,MyISAM是更好的选择 InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于 ...

HBase存储结构

一、 Hbase存储框架     图1  Hbase存储架构图    1、  结构 HBase中的每张表都通过行键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,由HRegionServer管理,管理哪些HRegion由HMaster分配。 HRegionServer存取一个子表时,会创建一个HRegion对象,然后对表的每个列族(Column Family)创建一个Store实例,每个Store都会有0个或多个StoreFile与之对应,每个StoreFile都会对应一个HFile, HFile就是实际的存储 ...

Http状态码

本部分余下的内容会详细地介绍 HTTP 1.1中的状态码。这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 500-599 用于支持服务器错误。 
负载均衡分全局负载均衡和本地负载均衡。 地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。   循环DNS 就是每次解析域名时指向IP loop list 里的下一个IP.   负载均衡路由器 通过某种策略把请求发送到响应最快的server上, 同时可以满足

一致性hash算法

    consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛; 1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ; hash(object)%N 一切都运行正常,再考虑如下的两种情况; 1 一个 cache 服务器 m down 掉了(在实际 ...
使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序。  1. exec(String command)  2. exec(String command, String envp[], File dir)  3. exec(String cmd, String envp[])  4. exec(String cmdarray[])  5. exec(String cmdarray[], String envp[])  6. exec(String cmdarray[], S ...
Global site tag (gtag.js) - Google Analytics