`
王浩洋
  • 浏览: 16554 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
 1.首先是客户端和服务端的过滤器要一致,此问题容易导致异常: java.nio.charset.MalformedInputException     //创建接受数据的过滤器 DefaultIoFilterChainBuilder chain = connector.getFilterChain(); //设定这个过滤器将一行一行(/r/n)的读取数据 chain.addLast("myChin", new ProtocolCodecFilter(new TextLineCodecFactory())); //这个是传递字符串用的解码器,屏蔽掉 c ...

通信协议

       最近学习了通信协议方面的知识,可谓收获很多。总结一句话:无协议不通信,可想定义协议是多么重要的一件事啊。协议有很多种,例如TCP/IP,UDP,ARP,OICQ,HTTP等等。        对于协议的学习,有一个很有趣的软件wires ...
1.通信原理 服务器端 1.先建立一个ServerSocket,等待客户端连接                 2.当有客户端连接时,建立连接,为连接多个客户端,我们创建一个线程处理客户端发来的请求                 3.完成通信后,服务器关闭此连接 //根据端口号实例化ServerSocket类的一个对象 ServerSocket server = new ServerSocket(8888); while(flag){ // 等待客户机连接进入,进入后实例化一个客户机Socket对象 Socket client = server. ...
最优二叉树之哈弗曼树    哈弗曼树是一类带全路径最短的树,所以又称为最优二叉树。构造这种树的算法最早是由哈弗曼提出,这种树在现在有着广泛的应用。例如文件压缩啦,信息检索啦...    下面先谈谈哈弗曼树的构建,举个例子来说吧。根据一段字符串构建一棵哈夫曼树,出现的每个字符都代表着树叶的值,字符出现的次数代表其权值,下面是具体的步骤:    1.根据字符和出现的次数(权值)创建节点,并把节点都存放到一个队列中。    2.每次从队列中取出2个权值最小的节点作为左,右子数构建一个新的节点,新的节点的权值为他们两个权值的和。    3.将新的节点加入到刚才的队列中,删除原来两个权值最小的节点。    ...
文件各种流和复制 1.字节流 通过读取字节的方式进行文件的输入和输出,用到的类为InputStream和OutputStream, 相应的操作就是调用相应的方法,下面为示例代码,都比较简单   1)输入流应用代码 import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class InputDemo { /** * 主函数 * @throws IOExcepti ...

文件小知识

    博客分类:
  • java
文件小知识 1.文件的创建和删除   运用File类的createNewFile()和delete()方法 示例代码如下: import java.io.File; import java.io.IOException; public class FileDemo { /** * 主函数 * */ public static void main(String[] args) { // 创建一个File对象 File f = new File("g:\\test.txt"); if (!f.exists()) { ...
1.什么是链表     链表是一种物理储存单元上非连续,非顺序的储存结构,链表由一系列节点组成,节点可以在运行 时动态生成。每个节点包括两个部分:一个是储存元素数据的数据域,另一个是储存下一个节点地址的指针域。 2.链表的构建 下面以一个双向链表为例构建链表 首先定义一个链表接口,代码如下: public interface NodeLinkedListInterface { /** * 添加节点的方法 * * @param node新添加的节点对象 */ public abstract void add(Node node); /** * 在 ...

队列小结

    博客分类:
  • java
队列总结 1.为什么要使用队列?   由于数组的长度是固定的,因此对于要再添加数据的情况下,数组就不能使用了,因此要用 队列来实现 2.队列的定义   1)首先要定义队列接口 示例如下代码: public interface JavaList<E>{ //获取队列长度 public int size(); //向队列尾部添加元素 public void add(E e); //获取指定下标位置的元素 public E get(int index); }   2)队列的实现 示例如下代码: public class CustomList<E& ...

数组总结

    博客分类:
  • java
数组总结 1.数组是什么?   数组是一个能存放多个相同类型数据且长度固定的容器,是java最基本的数据结构。 2.数组的定义方法   有三种,常用的就两种:      1.数据类型 [ ]数组名=new 数据类型[长度]; 如:int [ ]array=new int[10];      2.数据类型 [ ]数组名={数据1,数据2,...}; 如:int [ ]array={1,3,4,2,5};     第三种不常用,定义方式如下:        数据类型 [ ]数组名=new 数据类型[ ]{数据1,数据2,...};      如:int [ ]array=new int[ ]{ ...
1.什么是线程?   线程可以理解为“程序内部一个独立的运行单位”。学习多线程之前,我们编写的程序 都是单线程,基本模式如下: public void ma(){ mb(); mc(); System.out.println("执行了"+ma);} public void mb(){ md(); System.out.println("执行了"+mb);} public void mc(){ System.out.println("执行了"+mc);} public void md(){ System.out.p ...

类的继承

    博客分类:
  • java
类的继承 1.类的继承的格式:     public class 子类名 extends 父类名{} 2.继承到了什么:    子类继承了父类所有的方法和属性,调用的时候需要分情况  说明。     1.子类和父类在同一个包下: 默认的、受保护的、公有的属 ...

Swing组件

    博客分类:
  • java
Swing组件是java中的图形组件,用来开发图形界面的。 1.常用的两类组件   1)容器组件(可以存放其他组件)     如:   JFrame     窗体类 JPanel     面板类 JMenuBar   菜单栏类 JMenu      菜单类   2)元素组件     如:   JLable            标签类 JButton    按钮类 JTextField  输入框类 JPasswordField     密码输入框类 JCheckBox           复选框类 JComboBox          下拉框类 JMenuItem   ...
类和对象 1.什么是类?什么是对象? 类:具有相同或相似的特征的一类事物的总称,如人,篮球 对象:指的是具体的某一实物,如北京水立方,北京故宫 2.类的定义 定义格式: public class 类名{} 注意:类名要与文件名一致 3. ...
   这片文章主要关于统计每个字符在字符串中出现次数的程序算法,下面 是我的代码示例:public class Count { public static void main(String[] args) { String str = "euriyui3743289^%^&*&DJHK2312"; Count count = new Count(); for (int i = 0; i < str.length(); i++) { int n = 0; for (int j = 0; j < i; j++) { ...
1.java基本数据类型 大致可以分为两类即原始类型和对象类型,后者是由类产生的对象类型。 下面具体详解一下原始类型,原始类型共有8种(如下):     1.byte   字节型     8bits   -2^7~2^7-1    2.int      整型      32bits  -2^31~2^31-1    3.short   短整型    16bits  -2^15~2^15-1    4.long    长整型    64bits  -2^63~2^63-1    5.char    字符型    16bits  0~2^16-1    6.float   浮点型    32bit ...
Global site tag (gtag.js) - Google Analytics