栈:对象的引用;局部变量(参数属于局部变量)(main方法中的属性属于局部变量;方法的形参属于局部变量)
堆:new出来的东西放在堆里;包含成员变量,如p.name, p.age.
类的属性=成员变量,存放在堆内存
方法的参数传递:
1.形参:方法声明时,方法小括号内的参数
实参:调用方法时,实际传入参数的值
2.规则:java中参数的传递机制:值传递
1)形参是基本数据类型:将实参的值传递给形参的基本数据类型的变量
2)形参是引用数据类型:将实参的引用类型变量的值(对应的堆空间对象实体的首地址)传递给形参引用类型的变量
引用数据类型:swap方法的使用:
public void swap(DataSwap d){
int temp = d.i;
d.i = d.j;
d.i =temp
}
class DataSwap{
int i= 10;
int j= 5;
}
这样引用数据才能实现数据的交换,否则直接的值传递时达不到数值交换的效果的。
mysql中data too long for column问题的解决方法
在页面中向mysql5.0插入中文数据时提示失败,将sql语句复制到管理器中,数据库提示data too long for column "title",我改为一个汉字,还是提示同样的信息,换成英文再试一下,正常,应该是字符集除了问题,但是数据库在建立的时候就选择的DEFAULT_CHARSET,应该是字段的问题。
将MySQL安装目录下的my.ini文件中的字符集配置如下(修改完之后,最好重启一下MySQL服务):
[mysql]
default-character-set=gbk
[mysqld]
default-character-set=gbk
或者在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了
将表和字段的字符集属性都改成gbk。
在每一次MySqlCommand Execute语句时,如果SQL语句或者参数中包含中文,或者是返回的记录集中有中文(指Select的查询语句),就在这个Execute的SQL语句之前加一个SET NAMES GBK;。
http://blog.csdn.net/zhaopeipei1985/article/details/2633997
http://blog.sina.com.cn/s/blog_53b0d5dc0100097v.html
http://www.cnblogs.com/xmaomao/archive/2013/04/15/3022571.html
网友评论