java趣问

 

1.

有一个类为

public class a{

private int i =1;

public a(){}

}

问:当实例化这个类的时候,i的初始化和类a的构造函数,哪个先执行?

 

2.

问:当前端传来的用户名和密码,后端要做验证的时候,后端从数据库里去取出来的密码,存在string和存在char[],里哪个安全性更高?

 

1.

答:初始化先执行,在jvm里,先执行的是init()函数

2.

答:char[]更安全,因为存在string里的话,密码最快的消失方法也是jvm调用gc算法将其从堆中移除,如果是存在char[]中,因为char是基本类型,可以用完立马修改,防止密码泄漏。

posted @ 2017-07-25 13:56  kincolle  阅读(49)  评论(0编辑  收藏  举报