发表于: 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一般就会解决问题



返回列表 返回列表
评论

    分享到