题目

修改src\main\resources\account.properties
的内容为自己的学号和密码,以及src\main\resources\data.json
的内容为要上报的信息。
1 | { |
修改jar包中account.properties
和data.json
文件同上。
java -jar -Dfile.encoding=UTF-8 xxxxx.jar
向https://xxcapp.xidian.edu.cn/uc/wap/login/check
发送post请求获取cookie,再带着获得的cookie向https://xxcapp.xidian.edu.cn/xisuncov/wap/open-report/save
发送post请求上传数据。
通过Timer使这个过程每两个小时重复一次,把程序挂在服务器就可以高枕无忧了。
1 | public boolean equals(Object obj) { |
默认使用==
比较对象的引用,也就是说如果不去覆写,使用equals
和==
效果是一样的。
1 | @HotSpotIntrinsicCandidate |
hashCode()是一个native方法,值由对象的存储地址计算得出(字符串类型的hash值根据字符串内容计算)。
两个方法的作用都是比较两个对象在逻辑上是否相等。equals可靠,而hashCode性能更强。
Object默认的equals和hashCode方法基本没什么用。
所以如果要做大量的对比,可以先用hashCode做第一步筛选,如果hashCode相同再用equals做出最后的判断。
equals方法判断相等,hashCode值必须相等。hashCode值相等,equals方法可以不想等。
所以hashCode相等是equals的必要不充分条件。
覆写equals时需要考虑自反性、对称性、传递性、一致性(离散数学里关系的性质)。
System.out.println()时默认的方法,默认为”类名@hashCode”。
1 | @HotSpotIntrinsicCandidate |
如果对象的类没有实现Cloneable接口,调用clone方法就会抛出CloneNotSupportedException。