草庐IT

初始化OpenStack

全部标签

java - Java 类变量的初始化顺序是什么?

我最近遇到了这些问题,但在StackOverflow上找不到答案;Java类变量的初始化顺序是什么?还有一个有点相关的问题,重新排序变量会改变类行为吗?为什么?根据Meta上的建议我将发布我对这个问题的回答。 最佳答案 在Java中,类变量在followingorder中初始化:父类(superclass)的静态变量这个类的所有静态变量都设置为它们的defaultvalues.声明顺序中的静态变量和静态初始化block。你的父类(superclass)的实例变量这个类的所有实例变量都设置为它们的defaultvalues.实例变量和

java - EJB 模块初始化监听器

可以为在模块/上下文初始化中调用的EJB3.0.jar定义一个监听器吗?类似web项目的ServerContextListener? 最佳答案 据我所知,不适用于EJB3.0。在EJB3.1中,您可以使用单例EJB来做到这一点。来自ApplicationStartup/ShutdownCallbacks:1:@Startup2:@Singleton3:publicclassFooBean{4:5:@PostConstruct6:voidatStartup(){...}7:8:@PreDestroy9:voidatShutdown()

java - 初始化 Java 对象的 Clojure 惯用方法

我正在尝试寻找一种Clojure惯用的方法来初始化Java对象。我有以下代码:(let[url-connection(let[url-conn(java.net.HttpURLConnection.)](dotourl-conn(.setDoInputtrue);moreinitializationonurl-conn)url-conn)];usetheurl-connection)但看起来非常别扭。创建HttpURLConnection对象并在稍后在代码中使用它之前对其进行初始化的更好方法是什么?更新:看来(doto...)在这里可以派上用场:(let[url-connection(

java - Spring DI - 不要初始化所有依赖的 bean

我有一个ServiceA,它依赖于ServiceB。serviceB来自带有lazy-init=true的springbean文件,即,我只希望在我请求该bean时初始化serviceB。但是,我确实在整个应用程序中使用了ServiceA,并且当我们进行基于setter的注入(inject)时,ServiceB被初始化。我希望ServiceA不初始化ServiceB,直到调用ServiceA中需要ServiceB的任何方法。一种方法是使用方面但我一直在寻找最简单的解决方案,特别是在serviceB的SpringXML文件或serviceB中的某些注释或任何代理标志中。

java - 初始化大量常量时如何规避 Java 中静态初始化器的大小限制

我有一个包含大量生成常量的类:publicclassConstantsextendsSomeBaseClass{//init()isdefinedinsomebaseclass...publicstaticfinalXXXKEY1=init(...);publicstaticfinalXXXKEY2=init(...);publicstaticfinalXXXKEY3=init(...);//...publicstaticfinalXXXKEY2000=init(...);}当生成的常量数量非常多时,这会导致静态初始化程序大于Java方法大小的上限(即>64kb),从而导致编译器错误。

java - 如何初始化循环依赖(final 字段相互引用)?

你如何初始化它:classA{finalBb;A(Bb){this.b=b;}}classB{finalAa;B(Aa){this.a=a;}}DI框架、反射、更好的设计?动机和用例(已添加):我的特定用例是简化A和B子类中的字段访问。因此,我将它们注入(inject)到派生类中的字段中以快速引用它们,而无需在每个子类中显式声明。还有关于DI的建议,对象最好是不可变的:Guicebestpracticesandanti-patterns. 最佳答案 你可以使用工厂方法classA{finalBb;A(Bb){this.b=b;}}a

java - 如果我们在java中只声明一个变量而没有初始化,内存中会发生什么?

如果我们只是创建一个引用变量或为原始数据类型或引用数据类型声明一个变量而不用任何值初始化,如下所示,内存中会发生什么?intx;Employeeemp;那么在这两种情况下内存中到底发生了什么?在此阶段是否分配了任何内存,或者它是否指向任何随机位置或指向空值或指向垃圾值?与第二种情况一样,如果我们使用带有new运算符的构造函数或使用任何其他方式创建对象,则只会在内存中创建空间。Employeeemp=newEmployee(); 最佳答案 Java虚拟机(JVM)从操作系统分配堆内存,然后为Java应用程序管理自己的堆。当应用程序创建

java - 内存数据库H2中的Spring Boot不会在初始化时从文件加载数据

我在应用程序初始化时将数据加载到内存数据库时遇到问题。我创建了包含表结构和初始数据的schema.sql和data.sql文件。架构.sql:CREATETABLEusers(idINTPRIMARYKEY,usernameVARCHAR(64)NOTNULL,passwordVARCHAR(64));和data.sql:INSERTINTOusers(id,username,password)VALUES(1,'usr1','bigSecret'),(2,'usr2','topSecret');我正在使用JpaRepository处理数据层:publicinterfaceUserRe

java - 在java中初始化静态最终变量

这个问题在这里已经有了答案:Whyisn'taqualifiedstaticfinalvariableallowedinastaticinitializationblock?(2个答案)关闭4年前。publicclassTest{privatestaticfinalintA;static{A=5;}}这种初始化静态最终变量A的方法没问题。publicclassTest{privatestaticfinalintA;static{Test.A=5;}}这种方式会产生编译错误“无法为最终变量‘A’赋值。为什么?

java - 依赖注入(inject)、初始化后的不变性

我希望能够指定一个对象的成员变量在对象被“初始化”后是不可变的,这对我来说意味着在它被注入(inject)任何依赖项之后,并且已经执行了它所需要的任何其他初始化操作只能在DI之后执行。是否有满足我兴趣的语言-以这种方式形式化DI、初始化并支持不变性?使它们成为语言的一部分也许是愚蠢的;也许不吧。我不确定。今天我用Java编程,但我不能像我想的那样经常使用“final”,因为这些阶段发生在构造函数完成执行之后。关于如何使用Java获得我想要的东西的任何建议?我想我可以让我的对象实现一个基类,以便这些阶段在构造函数完成之前发生,或者使用方面来做同样的事情。想法?