【文件属性】:
文件名称:测试连接-神策数据-大数据分析
文件大小:6.51MB
文件格式:PDF
更新时间:2021-06-08 23:33:27
OF深入浅出
一、测试连接
编写客户端连接代码
publicpublicpublicpublic staticstaticstaticstatic voidvoidvoidvoid main(String[] args) {
//1打开调试
XMPPConnection.DEBUG_ENABLED=truetruetruetrue;
//2申明连接
XMPPConnection conn = newnewnewnew XMPPConnection("127.0.0.1");
trytrytrytry {
//3建立连接
conn.connect();
//登陆
conn.login("703000", "123");
} catchcatchcatchcatch (XMPPException e) {
e.printStackTrace();
}
}
申明连接:
XMPPConnection conn = newnewnewnew XMPPConnection("127.0.0.1");
XMPPConnection继承 Connection抽象类。
在 XmppConnection的构造函数中:
publicpublicpublicpublic XMPPConnection(String serviceName) {
// 创建这个新连接的配置
supersupersupersuper(newnewnewnew ConnectionConfiguration(serviceName));
config.setCompressionEnabled(falsefalsefalsefalse);
config.setSASLAuthenticationEnabled(truetruetruetrue);
config.setDebuggerEnabled(DEBUG_ENABLED);
}
1.它会创建当前连接配置也就是 ConnectionConfiguration该类实现了 Cloneable
接口。Cloneable是一个克隆类。所谓克隆就是复制一个一模一样的类。Java中之所
以有克隆的存在,原因很简单:
� 效率和简单性,简单的 copy一个对象在堆上的的内存比遍历一个对象网然后内存深
copy明显效率高并且简单。
� 不给别的类强加意义。如果 A 实现了 Cloneable,同时有一个引用指向 B,如果直接复
制内存进行深 copy的话,意味着 B在意义上也是支持 Clone的,但是这个是在使用 B
的 A中做的,B甚至都不知道。破坏了 B原有的接口。
� 有可能破坏语义。如果 A实现了 Cloneable,同时有一个引用指向 B,该 B实现为单例
模式,如果直接复制内存进行深 copy的话,破坏了 B的单例模式。
� 方便且更灵活,如果A引用一个不可变对象,则内存 deep copy是一种浪费。Shadow copy
给了程序员更好的灵活性。