当前搜索:

[Thrift]Apache Thrift入门Java实例

1. 概述 Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。本文将从 Java 开发人员角度详细介绍 Apache Thrift 的架构、开发和部署,并且针对不同的传输协议和服务类型给出相应的 Java 实例,同时详细介绍 Thrift 异步客户端的实现,最后提出使用 Thrift 需要注意的事项。 目前流行的服务调用方式有很多...
阅读(4223) 评论(0)

[Avro]Avro入门例子

1. Maven配置 pom.xml xml version="1.0" encoding="UTF-8"?> xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http...
阅读(1312) 评论(0)

[Java开发之路](26)Cookie机制

1. Cookie机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不...
阅读(1448) 评论(0)

[NIO日记](3)Channel

Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示: 1. Channel实现 这些是Java NIO中最...
阅读(452) 评论(0)

[NIO日记](2)NIO vs IO

我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。 1. Java NIO和IO的主要区别  下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。 IO NIO Stream oriented Buffer o...
阅读(433) 评论(0)

[NIO日记](1)Java NIO概述

Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但是Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在单...
阅读(569) 评论(0)

[Java开发之路](25)引用类型

1. 强引用 Java中的引用,类似于C++的指针。通过引用,可以对堆中的对象进行操作。在某个函数中,当创建了一个对象,该对象被分配在堆中,通过这个对象的引用才能对这个对象进行操作。 StringBuffer str = new StringBuffer("hello world"); 假设以上代码是在函数体内运行的,那么局部变量str将被分配在栈上,而对象StringBuffer实...
阅读(870) 评论(0)

[Java开发之路](24)内部类

在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。 1. 成员内部类 成员内部类是定义在另一个类内部的类。 package com.qunar.fresh;/** * Created by xiaosi on 16-3-29....
阅读(1114) 评论(0)

[Java开发之路](23)装箱与拆箱

1. 简介 大家对基本数据类型都非常熟悉,例如 int、float、double、boolean、char 等。基本数据类型是不具备对象的特性,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。  对象包装类是不变的,即一旦构造了包装类,就不允许更改包装在其中的...
阅读(1150) 评论(0)

[Java开发之路](22)hashcode

Long中有个小小的陷阱,就是在-128至127范围内,Long.valueOf(long l)返回的Long的实例是相同的,而在此范围之外每次使用valueOf(long l)时,返回的实例都是不同的。 举例: System.out.println(Long.valueOf(-129) == Long.valueOf(-129)); // falseSystem.out....
阅读(747) 评论(0)

[Java开发之路](21)Comparator与Comparable

1. Comparable package java.lang;import java.util.*;public interface ComparableT> {    public int compareTo(T o);} 说明: Comparable 是排序接口。若一个类实现了Comparable接口,则该类可以支持排序。 假设现在存在实现Comparable接口的类的实例的L...
阅读(1107) 评论(1)

[Java开发之路](20)try-with-resource 异常声明

Try-with-resources是java7中一个新的异常处理机制,它能够很容易地关闭在try-catch语句块中使用的资源。 在java7以前,程序中使用的资源需要被明确地关闭,过程有点繁琐,如下所示: package com.qunar.lectures.tryResource;import java.io.*;import java.util.ArrayList;import j...
阅读(2360) 评论(0)

[Java开发之路](19)Long缓存问题

Long中有个小小的陷阱,就是在-128至127范围内,Long.valueOf(long l)返回的Long的实例是相同的,而在此范围之外每次使用valueOf(long l)时,返回的实例都是不同的。 举例: System.out.println(Long.valueOf(-129) == Long.valueOf(-129)); // falseSystem.out....
阅读(1601) 评论(0)

[Java开发之路](18)关于Class.getResource和ClassLoader.getResource的路径问题

Java中取资源时,经常用到Class.getResource和ClassLoader.getResource。昨天老师讲解题目时候,问我们为什么你们都是在文件前家上"/": String path = Resources.class.getResource("/a.txt").getPath(); 注:在Resources文件下创建了a.txt文件 我想我反正是试出来的,不使用"/...
阅读(2042) 评论(7)

[Java开发之路](16)学习log4j日志

1. 新建一个Java工程,导入Jar包(log4j-1.2.17.jar) 2. 配置文件:创建并设置log4j.properties # 设置log4j.rootLogger = debug,stdout,D,E # 输出信息到控制台log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4...
阅读(2007) 评论(0)

[Java开发之路](15)注解

1. 简介 注解(也被称为元数据),为我们在代码中添加信息提供了一种形式化的方法。注解在一定程度上是把元数据与源代码文件结合在一起,而不是保存在外部文档中这一大趋势之下所催生的。 它可以提供用来完整的描述程序所需的信息,而这些信息是无法使用Java来表达的。因此,注解使得我们能够以将编译器来测试和验证的格式,存储有关程序的额外信息。注解可以用来生成描述符文件,甚...
阅读(1469) 评论(0)

[Java开发之路](14)反射机制

1. Class类 普通对象构造方式: // 创建Book实例对象Book book = new Book(); 对于Class的实例对象如何构造呢? Class的构造函数是私有的,只有JVM才能创建实例对象 // Class的构造函数是私有的,只有JVM才能创建Class实例对象Class class1 = new Class(); //...
阅读(1465) 评论(0)

[Java开发之路](12)JDOM和DOM4J解析XML文档

1. JDOM解析XML文档 1.1 简介 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来。在使用设计上尽可能地隐藏原来使用XML过程中的复杂性。利用JDOM处...
阅读(1908) 评论(0)

[Java开发之路](11)SAX解析XML文档

1. 简介 Dom解析功能强大,可增删改查,操作时会将XML文档读到内存,因此适用于小文档; SAX解析是从头到尾逐行逐个元素解析,修改较为不便,但适用于只读的大文档; SAX采用事件驱动的方式解析XML。套用网友的解释:如同在电影院看电影一样,从头到尾看一遍,不能回退(Dom可来来回回读取),在看电影的过程中,每遇到一个情节,都会调用大脑去接收处理这些信息。SAX也...
阅读(1524) 评论(0)

[Java开发之路](10)DOM解析XML文档

对象序列化的一个重要限制是它只是Java的解决方案:只有Java程序才能反序列化这种对象。一种更具操作性的解决方案是将数据转化为XML格式,这可以使其被各种各样的平台和语言使用。 1. 简介 DOM 是用与平台和语言无关的方式表示XML文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分...
阅读(1218) 评论(0)
53条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:1379386次
    • 积分:21340
    • 等级:
    • 排名:第398名
    • 原创:623篇
    • 转载:133篇
    • 译文:60篇
    • 评论:182条
    博客专栏
    文章分类
    最新评论