Algorithm:回文数判断
题目:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入:121输出:true
示例 2:
输入:-121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。
我的解法:
解法1:
public boolean isPalindrome(int x) {
String s1 = String.valueOf(x);
int length = s1.length();
for (int i = 0; i < length; i++) {
if(s1.charAt(i) != s1.charAt(length-1-i)){
return false;
}
}
return true;
}
解法2(参考推荐解法):
public boolean isPalindrome(int x) {
if(x <0 || ( x!=0 && x%10 == 0)){
return false;
}
int revertNum = 0;
int length = String.valueOf(x).length();
for (int i = 0; i < length/2; i++) {
revertNum = revertNum * 10 + x%10;
x /= 10;
}
return x == revertNum || x/10 == revertNum;
}
Review:Good Work、Great Work、Right Work
Good Work, Great Work and Right Work (dlang.org)
这篇文章主要介绍了作者对Good Work、Great Work、Right Work的看法。
1.Good Work:通常工作量较大,是专业人员共同努力的结果。
2.Great Work:是所有人都渴望,并且当他存在或发生时能意识到。用文章中的例子就是:一个不懂古典音乐的老太太,听到西方音乐之父巴赫的作品时哭了。
3.Right Work:是无可否认的工作,你的同伴都会认为这是正确的、好的事情。
Great Work建立在Right Work的基础上,在这个过程中有Good Work产生。
Tip:简单的内存泄漏问题排查
简单的内存泄漏问题排查
1.查看包含“java”的所有进程
ps -ef|grep java
2.查看统计信息
jmap -histo:live 100 | head -7
3.生成堆转储快照(会生成一个heap.hprof文件)
jmap -dump:live,format=b,file=heap.hprof 进程号
4.把文件拖到本地,用mat(Memory Analyzer Tool)打开该文件,可在eclipse Market中下载该插件,也可单独下载
5.工具中会有各种统计报告,如:
Histogram:各个类产生的实例
Dominator Tree:显示占用堆内存最大的那部分对象,以及各个对象之间的依赖结构
Leak Suspects: 分析可能引发内存泄漏的线程及对象
。。。mat工具的详细使用说明可自行百度
Share:DWR框架
DWR框架(具体介绍请见:www.baidu.com)
简单来说作用有两:
1.前段js直接调用后台java代码
2.后端主动发起请求推送数据到前端
https://blog.csdn.net/sureSand/article/details/77994014?locationNum=8&fps=1
我当时使用的场景是:
前端页面点击启动——>请求到系统管控台——>管控台用dubbo调用工作节点(异步)
任务执行完毕后,工作节点通过dubbo通知系统管控台——>系统管控台通过(DWR)推送数据到页面——>页面实时刷新执行状态