
Java学习
文章平均质量分 66
伯猫大师
人称伯猫大师,独步武林。
展开
-
Java抽象类和接口的比较
class Car {setDriver(DriverLicence driver);}abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽转载 2012-06-19 11:09:09 · 795 阅读 · 0 评论 -
Java NIO 技术要点
问题:系统运行瓶颈,I/O读写,因为打开一个I/O通道以后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO解决方案:采用非阻塞技术,采取Reactor模式或者观察者模式,等到内容进来再自动通知,而不必死等,使I/O读写通畅,不原创 2014-02-11 10:09:39 · 630 阅读 · 0 评论 -
TCP和UDP的主要区别
TCP,可靠传输协议,发送数据需要确认对方是否收到数据。UDP,用户数据协议,发送的数据不需要对方确认。Socket是java API,不是协议,一般实现TCP或者UDP可以用socket来进行编程。客户端与服务端通过socket套字节连接后都会返回一个实例对象,分别保存这个对象,就相当于保存的对方的地址。不同的客户端连接到服务器,得到的对象都是不同的。服务端要发信息直接拿原创 2014-02-10 16:53:57 · 520 阅读 · 0 评论 -
阻塞模式和非阻塞模式
何为阻塞? 从该网络通讯过程来理解一下何为阻塞 : 在以上过程中若连接还没到来,那么 accept 会阻塞 , 程序运行到这里不得不挂起, CPU 转而执行其他线程。 在以上过程中若数据还没准备好, read 会一样也会阻塞。 阻塞式网络 IO 的特点:多线程处理多个连接。每个线程拥有自己的栈空间并且占用一些 CPU 时间。每个线程遇到外部为准备好的时候,都会阻塞掉转载 2014-02-10 17:36:08 · 618 阅读 · 0 评论 -
Java中值传递探讨
写在开头:Java中只有传值。所谓传值和传引用传值和传引用的问题一直是Java里争论的话题。与C++不同的,Java里面没有指针的概念,Java的设计者巧妙的对指针的操作进行了管理。事实上,在懂C++的Java程序员眼中,Java到处都是精美绝伦的指针。下面举个简单的例子,说明什么是传值,什么是传引用。//例1void method1(){int x=0;this.cha转载 2012-09-21 14:34:22 · 434 阅读 · 0 评论 -
ScheduledExecutorService接口的学习和使用
ScheduledExecutorService扩展了ExecutorService接口,提供时间排程的功能。实验结果:实验源码:import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.Executors;import java.u原创 2012-10-09 14:36:53 · 408 阅读 · 0 评论 -
Annotation
Java 中的Annotation@Override 用于修饰此方法覆盖了父类的方法(而非重载) ,父类中没有这个方法时,编译器将会报错@Deprecated 告诉编译器这个元素或者方法已经废止不再使用,系统不赞成使用的方法@SuppressWarnings 告诉编译器消除不再提示Warnings,建议尽量少使用这个annotati原创 2012-10-08 16:58:13 · 347 阅读 · 0 评论 -
Java中的static详解
有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最原创 2012-06-15 12:12:12 · 405 阅读 · 0 评论 -
设计模式之——命令(Command)模式
一、 命令(Command)模式命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割转载 2012-09-06 14:09:45 · 476 阅读 · 0 评论 -
Apache-ftpserver在eclipse下的部署和使用
Apache出了一款纯JAVA写的新的项目,叫Apache-FTP Server,目前的版本为1.0.5。在http://mina.apache.org/ftpserver/downloads.html可以下到Apache FTP Server的最新的一个版本。直接下ftpserver-1.0.5-src.zip,里面包括发布的版本和源代码。 如果是单纯使用,只需要加压下载的压缩包,原创 2012-09-03 10:32:21 · 2158 阅读 · 1 评论 -
如何让全局常量通过外部文件properties来加载
如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static 块仅在该类被加载时执行一次。 通常我们会在项目中写很多常量,供整个系统使用,一般来说,我们写在一个interface或者final class里面,然后在里面定义一些final static常量。一般的小系统,这样的常量不会太多,我们简单地写在类里面就可以了。但是在大项目中,第一可能会有很多的原创 2012-09-03 18:59:24 · 3401 阅读 · 0 评论 -
Java的MD5加密解密
简单demo:Java代码 import java.security.*; import java.security.spec.*; class MD5_test { public final static String MD5(String s) { char hexDigits[] = { '0' ,转载 2012-08-31 16:24:03 · 1279 阅读 · 0 评论 -
Struts2拦截器Interceptor学习笔记
2012/6/26 星期二 天气阴有雨今天详细讲解一下Struts中的拦截器的作用和用法。拦截器是Struts2的一个重要的概念,Struts中有80%的功能都通过拦截器实现。意义:完成更高层次的解耦,无须侵入框架本身即可添加新的功能。拦截器是AOP的一个实现,底层通过动态代理模式完成。拦截器是Action的拦截器,可以将一些重用功能放到拦截器中,降低Action的复杂性,提高原创 2012-06-26 14:56:37 · 571 阅读 · 0 评论 -
【伯猫Java教程】网页游戏开发过程——Java与Flex的通信过程
提到通信,就要考虑两个问题——1、通信协议的选择;2、数据协议的定义;通信协议:TCP、UDP、HTTP、FTP等等。数据协议:json、xml、amf3等。通信过程的开发并不简单,要开发一个健壮的通信系统,才能保证游戏的健康运行,一般在开发过程中要考虑下面几个问题。1、通信粘包的处理原创 2015-07-02 10:33:27 · 853 阅读 · 0 评论