您的位置:首页 > 编程语言 > Java开发

Distributed System Project II: 一些笔记

2017-03-06 22:25 267 查看
用什么去读取Socket的内容?

读取Soctket用的DataInputStream和DataOutputStream类:

可以以编码的形式读写:readUTF() 和 writeUTF(String str),也可以使用byte:

public final int read(byte[] b)

public void write(byte[] b)

这样做需要考虑byte数组的越界问题,首先你需要创建一个byte数组,数组是规定了大小的。例如256长度的数组,但是read返回的int是实际读取的长度。当长度小于256时,数组当中有许多0在后面,对于后续处理十分不方便。

所以,需要使用byte[] copy = Arrays.copyOfRange(src, 0, length);来获取一个新的数组。注意Java的边界一般都是前闭后开。

JSON是什么?如何使用JSON?

JSON是一种格式描述语言,之所以用它是因为它是java script的产品,同时方便传输,占用带宽不多。它主要用来包装数据,然后传输。包装的形式和HashMap一个思想,利用key-value的形式。所以,JSONObject是可以用HashMap作为参数初始化的。

关于JSON的科普:

JSON全称JavaScript Object Notation(js对象标记法),由Douglas Crockford在2002年发现并制定了标准。从名称上就可以看出来,JSON是基于JavaScript的,是JavaScript的一个子集。JSON是用JavaScript语法来表示数据的一种轻量级语言。

JSON的一些资料:

API资料:https://stleary.github.io/JSON-java/。

JAR包的下载只需要在网上搜:org.json即可。其中可以使用JSON Object()来包装数据。其中一个构造器接受以map作为参数。利用JSON Object的get和put,我们可以像操作hashmap一样操作JSON Object。关于JSON Object和Map之间的转化,可以看这篇文章:
http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html,其中用到了JavaBean。什么是JavaBean呢?JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。
可以通过JSONObject的toString来生成JSON格式的字符串用以其它用途(例如直接传输)。

如何利用Eclipse生成Javadoc文档:

利用eclipse生成Java Doc文件。方法如下:

使用eclipse生成文档(javadoc)主要有三种方法: 

1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步。 

在Javadoc Generation对话框中有两个地方要注意的: 

javadoc command:应该选择jdk的bin/javadoc.exe 

destination:为生成文档的保存路径,可自由选择。 

按finish(完成)提交即可开始生成文档。 

2,用菜单选择:File->Export(文件->导出), 

剩下的步骤和第一种方法是一样的。 

3,选中要生成文档的项目,然后用菜单选择, 

Project->Generate Javadoc直接进入Javadoc Generation对话框,剩余的步骤就和第一种方法在Javadoc Generation对话框开始是一样的。

在Eclipse如何导入外部JAR包?

有两种常用的方法。

1. 以外部包(External Archives)的形式导入。

在默认位于 Eclipse 窗口左侧的 Package Explorer 中,右键项目名,点击 Build Path 项下的 Add External Archives。 然后在弹出的文件选择窗口中选中 acm.jar 即可。

这种方法适用于导入单个的 jar 包。

2. 以 User Library 的形式导入。

User Library 即用户类库,用来组织多个 jar 包。

在默认位于 Eclipse 窗口左侧的 Package Explorer 中,右键项目名,点击 Build Path 项下的 Add Libraries。 在弹出的窗口中选中 User Library 并点击下一步。在新出现的窗口(窗口一)中,点击位于右侧的 User Libraries... 按钮进入 User Library Preferences 窗口。接着,点击 New 按钮,输入用户类库名称,例如 『ACM』,点击 OK。然后单击选中新创建的用户类库,点击右侧的 Add JARs 按钮,选中一个或多个
jar 文件,点 OK。接下来,返回窗口一中选中刚刚新创建的用户类库,点击 OK 即可。

这种方法适用于多个 jar 包的导入。

在Javac和Java的时候如何导入jar包 (linux下):

javac -cp /root/abc.jar: ~/Test.java

java -cp /root/abc.jar: ~/Test

如何检查一个字符串里面是否都是ASCII字符?

自己做的办法是:把每一个char都转型为int,看看是否在[0, 128)之内。

当然,stackoverflow上向我们展示了google的google java核心工程 —— Guava项目是Google Java工程的核心基础类库,主要包括:集合,缓存,原始类型扩展,并发,注解,字符串处理,IO等等。谷人希不愧是人类的希望,Guava不大五脏俱全,里面有很多令人赞叹的代码,读后有种原来Java也可以这么优雅的感觉。里面有一个:

boolean isAscii = CharMatcher.ASCII.matchesAllOf(someString);

From Guava 19.0 on, you should use CharMatcher.ascii() instead.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  eclipse javadoc