- 浏览: 167898 次
- 性别:
- 来自: 杭州
最新评论
-
小灯笼:
RabbitMQ实战:分布式消息队列高效部署及插件集群开发信息 ...
MQ(一) rabbitmq -
快乐的小六:
分布式消息队列高效部署及插件集群开发信息数据监控、分析实战(R ...
MQ(一) rabbitmq -
lgxjob:
spring schema -
h416373073:
博主写的用心,多谢分享
spring schema -
司马饮之:
顶一个
try catch finally 关闭流标准的写法
文章列表
一.什么是序列化和反序化
对象的序列化是把对象写到一个输出流中。反序列化从这把输入流读取一个对象。
二。为什么要序列化
(1) 把对象持久化到一个文件中。像我们在做单元测试的时候,对于构造好的数据,可以持久化到文件中,这样就不用再从数据库中读取,在数据库中的测试数据很容易被人篡改。
(2) 像RMI,SOCKET,HESSION 等进行网络传输对象的场合,要把对象转成流的形式传递给客户端。而客户端对于取的流(byte[])要进行反序列化。
三。如何进行序列化
实现Serializable 接口
四。Serializable的作用
序列化运行时使用一个称为 serialVersionUID ...
public interface Serializable类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可 ...
JDK Serializable 描述
/**
* Serializability of a class is enabled by the class implementing the
* java.io.Serializable interface. Classes that do not implement this
* interface will not have any of their state serialized or
* deserialized. All subtypes of a serializable class are themselves
* se ...
http://huanyq2008.iteye.com/blog/455988
类的加载:
指把类的.class文件中的二进制数据读入内存中,把它存放在运行时数据区的方法区内,然后 在在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。
类加载器并不需要等到某个类被告“首次主动使用”时再加载它,虚拟机允许类加载器在预料某个类将要调用前预前加载它。如果预先加载过程中遇到.class文件缺失或者存在错误,只有调用时才会抛出错误,如果未被调用,则不会报错。
java可以从多种途径加载类的二进制数据
(1)网络下载的.class
(2)zip,jar包
(3)java源文件编译后的.class
类的加载器可分为两种:
(1)Jvm自带的三类加载器 ...
SQL 是第四代编程语言。特点是并不关心实现细节,只关心想做些什么,需要什么东西。由于这个原因,并不清楚数据库是如何查询,有时写出的SQL往往执行效率低下。比如在一个表中建了索引,由于不注意细节,写出的SQL并不走 ...
1.windows平台下启动和关闭MYSQL 的命令:
启动:方法一:mysql --console 方法二:net start mysql
关闭:方法一:mysqladmin -uroot -p** shutdown
方法二:net stop mysql
2. How MySQL Uses Internal Temporary Tables
see http://dev.mysql.com/doc/refman/5.1/en/internal-temporary-tables.html
3.sql 命令记录
SHOW VARIABLES;
sow statu ...
先说下tmp_table_size吧:
它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:
mysql> show variables like "tmpdir";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| tmpdir ...
由于ORACLE价格昂贵。生产开发中开始转用mysql数据。在开发和学习中碰到了许多问题。在这里做下总结。
一 MYSQL 版本
目前有关4.X ,5.X,6.X
每个版本中又有Standdard,Max,Debug 三个类型
当然又分为windows平台下的和LINUX平台
二 配置文件夹
mysql的数据库的系统配置文件叫做my.ini
新下载的绿色版mysql或者安装后的mysql,在根目录下还有好几个后缀是ini的文件
例:my-huge.ini,my-innodb-heavy-4G.ini,my-large.ini,my-medium.ini,my-small.ini,my-t ...
本文引用自子夜凉风《Struts2中struts.xml的Action配置详解 》
引用
子夜凉风 的 Struts2中struts.xml的Action配置详解
Struts2中struts.xml的Action配置详解
使用package可以将逻辑上相关的一组Action,Result,Interceptor等组件分为一组,Package有些像对象,可以继承其他的Package,也可以被其他package继承,甚至可以定义抽象的Package。
Package的可以使用的属性:
属性
是否必须
说明
name 是 Package的表示,为了让其他的packag ...
struts2学习笔记本,对struts2各个知识点做了简单的整理并附上测试代码。
搭建struts2环境
一.引包:引五个最常最基本的包
(1)commons-logging-1.0.4.jar,
(2)freemarker-2.3.8.jar,
(3)ognl-2.6.11.jar,
(4)struts2-core-2.0.11.jar,
(5)xwork-2.0.4.jar
二.配置web.xml
配置filter
<filter>
<filter-name>struts2</filter-name>
<filter-cla ...
Junit 源码解析(一)之junit运行容器
package org.junit.runner;
public abstract class Runner implements Describable
Runner是JUNIT的运行容器,它是各种Junit运行容器的父类。我们可以把它理解成web容器,spring容器,就是单元测试类所在运行环境。
我们在跑单元测试时,单元测试用例的生命周期就是由runner来控制的。这和其他容器一样。
首先是选择容器,在跑单元测试时,最先构建的是Runner容器。源代码如下:
见AllDefaultPossibilitiesBuilder下的public ...
这里对BlockJUnit4ClassRunner中几个跟写单元测试最相关的几个方法进行分析
(1)构造方法
public BlockJUnit4ClassRunner(Class<?> klass) throws InitializationError {
super(klass);
} 作用:是取得类的声名描述,即Class<?> klass
(2)createTest
protected Object createTest() throws Exception {
return getTestClass().getOnlyConstructo ...
<isEqual property="isNeedPagination" compareValue="true">
LIMIT #preEndNum# , #pageSize#
</isEqual>