cc防御_香港cdn高防ip_云网站服务器ddos防护-51首防安全

当前位置:主页 > 香港高防 > 本文内容

抵御ddos_排名靠前的_棋牌平台防攻击

发布时间:2021-02-23 18:06源自:51首防安全作者:51首防安全阅读()

抵御ddos_排名靠前的_棋牌平台防攻击

概述"我总是选择一个懒惰的人去做一件困难的工作。因为他会找到一个简单的方法来做到这一点延迟求值是一种计算策略,它将表达式的求值延迟到需要它的值为止。与此相反的是急切求值(eager evaluation),即把表达式绑定到变量后立即求值像大多数命令式编程语言一样,Java急切地评估方法的参数,但是对于可以提高性能的场景,ddos防御的意义,我们应该考虑一个懒惰的替代方案,例如避免不必要的昂贵计算。我们将通过一个示例了解利用函数接口和Lambda表达式实现延迟求值是多么容易。示例假设我们有以下昂贵的计算:静态布尔计算(String str){System.out.println("正在执行…");//这里的计算代价很高返回结构包含("a");}热切的评价考虑下面的函数,它接受两个布尔值,如果两个布尔值都为真,则返回"match",51ddos攻击防御,百度云主机ddos防御,否则返回"incompatible!"。静态字符串急切匹配(boolean b1,boolean b2){返回b1和b2?"match":"不兼容;}公共静态void main(String[]args){系统输出打印(急切匹配(compute("bb"),compute("aa"));}运行此程序将生成以下输出:正在执行。。。正在执行。。。不相容的!懒惰的评估让我们使用Supplier函数接口实现一个延迟版本。来自Java规范,接口供应商表示结果的提供者。不要求每次调用供应商时都返回一个新的或不同的结果。这是一个函数接口,其函数方法是get()。基本上它表示一个不带参数并返回值的函数。在本例中,我们使用boolean的供应商创建一个lazy match等价于eager match:静态串LazMatch(供应商a,供应商b){返回a.get()&&b.get()match":"不兼容;}因为Supplier是一个函数接口,它可以用作lambda表达式的赋值:公共静态void main(String[]args){System.out.println(lazyMatch(()->计算("bb"),()->计算("aa"));}运行此程序不匹配的输出:正在执行。。。不相容的!运行此示例时需要注意两个重要事项:调用函数方法get时执行compute。&&运算符显示"短路",这意味着只有在需要时才计算第二个操作数。惰性参数和操作数求值的结合使该程序可以避免计算("aa")中的昂贵执行。结论我们已经看到了将急切求值的方法转换为延迟求值的方法是多么简单。尽管懒惰调用比急切调用更复杂一些,但是性能得到了弥补,但这是表面上的缺点。话虽如此,不要到处使用懒惰策略,云锁防御ddos,ddos防御系统的,但要将其用于有明显绩效改进迹象的情况,即:避免不必要的计算。测井[util.logging.Logger].生成一个无限的数据结构,直到某个未知的限制才会使用。下一篇博客将展示如何利用流的惰性从命令式风格转向声明式风格。

欢迎分享转载→ 抵御ddos_排名靠前的_棋牌平台防攻击

用户评论

验证码: 看不清?点击更换

注:网友评论仅供其表达个人看法,并不代表本站立场。

Copyright © 2002-2019 51首防安全 版权所有 备案号:粤ICP备xxxxxxxx号收藏本站 - 网站地图 - - -