点石互动

导航

 

2013年2月9日

摘要: tomcat启动窗口中的时间与系统时间不一致,比的系统时间慢8个小时,应该如何设置?产生原因是因为Tomcat中的时区设置与操作系统的时区设置不一致,通过修改Tomcat根目录下的bin文件夹中的catalina.bat文件, 增加以下配置解决问题: set JAVA_OPTS=%JAVA_OPTS% -Duser.timezone=GMT+08 即将时区设置为北京时区(可根据实际所在时区进行设置) 阅读全文
posted @ 2013-02-09 11:48 点石互动 阅读(239) 评论(0) 推荐(0) 编辑
 
摘要: Annotation其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。annotation提供可一条为程序元素设置元数据的方法,从某种方面来看,annotation就像修饰一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量。annotation必须使用工具来处理,工具负责提取annotation里包含的元数据,工具还会根据这些元数据增加额外的功能。java提供的三个基本a 阅读全文
posted @ 2013-02-09 11:48 点石互动 阅读(233) 评论(0) 推荐(0) 编辑
 
摘要: 原文发于http://blog.thihy.info/post/119,转载请注明出处。本文是在学习正则表达式过程中整理的,虽然冠以“教程”,但实际上应该算是学习笔记。整篇文章需要对正则有一定的理解。。如果有啥写得不对的,或者写得不够清楚的,欢迎大家留言讨论。概述正则表达式(Regular Expression)是高效的、便捷的文本处理工具,能够快速查询符合某种规范的文本。例如:[0-9]{3}可以匹配3位数字,[a-z]{3}则可以匹配3个小写字母。目前正则表达式被众多工具所支持,比如egrep、sed、perl、ruby、Java、C#、python、Tcl等,不同的工具下,正在表达式的范 阅读全文
posted @ 2013-02-09 11:47 点石互动 阅读(261) 评论(0) 推荐(0) 编辑
 
摘要: 1、核心意图: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求 排队或记录请求日志,以及支持可撤消的操作。 2、command模式构成: • 客户角色(Client):创建一个具体命令对象,并确定其接收者 • 命令角色(Command):声明一个给所有具体命令类的抽象接口。这是一个抽象角色,通常由一个接口 或抽象类实现 • 具体命令角色(ConcreteCommand):定义一个接收者和行为之间的弱耦合,实现execute方法,负责调用接收者的相应操作 • 请求者角色(Invoker):负责调用命令对象执行请求。 • 接收者角色(Receiver):负责具体实施和执行 阅读全文
posted @ 2013-02-09 11:47 点石互动 阅读(134) 评论(0) 推荐(0) 编辑
 
摘要: ---------------------- android培训、java培训、期待与您交流! ----------------------继承继承的概述1.多个类中存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需再定义这些属性和行为,只要继承单独的那个类即可。2.多个类可以成为子类,单独这个类称为父类或者超类。3.子类可以直接访问父类中的非私有的属性和行为。4.通过extends关键字让类于类之间产生继承关系,Java代码 如: class SubDemo extends Demo{}class C { void demo1(){} } class A extends. 阅读全文
posted @ 2013-02-09 11:46 点石互动 阅读(178) 评论(0) 推荐(0) 编辑
 
摘要: 经过仔细研究还是决定换回UDP协议(于是前面两天的代码滚蛋了) NIO同样支持udp协议,不过相关的方法调用是有区别的 java的udp端口类是DatagramSocket 因此对应的nio channel类就是DatagramChannel 由于udp是一个无连接的协议,因此服务器端和客户端的代码基本相同。实际上服务器和客户端之间并没有太大区分。所以不存在ServerDatagramChannel这种玩意了,服务器端和客户端都是创建一个DatagramChannel。然后bind一个端口,注册Selector之后就可以打开监听了。注意和SocketChannel的区别有以下几点: 接收数据: 阅读全文
posted @ 2013-02-09 11:46 点石互动 阅读(493) 评论(0) 推荐(0) 编辑
 
摘要: 我个人感觉OSGI表面是为了模块化,但其本质是为了软件设计的永恒主题--复用。从过程式软件设计,到结构化软件设计,再到面向对象的软件设计,再进一步则是面向组件的软件设计。而java在JDK层面上已经提供了很好的面向对象的软件设计基础,但在面向组件的软件设计方面,则需要在更高的应用层面去实现,而没有基础性的实现方式。也就是说,你用java开发,可以基于组件,也可以不基于组件,这全看你的需求和远见,而且即使是实现面向组件的设计,在jdk层面也没有提供统一的方式。(反之,在面向对象方面,jdk则提供了诸如类、private、public、protected、static等等相关的元素)。所以OS.. 阅读全文
posted @ 2013-02-09 11:46 点石互动 阅读(113) 评论(0) 推荐(0) 编辑
 
摘要: 继承: 关键字(extends). class 子类 extends 父类{} 子类继承父类的非private属性和方法 方法重写: 子类若想要从父类中继承的方法实现和父类不同的程序,则可以在子类中重写该方法 如 public class Father{ protect String name; public void setName(String name){ this.name=name; } } public class Son extends Father{ public void setName(String name){ this.name="The name of so 阅读全文
posted @ 2013-02-09 11:45 点石互动 阅读(135) 评论(0) 推荐(0) 编辑
 
摘要: 1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。 2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有 阅读全文
posted @ 2013-02-09 11:45 点石互动 阅读(189) 评论(0) 推荐(0) 编辑
 
摘要: 创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM... 阅读全文
posted @ 2013-02-09 11:44 点石互动 阅读(144) 评论(0) 推荐(0) 编辑