0%

出现问题

zookeeper 客户端出现异常:

2020-12-16 14:47:52,219 [main-SendThread(127.0.0.1:2181)] WARN  org.apache.zookeeper.ClientCnxn$SendThread (ClientCnxn.java:1161) - Session 0x1766a4799830001 for server localhost/127.0.0.1:2181, unexpected error, closing socket connection and attempting reconnect
java.io.IOException: Packet len5605464 is out of range!
        at org.apache.zookeeper.ClientCnxn$SendThread.readLength(ClientCnxn.java:710)
        at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:869)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1130)
阅读全文 »

Zookeeper 介绍

ZooKeeper 是 Hadoop 的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

阅读全文 »

iostat 介绍

iostat 命令 被用于监视系统输入输出设备和 CPU 的使用情况。

它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。

同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

阅读全文 »

JPA 介绍

JPA 顾名思义就是 Java Persistence API 的意思,是 JDK 5.0 注解或 XML 描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

JPA 具有如下优势:

  1. 标准化

    JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于 JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。

  2. 容器级特性的支持

    JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。

  3. 简单方便

    JPA 的主要目标之一就是提供更加简单的编程模型:在 JPA 框架下创建实体和创建 Java 类一样简单,没有任何的约束和限制,只需要使用 javax.persistence.Entity 进行注释,JPA 的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易的掌握。JPA 基于非侵入式原则设计,因此可以很容易的和其它框架或者容器集成。

  4. 查询能力

    JPA 的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是 Hibernate HQL 的等价物。JPA 定义了独特的 JPQL(Java Persistence Query Language),JPQL 是 EJB QL 的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。

  5. 高级特性

    JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。

阅读全文 »

MySQL 提供了一个 Explain 命令,它可以对 SELECT 语句进行分析,并输出 SELECT 执行的详细信息,以供开发人员针对性优化.

EXPLAIN 命令用法十分简单,在 SELECT 语句前加上 Explain 就可以了,例如:

EXPLAIN SELECT * from user_info WHERE id < 300;
阅读全文 »

目前 JAVA 实现 HTTP 请求的方法用的最多的有两种:

  • 通过 HTTPClient 这种第三方的开源框架去实现。

    HTTPClient 对 HTTP 的封装性比较不错,通过它基本上能够满足我们大部分的需求。

    • HttpClient3.1 是 org.apache.commons.httpclient 下操作远程 url 的工具包,虽然已不再更新,但实现工作中使用 httpClient3.1 的代码还是很多。
    • HttpClient4.5 是 org.apache.http.client 下操作远程 url 的工具包,最新的。
  • 通过 HttpURLConnection 去实现

    HttpURLConnection 是 JAVA 的标准类,是 JAVA 比较原生的一种实现方式。

阅读全文 »