发表于: 2016-10-15 22:28:28
2 2109
今天完成的事情:修改接口,处理mysql报1024错误的问题,学习了一下怎么给一台电脑安装多个mysql
明天计划的事情:完成任务3.
遇到的问题:
1.
甲方购置了阿里云,但是我能够在自己服务器启动的接口,放到他的服务器上就直接在spring定时器哪里报错,生成的error级别的日志是0kB,log级别的日志只有四行,还不知道怎么处理。
2.
mysql 的 max_allowed_packet 设置后经常变化
http://www.cnblogs.com/qdpurple/p/5742059.html
这个帖子提到的变成1024可能是被黑客攻击了,需要设置防火墙,或者定期修改my.ini
一般讲mysql的端口改成除了3306的并且将密码改的复杂点应该就不会有太大的问题了
3.
com.alibaba.fastjson.JSONException: syntax error, position at 18, name partnerType
这里我想给一个实体类中存放<a></a>我发现是因为被转换的string类型中有双引号导致的,
使用\转义也不行,必须使用单引号
3.
integer类型比较:这里涉及到引用数据类型和基本数据类型,
首先是堆和栈的概念
以下来自百度百科
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直
接地设置栈或堆。
2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必
须是确定的,缺乏灵活性。另外,栈数据在多个线程或者多个栈之间是不可以共享的,但是在栈内部多个值相等的
变量是可以指向一个地址的,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,
Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
我理解为对象放到堆中,基本数据类型放到栈中,
如果是基本数据类型直接进行比较,使用==比较两个变量的内存地址就可以了,
如果是对象与对象之间进行比较,一般复写object的.equals()方法进行比较,因为比较的双方可能会因为引用不同
的内存地址,这样使用==就不能完全判断两个对象是否相等了,
基本数据类型的包装类
int Integer:
Integer的.equals()方法
使用了Integer自己的intValue()方法,使用==进行判断,
boolean Boolean:
这个不怎么用到,也有booleanValue()方法 ,使用==进行判断,
byte Byte
这个同上,有byteValue()方法,使用==进行判断,
char Character
一样,有charValue()方法,使用==进行判断,
short Short
很少用到,有shortValue()方法,使用==进行判断,
long Long
经常用到,有longValue()方法,使用==进行判断,
double Double
这个经常用到,用doubleToLongBits()转化数值并使用==进行判断,这个方法没有看懂。
float Float
这个和Double很像,用floatToIntBits()转化数值并使用==进行判断 ,
遇到包装类型与基本数据类型的比较可以使用==,也可以使用.equlas()方法。
包装类型在使用new 实例化的时候相当于将参数赋给自己的value属性,通过==将被比较的值与value属性进行比较,得出结果。
比较特别的就是String类型,它的.equals(a)方法先使用==比较,如果不返回true,继续判断,如果a是String类型就转换
成char类型的数组继续进行比较。
包装类型使用=而不是new来赋值涉及到了java自动装箱和拆箱
http://www.cnblogs.com/danne823/archive/2011/04/22/2025332.html
这篇blog介绍了什么是自动装箱和拆箱
IntegerCache和自动装箱池需要重新学习下
4.
tomcat startup.bat 闪退
给tomcat的startup.bat和shutdown.bat添加JAVA_HOME一般就会解决问题
评论