- 浏览: 506947 次
- 性别:
- 来自: 广州
-
最新评论
文章列表
java 泛型
1.Java范型时编译时技术,在运行时不包含范型信息,仅仅Class的实例中包含了类型参数的定义信息。
2.泛型是通过java编译器的称为擦除(erasure)的前端处理来实现的。你可以(基本上就是)把它认为是一个从源
码到源码的转换,它把泛型版本转换成非泛型版本。(可以理解为编译器会为你的代码跟据实际的类型帮你生成
了实际类型的接口或变量)
?通配符泛型(可以是任意类型)
仅能作为接收任意类型(就是只能在参数类型定义时使用,不能作为一个实际的类型来使用)
List<?> unknownList; //正确
? t;//错(不能这样用)
T自定义泛型 ...
HDFS的运行原理
简介
HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。是根据google发表的论文翻版的。论文为GFS(Google File System)
Google 文件系统(中文,英文)。
HDFS有很多特点:
① 保存多个副本,且提供容错机制, ...
分布式、集群的一些认识
分布式的作用:
1.提高可用性(不能叫北京的用户访问广州的服务器吧(网络速度慢))。
2.提高系统性能,不同地区的用户访问不同地区的服务器。
3.如果在数据存储方面,可以提高存储容量。
4.降 ...
CAP 理论
CAP原则是NOSQL数据库的基石。Consistency(一致性)。 Availability(可用性)。Partition tolerance(分区容错性)
1.一致性(Consistency):同一个数据在集群中的所有节点,同一时刻是否都是同样的值。(就是主与所有从节点的数据是一样的)
2.可用性(Availability):集群中一部分节点故障后,集群整体是否还能处理客户端的更新请求。(就是进行写入和更新数据时不会出错的机率要少,速度要快(主从情况下强一致性要求所有从节点都更新了数据才认为成功,所以出错机率会大、速度会慢))
3.分区容忍性(Partition tole ...
postman POST 中文乱码问题解决方法
代码方式:
String aa = new String(district.getBytes("ISO-8859-1"), "UTF-8");
Spring MVC 过滤器方式:
<filter>
<filter-name>springUtf8Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filte ...
Kafka
消息队列MQ技术的一种应用
kafka的构架:
1.Brocker:Kafka集群包含一个或多个服务器,这种服务器被称为broker。生产者向Brocker发送事件,消费者从Brocker中拿事件
2.Topic:可以将topic看成是一个消息队列,每个事件都必须指定其要存在在哪个topic中(这里倒是可以当成事件的分类来看待),
topic是存在于brocker之中的
3.Partition:每个topic都可以包含一个或者多个partition,可以将topic中的各个事件按照规则分开存放
4.Producer:即生产者,负责发送事件到kafka brocker
5.Co ...
ZooKeeper
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务应用。
其实就是用于保存一些分布式系统中的服务器与服务器之间进行同步的一些信息,这些信息可以被所有以ZooKeeper
客户端API方式访问的客户端(也是服务 ...
Logstash工作原理
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,
然后传输到指定的位置,比如某个服务器或者文件。
logstash包括了三个阶段:
输入input --> 处理filter(不是必须的) --> 输出output
配置文件说明
由三部分组成,input、output以及用户需要才添加的filter,因此标准的配置文件格式如下:
input {...}//指定输入
filter {...}//过滤逻辑处理
output {...}//指定输出
参考原文:http://udn.yyu ...
select、poll、epoll之间的区别总结
select,poll,epoll都是IO多路复用的机制。
select
以文件描述符作为测试对象,(文件描述符大小有限制(默认是1024))
select的调用过程:
(1)使用copy_from_user从用户空间拷贝fd_set到内核空间
...
IO - 同步,异步,阻塞,非阻塞
阻塞与非阻塞(进程有没有挂起)
阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.(就是进程有没有被挂起)
阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。
同步与异步(调用有没有等待返回结果)
同步和异步关注的是消息通信机制(调用得到的是不是结果(想要的内容),而不是设置状态和操作状态的返回)
所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。
换句话说,就是由*调用者*主动等 ...
日志文件系统
日志文件系统当然要记录日志,而日志也需要占存储空间。所以,日志文件系统就是在存储介质上开辟一个块特殊的区域专门用于存储日志信息:
所有新数据首先写入日志,然后再写入它的最终位置。在崩溃情况下,可以重放日志,使数据和元数据处于一致的状态。
日志文件系统的一种方式就是用COW(Copy-On-Write 写时复制)来实现的.
Copy-On-Write 写时复制
1.当应用要创建一个子进程时,子进程的空间内容还时父进程的空间内容(页表可能不同)
2.当父或子空间内容变化时,子进程或父进程才会申请内存并进行改变页面内容的复制更改,并修改面表内容
日志文件系统
1.当要进 ...
Redis
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis是一个key-value存储系统。和Memcached(简单的k/v类型的数据)类似,redis支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)
Redis 是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足(数据类型来多)
Redis中,并不 ...
Hash
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),
通过散列算法,变换成固定长度的输出,该输出就是散列值。
这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,
而不可能从散列值来唯一的确定输入值。
MD5可以说是目前应用最广泛的Hash算法
Hash表(散列表)
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,
它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散 ...
HTML 部分标签解说
<q>
<q> 元素定义短的引用
浏览器通常会为 <q> 元素包围引号。
实例:
<p>WWF 的目标是:<q>构建人与自然和谐共存的世界。</q></p>
输出:
WWF 的目标是"构建人与自然和谐相处的世界。"
<code>
<code> 元素不保留多余的空格和折行
实例
<!DOCTYPE html>
<html>
<body style="font-size:16px" ...
URI和URL的区别
URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可
以用来标识一个资源,而且还指明了如何locate这个资源。
URL编码
情况1:网址路径中包含汉字
http://zh.wikipedia.org/wiki/春节
网址路径的编码,用的是utf-8编码。
情况2:查询字符串包含汉字
http://www.baidu.com/s?wd=春节
查询字符串的编码,用的是操作系统的默认编码。
情况3:Get ...