草庐IT

static_event

全部标签

java - public static MyClass myMethod() 的 GetStaticMethodId 方法签名

此方法的方法签名(与GetStaticMethodId一起使用)是什么:-publicstaticMyViewnewMyView(){returnnewMyView(RhodesService.getInstance().getContext(),null);}是"()Lcom/nativestuff/MyView;"吗?(如果包是com.nativestuff?) 最佳答案 是()Lcom/nativestuff/MyView;是正确的。一般而言:B=字节C=字符D=双F=floatI=整数J=长S=短V=无效Z=boolean值

java - 是否可以在没有 java 中的 main 和 static block 的情况下在控制台上打印消息?

在一次采访中我问过这个问题:如果不使用static和main我们怎么能在控制台上打印消息?这可能吗? 最佳答案 您可以定义一个自定义类加载器来打印您的消息:publicclassMyClassLoaderextendsClassLoader{publicMyClassLoader(ClassLoaderother){super(other);System.out.println("Hithere");System.exit(0);}}然后运行java命令:java-Djava.system.class.loader=MyClassL

java - 什么是 "static"?

我开始用Java编程。publicstaticvoidmain(String[]args)一本书说我应该在这种情况下使用static,但没有明确说明我为什么要这样做或它意味着什么。你能澄清一下吗? 最佳答案 static的概念与某物是类的一部分还是对象(实例)的一部分有关。对于声明为static的main方法,它表示main方法是一个类方法——a方法是类的一部分,而不是对象的一部分。这意味着另一个类可以通过引用ClassName.method调用另一个类的类方法。例如,调用MyClass的run方法将通过以下方式完成:MyClass

java - 澄清 Java 基础知识 - 构造函数和 "static"?

classtest{test(){System.out.println("Constructor");}{System.out.println("Hai");}}publicclasssample{publicstaticvoidmain(String[]a){testt=newtest();}}在上面的代码中,为什么在调用test()构造函数之前打印了“Hai”?测试类中的test()构造函数在“海”语句之上,应该先调用吧? 最佳答案 让我们用一个更清楚的例子来表达:publicclassTest{static{System.ou

Java Lambda 引用封闭对象 : Replace with Private Static Class?

从其封闭范围引用元素的Javalambda持有对其封闭对象的引用。一个人为的例子,lambda持有对MyClass的引用:classMyClass{finalStringfoo="foo";publicConsumergetFn(){returnbar->System.out.println(bar+foo);}}如果lambda的生命周期很长,这是有问题的;然后我们有一个长期存在的MyClass引用,否则它会超出范围。在这里,我们可以通过用私有(private)静态类替换lambda来进行优化,这样我们就只持有对我们需要的字符串的引用,而不是对整个类的引用:classMyClass{

java - 为什么这个 static final 变量在单例中是线程安全的?

阅读这个网站,我找到了this:[The]lineprivatestaticfinalFooINSTANCE=newFoo();isonlyexecutedwhentheclassisactuallyused,thistakescareofthelazyinstantiation,andisitguaranteedtobethreadsafe.为什么保证线程安全?因为这个字段是final?还是出于其他原因? 最佳答案 因为它是最终的,是的。Final变量具有特殊的线程安全语义,因为保证其他线程看到final字段时至少处于其构造函数完

java - Event Dispatch Thread 究竟是什么时候启动的?

EDT究竟是什么时候开始的?哪一行代码负责?我的猜测是“someSwingComponent.setVisible(true)”可以解决问题,但我不确定。谢谢! 最佳答案 问:EDT究竟是什么时候开始的?哪一行代码负责[f]它?Swing的内部工作是特定于JVM的。不同的JVM根据不同的标准启动事件调度线程(EDT)。一般来说:TheEDTstartswhenitreceivesitsfirstAWTEvent.下面的堆栈跟踪再次证实了这一点。以下面的main方法为例。publicstaticvoidmain(String[]arg

java - AWS : how to fix S3 event replacing space with '+' sign in object key names in json

我有一个lamba函数,可以将对象从存储桶“A”复制到存储桶“B”,并且一切正常,直到在存储桶“A”中创建了名称为“NewTextDocument.txt”的对象,json内置于S3事件中,键为“key”:“New+Text+Document.txt”。空格被替换为“+”。通过在网络上搜索,我知道这是一个已知问题。但我不确定如何解决这个问题,传入的json本身有一个“+”,而“+”实际上可以在文件名中。比如“新建+文本文档.txt”。所以我不能盲目地在我的lambda函数中将“+”与“”隔开。由于这个问题,当代码尝试在存储桶中查找文件时,找不到它。请提出建议。

java - java 中的 public static void main(String arg[ ] ) 是否已修复?

我最近在考试中被问到publicstaticvoidmain(Stringarg[])main方法的格式是否固定?我们可以改变它吗?我们可以在没有任何public、static或void的情况下使用main吗?如果不是,为什么不硬编码main(Stringarg[])总是代表publicstaticvoidmain(Stringarg[])? 最佳答案 main方法的签名在JavaLanguageSpecificationssection12.1.4中指定。并明确指出:Themethodmainmustbedeclaredpubli

java - 什么是static <T> List<T> methodName (List<? super T> input)

我有以下代码,但我对所有泛型感到困惑。publicstaticListbackwards(Listinput){Listoutput=newArrayList();returnoutput;}我的理解是我有一个名为backwards的公共(public)方法,它创建一个实现List接口(interface)并返回数组列表的数组列表。我的问题是我实际上在用以下部分对编译器说什么......staticListbackwards(Listinput) 最佳答案 你是在对编译器说:“我为这个方法声明了一个任意类型T,对于方法的每次调用它可