摘要: 学习python,发现装饰器是一个比较难理解的地方。下面用代码来说明。装饰器的作用是为了切面编程(AOP)。这种编程在java上有很多实现方式。下面直接说明吧:1.作为装饰器的函数至少有两个def。并且最外层的def有且仅有一个参数,也就是像下面的这样: def decorateDemo(fun):... 阅读全文
posted @ 2015-08-07 09:55 lxzh504 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 类的序列化需要支持Serializable接口,如果类支持序列化,可以通过ObjectOutPutStream和ObjectInputStream将对象和Stream之间进行方便的转换。 首先来 看一下ObjectOutPutStream和ObjectInputStream的构造函数和常用方法: public ObjectOutputStream(OutputStream out) throw... 阅读全文
posted @ 2014-08-20 17:00 lxzh504 阅读(10644) 评论(0) 推荐(0) 编辑
摘要: netty作为nio应用的典范,在很多设计方面都值得我们在程序开发中学习。 1.事件驱动,三种事件的传播机制。一种是在channel上触发,一种是在pipeline上触发,一种是在context上触发。其中前两种触发的事件都会在整个pipeline上进行传播,第三种事件在context后的handler上执行。 2.为了是用户编写handler方便,开发的时候直接继承adapter,将hand... 阅读全文
posted @ 2014-08-05 16:00 lxzh504 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 1.首先在命令行输入mysql,看一下本地计算机上是否有mysql。 2.卸载mysql服务: 首先查看安装的rpm的包:rpm –qa |grep mysql 对之前的服务进行删除。rpm –e mysql –server yum –y remove mysql-lib-5.1.52*。 3.下载rmp包,包括三个:devel,server,client。 使用命令 rpm –... 阅读全文
posted @ 2014-06-19 17:00 lxzh504 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 好久时间没有用oracle,这次因为有个项目的需要,又重新温习了一下oracle。我使用的oracle的版本是windows oracle 11g_R2.首先先说一下安装。这个没有太大的问题,主要是安装的时候。有一个填写的地方。在这里的时候会建立一个数据库。名称叫orcl。创建服务端的监听程序。使用... 阅读全文
posted @ 2014-05-16 17:57 lxzh504 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 1.内存设置(VM参数调优)(1).Windows环境下,是tomcat解压版(执行startup.bat启动tomcat) ,解决办法:修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms512m -Xmx512m-XX:PermSize=128M -XX:MaxNewSize=256m-XX:MaxPermSize=512m备注:一定加在catalina.bat最前面。(2).Windows环境下,是tomcat安装版(利用windows的系统服务启动tomcat),解决办法:修改注册表HKEY_LOCAL_ 阅读全文
posted @ 2014-01-20 18:26 lxzh504 阅读(20012) 评论(0) 推荐(4) 编辑
摘要: 1.为什么使用selector? selector是javaNIO中的能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。事实上,可以只用一个线程处理所有的通道。增加系统的吞吐量,提高服务性能。 2.selector的创建 selector的创建是通过静态方法open来进行创建一个系统默认配置的selector。也可通过调用自定义选择器提供程序的 openSel... 阅读全文
posted @ 2013-07-31 10:51 lxzh504 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 用了很久,写一些随笔。 Buffer是javaNio中的一个主要对象,用来向channel发送数据。 buffer中有三个概念需要记着: position:现在指针所在的位置。 limit:可以读写的最大范围。 capacity:总的容量大小。 几个常用的方法: flip():将buffer由写模式转换到读模式。在读模式下,可以读取之前写入到buffer的所有数据。其实就是limit... 阅读全文
posted @ 2013-07-31 09:27 lxzh504 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 流:所谓“流”,就是指能够产生数据的数据源或者是指能够接收数据的数据源。可以将“流”想象成水龙头。 输入流是指能够产生数据的流,就像水龙头的出水口,比如以inputstrem或Reader结尾的类。既然是输出的流,里面存放的就是有可以输出的东西,通过read方法,可以将存放在流里面的东西输出到指定的字节数组或者字符数组之中。 输出流是指能够接收数据的流,就像水龙头的进水口,比如以... 阅读全文
posted @ 2013-07-31 09:18 lxzh504 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 设计类的时候应该是有管理类(控制类),边界类和实体类。在类里面进行操作的时候应该遵循单一职责原则,什么叫做单一职责原则,也就是引起类变化的只有一个原因,我感觉这句话等于白说,基本上不知道这是什么意思。我感觉还是应该分情况来说: 类都有两种属性:状态和职责。 对于实体类来说,状态就是它能够反映给外面的。 实体类没有职责,可能有的一个不错的职责就是tostring方法吧。 管理类就是管理一个实... 阅读全文
posted @ 2013-05-24 09:40 lxzh504 阅读(303) 评论(0) 推荐(0) 编辑