有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象,是非常有必要的,而且克隆以后,两个对象互不干扰。
在PHP4中我们使用“clone”这个关键字克隆对象;
在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法。
通常的设置自增字段的方法:
创建表格时添加:
create table table1(id int auto_increment primary key,...)
创建表格后添加:
alter table table1 add id int auto_increment primary key 自增字段
一定要设置为primary key。
一、基本类型
清晰完备的预定义基础类型,使得开发跨平台应用时无须过多考虑符合和长度差异。
类型 | 长度 | 默认值 | 说明 |
---|---|---|---|
bool | 1 | false | |
byte | 1 | 0 | uint8 |
int, uint | 4, 8 | 0 | 默认整数类型,依据目标平台,32 或 64 位 |
int8, uint8 | 1 | 0 | -128 ~ 127,0 ~ 125 |
int16, uint16 | 2 | 0 | -32,768 ~ 32,767,0 ~ 65,535 |
int32, uint32 | 4 | 0 | -21亿 ~ 21亿,0 ~ 42亿 |
int64, uint64 | 8 | 0 | |
float32 | 4 | 0.0 | |
float64 | 8 | 0.0 | 默认浮点数类型 |
从数据库里取N个字段,然后组合到一起用“,”分割显示,起初想到用CONCAT()来处理,好是麻烦,没想到在手册里居然有提到 CONCAT_WS(),非常好用。
CONCAT_WS(separator, str1, str2,...)
它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间
tcp代理,也称为tcp端口转发,工作原理就是,把proxy监听端口进来的tcp连接的数据原样转发到上级监听的一个端口。
这只是简单⽤法,其主要是调⽤jQuery中的ajax⽅法,这⾥写的东西都是给ajax⽅法传递的参数
Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。从而达到网络传输、本地存储的效果。
本文主要要看看JDK中使用Serializable和Externalizable接口来完成Java对象序列化,并给出部分属性序列化的几种方式,最终做出Serializable和Externalizable接口的几个方面的对比。
注:本文不讨论为什么不用第三方工具包完成序列化等~
以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。除jar以外对于J2EE来说还有war和ear。区别见下表:
JAR | WAR | EAR | |
英文 | Java Archive file | Web Archive file | Enterprise Archive file |
包含内容 | class、properties文件,是文件封装的最小单元;包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等 | Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等 | 除了包含JAR、WAR以外,还包括EJB组件 |
部署文件 | application-client.xml | web.xml | application.xml |
容器 | 应用服务器(application servers) | 小型服务程序容器(servlet containers) | EJB容器(EJB containers) |
级别 | 小 | 中 | 大 |