自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学而不思则罔,思而不学则怠

对每天所学的记录

  • 博客(22)
  • 收藏
  • 关注

原创 Java常用类之枚举类型

枚举类型(1)只能够取特定值中的一个(2)使用enum关键字(3)是java.lang.Enum类型public class EnumDemo { //定义了一个Color类型,里面可以取3个任意的值 public enum Color {red,green,blue}; public static void main(String[] args) { Color color = Col...

2018-03-30 15:10:07 160

原创 Java常用类包装类之自动装箱自动拆箱

1.自动装箱:基本数据类型---》对象(包装类)Integer i1 = 2;//自动装箱本质上JVM调用了:Integer li = Integer.valueOf(2);2.自动拆箱:  包装类---》基本数据类型System.out.println(i1+2);//3本质:i1.intValue()+2PS:所谓自动,就是说这个过程并不需要程序员去完成,而是jvm自动完成的,jvm会在编译期...

2018-03-30 09:36:45 171

原创 Java常用类之String、StringBuilder、StringBuffer

一、StringString的三种创建方式// String str1 = "123";// String str2 = "123";// System.out.println(str1==str2);//true// // String str1 = new String("123");// String str2 = new String("123");// Syst...

2018-03-30 09:31:44 200

原创 工作周结之正则表达式

先不讲正则表达式是怎么拼的,先讲怎么用。我之前没用过,所以正则可以百度,有各种规则是写好的,重点是怎么用第一种用法:// 要验证的字符串 String str = "service@xsoftlab.net"; // 邮箱验证规则 String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-...

2018-03-27 15:32:21 161

原创 工作周结之读写文件

一、读取文件有两种方式,一是从缓冲流里读,一种是Scanner读取。前者是读取普通文件,先获取全部内容到缓冲流里,然后依次读取。后者适合读取大文件,读一行,取一行。推荐后者/** * 通过缓冲流读取文件 * @param path */ public static void normal(String path){ File file = new File(path); i...

2018-03-25 16:39:54 188

原创 工作周结设计模式之单例模式

单例模式意思就是只能创建一个对象。这样做的好处是确保所有的引用访问的都是同一个内存空间并且节约了系统资源。但是在多线程中要小心使用。若一个用户获得该对象并对成员变量进行操作,下一个用户进来操作同一快内存,若有所操作,上一个用户还没操作完,容易发生错误。可以对该变量加互斥锁,但是这样效率会很低。推荐使用threadLocal饿汉式:很着急初始化,类加载时就创建对象。public class Test...

2018-03-25 15:43:23 156

原创 工作周结设计模式之模板模式

模板模式一般做一件事都会有步骤,先后顺序。模板模式是抽象父类定义了一些抽象方法,这些是子类需要实现重写的,每个子类做这个步骤都是不同的。还可以有公共的方法,就是大家都要做的,做的都是相同的。例如上学,一般步骤是起床、吃饭、坐车。每个人起床方式不同,可能是闹钟叫醒的,可能是老妈叫醒的。吃的早餐也会各式各样,但大家都是坐班车,这个一样的。抽象父类:public abstract class Schoo...

2018-03-25 15:08:36 171

原创 工作周结设计模式之策略模式

策略模式    写代码时总会出很多的if…else,或者case。如果在一个条件语句中又包含了多个条件语句就会使得代码变得臃肿,维护的成本也会加大,而策略模式就能较好的解决这个问题。需求:判断如果身高,年龄,体重    接口:public interface Judge { public Boolean judge(Person p);}   实现类:public class HeightJu...

2018-03-25 14:49:34 171

原创 java之异常

1.异常:在程序运行期间发生的错误2.Java运行期间如果有异常,会生成异常对象,该对象包含异常信息,提交给运行系统,这个过程叫抛出异常。3.如果运行系统接收到异常对象会交给能处理的代码,叫捕获4.异常的分类 Throwable Error              Exception                  捕获       RuntimeException  Error...

2018-03-18 22:18:14 155

原创 Java之面向对象

1.引用    C c1 = new C();    c1 是一个局部变量 存储在stack    new C();存储在heap  c1指向该对象  java中的对象是通过引用对其操作的    C是一个类,是静态的概念,存储在代码区 例如:Class C{    int i;    int j;    main(){ C c1 = new C(); C c2 = new C();    }}st...

2018-03-18 09:41:12 114

原创 Java之基本语法

1.标识符命名规则    1)字母、数字、下划线、$    2)不能以数字开头    3)区分大小写    4)不能和关键字重名    驼峰式:userName    帕斯卡:UserName    下划线:user_name    匈牙利  SimpleDateFormat  sdf  注意:最好见名知意2.变量的本质    变量其实是内存中的一小块区域,通过变量名来访问这块区域,因此每个变量使...

2018-03-18 09:35:42 121

原创 JAVA简介

一、JAVA简介    1.核心机制之虚拟机        (1)JVM可以理解成一个以字节码为机器指令的cpu        (2)对于不同的运行平台,有不同的虚拟机        (3)实现了一次编译,随处运行     .java文件(源码)--》编译(javac)--》.class文件(字节码,二进制,计算机可以理解)--》执行-->JVM for UNIX   JVM for Win...

2018-03-18 09:31:21 980

原创 十-Mina学习之自定义协议介绍

1.自定义的编解码工厂    要实现编解码工厂就要实现ProtocolCodecFactory这个接口2.自定义的编解码器    1.实现自定义的解码器:实现ProtocolDecoder接口    2.实现自定义的编码器:实现ProtocolEncoder接口步骤:先获得工厂,再获得编解码器。 3.为什么要使用自定义的编解码器    在实际工作中不是一个字符串就可以传输所有数据,我们传输的是自定...

2018-03-14 09:52:09 431

原创 九-Mina学习之IOBuffer接口

1.IOBuffer    基于javaNio的ByteBuffer做了封装,用户操作缓冲区的数据,包括基本数据类型,字节数组和对象,其本质就是一个可扩展动态的Byte数组。2.IOBuffer的索引属性    Capacity:代表当前缓冲区的大小    Position:理解成当前读写位置,也可以理解成下一个可读数据单位的位置。Position<=Capacity的时候可以完成数据的读写...

2018-03-08 11:44:55 1432 2

原创 八-Mina学习之IOProcessor接口

1.IOProcessor    是以NIO为基础实现的,以多线程的方式来完成我们的读写操作。    作用:是为Filter读写原始数据的多线程环境。如果Mina不去实现,我们自己来实现NIO的话,需要我们自己写一个非阻塞的读写环境。2.配置Processor的多线程环境    1)通过NioSocketAcceptor(int processorcount)构造函数可以指定线程的个数    2)...

2018-03-08 11:17:13 569

原创 七-Mina学习之IOSession接口

1.IOSession    主要是网络通信双方建立连接之间的描述。    作用:可以完成对于连接的一些管理,可以发送或者读取数据,并且可以设置会话的上下文信息。2.SessionConfig    提供我们对连接的配置信息的描述。可以设置读写缓冲区,读和写的空闲时间,设置读写超时信息。3.API    IOSesson:        write(Object message);发送数据    ...

2018-03-07 18:05:50 3860

原创 六-Mina学习之IOFilter接口

1.IOFilter    对应用程序和网络的传输,就是二进制数据和对象之间的转换,有相应的解码和编码器。这也是过滤器的一种,还可以做日志、消息确认等功能。2.IOFilter类图    是在应用层和业务层之间的过滤层3.完成自定义的过滤器    就是在往Handler处理之前,需要调用相应的过滤器进行过滤。    Client:业务Handler之前会调用过滤器。    server:同样在接收...

2018-03-07 17:34:27 339

原创 五-Mina学习之IOService接口

1.IOService    实现了对网络通信的客户端和服务端之间的抽象,用于描述客户端的子接口IOConnector和服务端的子接口IOAcceptor2.IOService的作用    可以管理我们网络通信的客户端和服务端,并且可以管理双方连接的会话session,同样可以添加过滤器。3.类结构    可以通过扩展子接口和抽象的子类以达到扩展的目的。                      ...

2018-03-07 15:50:47 225

原创 四-Mina学习之长短连接

1.长连接    通信双方长期的保持一个连接状态不断开。例如qq,当我们登录qq的时候,连接腾讯服务器,一旦建立连接,就不断开。除非发生异常。对于长连接比较耗费资源。2.短连接    通信双方不是保持一个长期的连接状态。例如http协议。客户端发起http请求,服务端处理http请求。当服务器处理完请求返回给客户端数据后就断开连接。对于下次的连接请求需要重新发起。这种方式使我们现在常使用的方式。3...

2018-03-07 15:16:12 373

原创 三-Mina整体体系结构分析

1.Mina在应用程序中的作用    主要屏蔽了一些网络通信的细节,封装了socket,并且是NIO的一个实现架构,可以帮助我们快速开发网络通信。常常用于游戏开发、中间件等服务端程序。2.一些接口和实现类    IOService:用于描述客户端和服务端,其子类是connector和acceptor,分别用于描述客户端和服务端。    IOProcessor:多线程环境,来处理我们的连接请求流程。...

2018-03-07 14:56:56 213

原创 二-通过Mina写一个简单的入门级别客户端程序

上篇文章中是用telnet来访问服务端的,这篇文章会通过Mina来写一个客户端的程序。闲话少说,先附上代码:public class MinaClient { private static IoSession session = null; private static String host = "127.0.0.1";//ip地址 private static int port = 70...

2018-03-06 16:34:08 223

原创 一-通过Mina写一个简单的入门级服务端程序

1.Mina概述    Mina是apache 开发的开源的网络通信框架,基于javaNIO来实现。2.需要的jar包    commons-logging-1.1.1.jar    log4j-1.2.17.jar        mina-core-2.0.7.jar    slf4j-api-1.7.2.jar3.编码解码    应用程序:是java对象或者是基本数据类型,传到网络需要解码成二...

2018-03-06 15:26:32 683

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除