heky 发布的文章

之前是用的bpb面板,最近突然不行了。
所以我换了脚本,还是用回了勇哥的vless脚本。然后发现直接用的话大部分节点也是不行的。
后来经过了一系列的测试,发现可能是有些端口被禁用了。
还活着的只有20开头的,主要是2086这个端口可以用。
之后就是关于优选域名和ip了。
优选ip选择端口2086没有试过,之前一直测试的是8开头的端口比如8443,可以ping通,但是连不了,提示ssl不能验证。
优选域名是可以用的,但是不能开tls,然后在2086端口下测试也是有些可以用有些不能用,猜测是有些域名要么不再由cloudflare托管,要么就是有某种保护措施。
然后关于速度,速度差异也很明显。
首先,用电脑版nokebox测试几乎阵亡,基本是提示不可用,用v2rayN,则可以使用,其中最快的可以到达10m/s以上,最慢的在0.3m/s左右徘徊。另外nokebox虽然提示不可用,但是在实际测试时在v2rayN处可以使用的节点,在nokebox也可以使用。
手机版nokebox基本也是不可以,但是有几个是超时,就是说如果连上还是可以用的。测试之后确实连上后可以使用。
手机版v2rayng的测试很喜人,2086端口优选域名全部可以正常连接。

总结:现在要使用cloudflare搭建节点,需要使用优选域名开2086端口,优先使用v2rayn或nokebox客户端。

sub.heky.top订阅链接:https://sub.heky.top/src/php/sub.php?db=wky&sub=

【深基2.例6】字母转换

题目描述

输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。

输入格式

输出格式

样例 #1

样例输入 #1

q

样例输出 #1

Q

题解:

#include<stdio.h>
int main(){
    char a;
    scanf("%c",&a);
    printf("%c",a-('a'-'A'));
    return 0;
}

根据ASCII表,大写字母在小写字母前面,所以先用字母a作为标识,减去大写字母A,就是两个字母之间的差值,之后用传入的参数去减,然后小写字母就变成了大写字母。

如果已经知道差值是32,也可以直接减去32,就像下面这个这样。

#include<stdio.h>
int main(){
    char a;
    scanf("%c",&a);
    printf("%c",a-32);
    return 0;
}

附件:ASCII表
ASCII

1. Embarcadero Dev-C++

  • Embarcadero Dev-C++ 是Dev-C++的一个官方维护版本,具有更好的兼容性和最新的更新。该版本支持多种语言,并附带最新版本的MinGW编译器。
  • 下载链接

2. SourceForge上的Orwell Dev-C++

  • Orwell Dev-C++ 是另一个被社区维护的版本,也比较稳定和常用。这个版本也包含了MinGW编译器,适合初学者使用。
  • 下载链接

选择建议:

  • Embarcadero Dev-C++ 是一个更现代的版本,推荐优先使用这个版本,因为它有更好的支持和更新。
  • 如果您的系统较旧或者喜欢使用经典界面,Orwell Dev-C++ 也是一个不错的选择。
  • Embarcadero Dev-C++ 下载需要注册登入他们公司的账号,不想注册的可以直接下第二个,就是Orwell Dev-C++

请确保从上述官方链接下载,以避免下载到不安全或包含恶意软件的版本。

这几天有人和我说订阅链接的节点用不了了。
我的订阅链接一直都是存的cf的vless节点。
然后现在用不了了,得从其他办法去解决,好烦。

在学习 Java 的过程中,许多初学者会遇到接口、方法覆盖和访问权限方面的困惑。本文将一步步解答这些常见问题,帮助新手程序员更好地理解 Java 编程中的重要概念。

1. 错误提示:Cannot reduce the visibility of the inherited method

当你在 Java 中覆盖一个方法时,可能会遇到类似的错误提示:Cannot reduce the visibility of the inherited method。这个错误的意思是你不能降低从父类或接口继承的方法的可见性。

比如,在你编写的代码中,你可能尝试将子类中的方法可见性设为 default(不显式声明访问修饰符),而接口中该方法的默认可见性为 public,这就导致了错误。要解决这个问题,你需要确保子类中的方法与接口中的方法具有相同或更高的可见性。

解决办法:

将子类中的方法显式声明为 public

@Override 
public void soud() {
    System.out.println("12"); 
}

2. 接口的默认可见性是什么?

在 Java 中,接口的默认可见性是 package-private,也就是说,接口只能在定义它的同一个包中被访问。如果你不在接口前声明 public,它就不能被其他包中的类访问。

然而,接口中的方法默认是 public 的。所有接口中的方法,无论接口本身的可见性如何,都会自动被声明为 public abstract。因此,一旦你在一个类中实现了该接口,这些方法就必须是 public 的。

3. 接口的默认 package-private 可见性意味着什么?

如果接口的可见性是 package-private(默认可见性),这意味着它只能在与之位于同一个包中的类中访问。如果你的 main 方法所在的类在不同的包中,并且接口没有声明为 public,则无法在 main 方法中直接访问该接口。

接口中的方法默认是 public 的,这意味着实现了该接口的类必须将这些方法声明为 public

4. 在正常类中,private 方法的使用规则

在一个普通类中(即不实现接口的类),如果你将一个方法声明为 private,那么这个方法只能在这个类的内部使用,不能在 main 方法或其他类中直接调用。

例如:

public class MyClass {
    private void myPrivateMethod() {
        System.out.println("This is a private method.");     
    } 
}

如果尝试在 main 方法中调用这个 private 方法,将会导致编译错误:

public class Main {     
    public static void main(String[] args) {         
        MyClass myClass = new MyClass();         
        myClass.myPrivateMethod(); // 错误:无法访问私有方法     
    } 
}

要使方法在其他类或 main 方法中可访问,你需要将其可见性更改为 public 或其他更宽松的访问级别:

public class MyClass {
    public void myPublicMethod() {
        System.out.println("This is a public method.");     
    } 
}

结论

Java 中的接口和方法可见性是初学者需要重点掌握的内容。在接口中,所有方法默认都是 public 的,而在普通类中,private 方法只能在类内部访问。理解这些概念将帮助你避免常见的编译错误,并编写出更清晰和结构化的代码。希望本文能帮助你更好地理解这些概念!