ARTS第二周

算法

对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为“完美数”。

给定一个 正整数 n, 如果他是完美数,返回 True,否则返回 False

先了解下什么是 完美数,完美数也称完全数,它所有的真因子(除了自身以外的约数)的和等于它本身。

约数即可以被因子整除,所以这个倍数一定大于2,如果为1的话是其本身。

实现如下:

class Solution {
    public boolean checkPerfectNumber(int num) {
        if(num == 1){
            return false;
        }
        int sum = 0;
        
        for(int i=2;i<Math.sqrt(num);i++){
            if(num%i==0){
                sum = sum+i;
                int j = num/i;
                if(i<j){
                    sum = sum+j;
                }else{
                    break;
                }
                
            }
        }
        sum = sum+1;
        if(sum == num){
            return true;
        }
        return false;
    }
}

 

英文阅读:

http://insightfullogic.com/2014/May/12/fast-and-megamorphic-what-influences-method-invoca/

文中主要讲解了作者的一次不同类型间调用的 性能测试,使用JMH。这个后面需要实际操作下,文中并没有直接列出测试代码,后面需要根据github上代码实际操作学习。

根据文中的结论是 添加和删除final并不会真正的影响性能,单行调用比双行调用快,双行调用比超行调用快。

摘抄结论:

I think it's worth noting that there are plenty of people who don't have a performance mental model that accounts for different types of method calls taking different amounts of time and plenty of people who understand they take different amounts of time but don't really have it quite right. I know I've been there before and made all sorts of bad assumptions. So I hope this investigation has been helpful to people. Here's a summary of claims I'm happy to stand by.

There is a big difference between the fastest and slowest types of method invocation.
In practice the addition or removal of the final keyword doesn't really impact performance, but, if you then go and refactor your hierarchy things can start to slow down.
Deeper class hierarchies have no real influence on call performance.
Monomorphic calls are faster than bimorphic calls.
Bimorphic calls are faster than megamorphic calls.
The type guard that we see in the case of profile-ably, but not provably, monomorphic callsites does slow things down quite a bit over a provably monomorphic callsite.

分享

这段时间遇到一个项目部署需要用docker,分享这个docker入门的学习

https://www.cnblogs.com/huangxincheng/p/10389251.html

技术学习

工作中替换证书支持https时遇到一个问题,(同时支持http和https访问)服务启动后如果第一次使用http访问,后面 不管使用http还是 https都正常。如果浏览器先使用 https访问系统,后面再使用http访问系统一直提示 登录失败。

跟代码发现过滤器中session变了,而登录系统时会在session中保存一些登录信息,需要一次登录中session不变,现在使用http访问时每次session都会发生变化。导致代码获取session中登录信息时为空登录失败。

现在查询为什么http访问时session 一直重新创建了。

查询了浏览器中cookie的一些属性,发现有个 secure属性。(摘抄:)它表示创建的 cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以绝对不会被窃听到。这个属性如果开启(true) 指示浏览器仅通过https连接返回cookie,仅使用https网站。如果启用此功能则http上的会话cookie不会起作用。

应该就是 这个属性导致的http访问时session一直重新创建。所以目前检查下哪里有设置这个属性的地方。最后在 jbossWeb的server.xml 和 安装环境中的 server_conf.xml中都 发现了 针对https的配置有这个属性的设置,将这个属性设置为 false后,重启测试使用http访问正常。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值