- 浏览: 114789 次
- 性别:
- 来自: 上海
最新评论
-
张延龙地盘:
天下文章一大抄
zookeeper学习笔记-zkclient,curator使用 -
xuehanxin:
笨猪会费 写道你是看书学习的还是学校学习?自学的
maven学习笔记第一节一-maven install 模块之间相互引用 -
笨猪会费:
你是看书学习的还是学校学习?
maven学习笔记第一节一-maven install 模块之间相互引用 -
lianglong2000:
非常感谢!
Netty笔记一(可以运行看到结果的简单例子) -
beijishiqidu:
终于知道为什么了,端口冲突了。
Ubuntu中最重要的命令
文章列表
hadoop安装实际也是很简单的,关键是有些坑不要踩了就好了,hadoop实际就是一个java的程序,跑起来很简单的,前期配置和准备工作做好就能一步安装成功
准备工作1
安装linux虚拟机,注意安装的时候不要忘记网络设置,不然不能通过局域网连接到虚拟机
准备工作2
linux要先建立一个跑hadoop的用户并赋给权限
[root@ ~]# useradd -m hadoop -s /bin/bash
[root@ ~]# passwd hadoop
更改用户 hadoop 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
...
开源客户端,原生api的不足
连接的创建是异步的,需要开发人员自行编码实现等待
连接没有自动的超时重连机制
Zk本身没提供序列化机制,需要开发人员自行指定,从而实现数据的序列化和反序列化
Watcher注册一次只会生效一次,需要不断的重复注册
Watcher的使用方式不符合java本身的术语,如果采用监听器方式,更容易理解
不支持递归创建树形节点
开源客户端---ZkClient介绍
Github上一个开源的zk客户端,由datameer的工程师Stefan Groschupf和Peter Voss一起开发
– 解决session会话超时重连
– Watcher反复注册
– 简化开发api ...
Zookeeper集群
1.是一种对等集群,所有节点(机器)数据都一致
2. 集群节点之间靠心跳感知彼此的存在
3. 所有写操作都在主节点上,其他节点只能读,虽然可以接收写请求,但是内部会把写操作转给主节点
4. 通过选举机制选出主节点,从而保障了主节点的高可用
5.至少3个节点,必须是基数个节点,这个和zk的选举算法有关系的,以后介绍
6. 当一半以上的节点数据写入成功后,则返回写入成功,是最终一致性策略
Zookeeper集群
分布式系统理论之CAP定义
1. 一个分布式系统不可能同时时满足一致性(Consistency),可用性(Availability)和分区容忍性(Part ...
数据节点
数据节点Znode:
– 是机器的意思
– zk树形结构中的数据节点,用于存储数据
– 持久节点(PERSISTENT)一旦创建,除非主动调用删除操作,否则一直存储在zk上
– 临时节点(EPHEMERAL):与客户端的会话绑定,一旦客户端会话失效 ...
zk基本功能了解
zookeper是一个高性能,分布式,开源分布式应用协调服务,他提供了简单的原始的功能,分布式应用可以基于他实现高级服务,比如同步,配置管理,集群管理,命名服务。他容易编程,使用文件系统目录作为数据模型。服务端跑在java上,客户单用c和java2中语言
zk的功能:
协调:多个节点一起完成一个动作
1.集群成员管理
2.锁
3.选主
4.同步
5.发布/订阅
zookeeper的数据模型
1.分层结构
2.树性结构中的每个节点叫做Znode
3.每个znode有数据(byte[]类型),也可以有子节点
节点路径
斜线分割/host/ds,没有相对路径
通过数据结构sta ...
最近想总结一下java的动态代理,动态代理有很多种实现方案,下面介绍三种最常用的动态搭理方案:1.jdk自带动态代理2.javassist实现动态代理3.cglib实现动态代理
接口和实现类代码:
package com.java.day1.dynamicproxy.one;
public interface Interface {
void doSomeThing();
}
package com.java.day1.dynamicproxy.one;
public class RealSubject implements Interface{
...
一、什么是ASM
ASM是一个JAVA字节码分析、创建和修改的开源应用框架。在ASM中提供了诸多的API用于对类的内容进行字节码操作的方法。与传统的BCEL和SERL不同,在ASM中提供了更为优雅和灵活的操作字节码的方式。目前ASM已被广泛的开源应用架构所使用,例如:Spring、Hibernate等。
二、ASM能干什么
分析一个类、从字节码角度创建一个类、修改一个已经被编译过的类文件
三、ASM初探例子
通过字节码实现
public class Example {
public static void main(String[] args) {
int ...
最近看了周志明的深入java虚拟机,看到堆字节码解析这一章节,觉得特别的枯燥无味,于是我花了一段时间解析了一个class文件,由于方法体和属性这两项篇幅太长没做解析,想看这两个解析的略过。
class文件具有与语言无关性的特点,很多语言都可以编译成class文件,让jvm执行,class文件结构如下:
1.魔数
2.版本
3.常量池
4.访问符
5.类、超类、接口
6.字段
7.方法
8.属性
class文件的组成元素如下表:
类型
名称
数量
u4
magic
1
u2
minor_v ...
jvm第7节-锁(偏向锁,轻量锁,自旋锁)
- 博客分类:
- java基础
在介绍锁之前我们先介绍一个线程不安全的例子,一个全局的list,开2个线程往里面插入数据,代码如下:
package com.jvm.day6.lock.demo;
import java.util.ArrayList;
import java.util.List;
/**
* 测试都线程共享一个变量带来的现象
* @A ...
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用的开发人员不需要直接同类加载器进行交互。Java 虚拟机默认的行为就已经足够满足大多数情况的需求了。不过如果遇到了需要与类加载器进行交互的情况,而对类加载器的机制又不是很了解的话,就很容易花 ...
很多开发人员都不是很了解,jdk在安装的时候在bin目录下有很多方便我们调试的工具,有的工具是非常好用的,下面介绍一下jdk自带的调优工具和一些常见的非自带的工具:
名称
作用
jps
JVM Process Status Tool,现实指定系统内所有的HotSpot虚拟机进程
jstat
JVM Statistics Monitoring Tool,用于收集Hotspot虚拟机各个方面的运行参数
jinfo
maven第四节-maven插件
- 博客分类:
- 配置管理
插件是maven的核心,所有的执行操作都是基于插件来完成的,为了让一个插件可以执行众多的类似的功能,maven为插件设定了目标,一个插件中有一个或者多个目标,其实生命周期的重要的每个阶段都是由插件的具体目标执行的。
1.maven-antrun-plugin
http://maven.apache.org/plugins/maven-antrun-plugin/
maven-antrun-plugin能让用户在Maven项目中运行Ant任务。用户可以直接在该插件的配置以Ant的方式编写Target,然后交给该插件的run目标去执行。在一些由Ant往Maven迁移的项目中,该插件尤 ...
jmv第四节-垃圾回收器详细讲解
- 博客分类:
- java基础
这篇文章我想和大家分享一下现在java的垃圾回收器
1.串行回收器 -XX:+UseSerialGC
使用一个线程进行串行回收,新生代采用复制算法,老年代使用标记-压缩算法,回收的时候程序全部暂停
缺点是:停顿时间长
有点是:久经考验,bug少
2.ParNew -XX:+UseParNewGC 新生代并行,老年代串行
回收的时候程序全部暂停
3.Parallel收集器
类似ParNew,更加关注吞吐量
-XX:+UseParallelGC 使用Parallel收集器+老年代串行
-XX:+UseParallelOldGC 使用Parallel+老年代并 ...
maven第三节-nexus私服功能介绍
- 博客分类:
- 配置管理
1.nexus私服的安装 从官网下载nexus,加压到本地,修改D:\installfile\nexus\nexus-2.12.0-01\bin\jsw\conf\wrapper.conf wrapper.java.command=D:\Program Files\Java\jdk1.7.0_79\bin\java到目录:D:\installfile\nexus\nexus-2.12.0-01\bin下nexus installnexus start启动,nexus stop停止,nexus这就这么启动关闭的,安装完毕2.nexus仓库的介绍A.host的仓库。内部项目的发布仓库 B.pr ...