小编JCC*_*CCS的帖子

与另一个相同的递归函数相比,是什么导致这个递归函数崩溃?

这会导致堆栈溢出错误.我只需要帮助解释为什么这个崩溃与正确的相似.我使用过调试器,但我仍然不清楚.

public static void main(String[] args) {
    countForwards(5);
}
public static void countForwards( int num ) {
    if (num >= 0){
        countForwards(num--);
    }
    System.out.print(num + " ");
}
Run Code Online (Sandbox Code Playgroud)

我知道这是解决方案,但我不明白为什么会有所不同

public static void countForwards( int num ) {
    if (num >= 0){
        countForwards(num - 1);
    }
    System.out.print(num + " ");
}
Run Code Online (Sandbox Code Playgroud)

java recursion

19
推荐指数
4
解决办法
1819
查看次数

用于限制访问 Cloudflare IP 地址的 S3 存储桶策略

我将使用 Cloudflare 作为我的 S3 网站存储桶的代理,以确保用户无法使用存储桶 URL 直接访问网站。

  • 我使用我的自定义域设置了一个用于静态网站托管的 S3 存储桶:www.mydomain.com并已上传我的index.html文件。

  • 我有一条启用了->和 CloudflareCNAME的记录。www.mydomain.comwww.mydomain.com.s3-website-us-west-1.amazonaws.comProxy

问题:我尝试应用存储桶策略来Deny访问我的网站存储桶,除非请求源自一系列Cloudflare IP 地址。我按照官方 AWS 文档执行此操作,但每次尝试访问我的网站时,都会收到Forbidden 403 AccessDenied错误。

这是我的存储桶政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CloudflareGetObject",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                    "arn:aws:iam::ACCOUNT_ID:user/Administrator",
                    "arn:aws:iam::ACCOUNT_ID:root"
                ]
            },
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::www.mydomain.com/*",
                "arn:aws:s3:::www.mydomain.com"
            ],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "2c0f:f248::/32",
                        "2a06:98c0::/29",
                        "2803:f800::/32",
                        "2606:4700::/32",
                        "2405:b500::/32",
                        "2405:8100::/32",
                        "2400:cb00::/32",
                        "198.41.128.0/17",
                        "197.234.240.0/22",
                        "190.93.240.0/20",
                        "188.114.96.0/20", …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services cloudflare

7
推荐指数
1
解决办法
2214
查看次数

使用for循环来移动一个字符数组

我创建了一个char[]看起来像

[A, A, B, C]
Run Code Online (Sandbox Code Playgroud)

我想删除最后一个字符,然后将其他字符向上移动一个并char在第一个索引处存储一个新字符.所以它看起来像这样:

[D, A, A, B]
Run Code Online (Sandbox Code Playgroud)

我如何使用一两个这样做for loops.我有正确的想法,我只是没有正确实现它.

char[] array = new char[4]; //Array looks like [A, A, B, C]

for(int i = 0; i <= array.length - 2; i++) {
    array[i] = array[i + 1];
}
array[0] = 'D'; //This should be the new char at index 0.
Run Code Online (Sandbox Code Playgroud)

java iteration for-loop

3
推荐指数
1
解决办法
54
查看次数