发表于: 2017-09-25 23:21:25
1 900
今天完成的事情:先用jmter又测了一会 数值有快有慢
看了缓存 大致理解了为什么要用缓存
Memcache客户端包含两组接口,一组是面向过程的接口,一组是面向对象的接口
Memcache::getStats -- 获取当前Memcache服务器运行的状态
安装了memcache 还没有配置
看博客正好看到了一个猴子分桃的问题 学习了一下
public class DividePeach{
public static void main(String[] args){
int num = 6; //最后一次分桃时桃子的最小数量为6
a:
for(;true;num += 5){ //num++也可以,根据猴子数量确定num尾数一定是1或6,所以加5提高效率 int temp = num;
for(int monkey = 1; monkey <= 5; monkey {
if(temp >= 6 && temp % 5 ==1){ //分法,至少有5个桃子,而且一定要大于等于6 temp = temp / 5 * 4;//每只猴子走的时候桃子的数量,分了4次,或者说可分的桃子总数是现在的4/5,上一只猴子拿走了一份。 if(monkey == 5){//再以上分法时,当满足第5只猴子时就找到这个数了 break a; }
}else{//注意这个else和哪个if是一对
break; } } } System.out.println("海滩上原来最少有" + num + "个桃子"); } }
这里用了一些自己从未用过的语法和逻辑
最外层 for(;true;num += 5) 这是一个死循环 一直循环 所以他要与break一起使用 这里它上面标注了a:
然后里面内嵌了一个for循环
第二个for循环里面是个if else
如果达成了 break a: 就是直接跳出标记的 最外面的死循环
否则 直接break 跳出第二个for循环
整体逻辑 最外层 因为一定桃子是被5除余1 先声明为6 然后每次加5 一直死循环
第二层for 猴子从1循环到5 因为被分了5次
声明一个变量 指向num 这个值被五除余1 且大于等于6
这个值每次都会减一然后变成5分之4 (这里应该是整形 所以没有减1我加上减一最后得到同样的数字) 这样做了五次
最后 当猴子=5是 跳出最外层死循环 否则跳出里面循环
就能求满足条件的最小的num
明天计划的事情:使用memcache 把自己的页面加上缓存 再用jmter测一测
遇到的问题:感觉对压测的理解还是不足
收获:
break是跳出离当前最近的一层循环,
break a: 是跳出标记为a:的那个循环
在java之中,break和continue都可以用来跳出当前循环,但是两者的主要区别是:当循环执行到break语句时,就退出整个循环,然后执行循环外的语句。当循环语句执行到continue时,当次循环结束,重新开始下一轮循环。如果已经是最后一轮循环了,那么这是的continue就与break效果一样了。
public static void main(String []args){
Integer a=127;
Integer b=127;
Integer c=128;
Integer d=128;
System.out.println(a == b);
System.out.println(a == 127);
System.out.println(c == 128);
System.out.println(c == d);
原来在128之前 都不会重新new Integer 所以 前三个true 第四个 false
预计完成时间:9.29
是否有延期风险:暂无
禅道链接:http://task.ptteng.com/zentao/my-task.htm
评论