问题标签 [jsr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 可以在构造函数完成之前设置对象的引用吗?
JMM(Java 内存模型)可以自由地重新排序语句。
当然,这在处理多线程环境时尤其棘手。
JMM 规则明确指出volatile
,final
变量总是在构造函数完成之前完全初始化,并且当且仅当引用没有从构造函数中“逃脱”时。
这意味着任何并发线程都不会看到“正常”变量(非final
和非)是最新的。volatile
乍一看,我的问题可能看起来很愚蠢,但实际上并非如此:
是否在构造函数完成后设置了任何对象的引用(完成并不意味着已经完成所有变量的初始化,而只是到达“构造函数”过程的结尾)?是否有任何 JSR 断言它的规则?或者它是否存在一个例外情况,在构造函数完成之前,任何引用都可以发送回客户端?
事实上,如果语句重新排序被认为如此自由,它也可能意味着对象的引用“发生在”构造函数的发送完成。因此,我们会遇到相同的“this
逃跑”案例来避免。
简而言之,在构造函数完成后是否总是发送引用?
搜索 JLS 后:唯一与返回对象引用有关的地方是:(摘录JSR-12.5)
就在对新创建对象的引用作为结果返回之前,使用以下过程处理指示的构造函数以初始化新对象:
与 JMM 无关……因此可以确保构造函数完成总是在传递引用之前发生。
android - 如何Proguard两个android项目?
我在Andriod系统中基于java A和B开发了两个项目,项目A中的代码依赖于项目B中的代码,项目B中的代码也依赖于项目A中的代码。我可以使用Proguard混淆A而不是混淆B ,A和B也能很好地工作吗?
java - J2ME PIM 单独获取联系人号码
有没有办法可以使用 PIM API 读取联系人号码。我正在使用下面的代码,它只是返回名称。我希望代码仅从联系人返回号码。
jboss - log4j 属性文件未从战争文件中提取
我已经创建了一个 web 应用程序并部署在 jboss 服务器中。
我将 log4j.properties 文件放在 WEB-INF/classes 文件夹中。但不是使用我的应用程序特定的 log4j.properties,而是使用默认的 log4j.properties 并在 server.log 中打印日志。
我什么时候需要放置要提取的 log4j.properties?我的war 文件是一个JSR portlet,所以我不能使用静态方法来读取属性文件。
谢谢你。
java - Project Coin 的收藏增强功能会出现在 JDK8 中吗?
最初Project Coin增强了对集合的支持,例如list[3]
代替list.get(3)
和map["hello"] = 27
代替,map.put("hello", 27)
但它们不在 jdk7 中。他们会在jdk8中吗?我找不到是或否的明确答案。
java - 仅使用运行时异常的 Java 数据对象规范?
我们正在评估 JDO 在我们的应用程序中用作数据管理层。要求是具有与任何数据存储的零依赖关系的抽象良好的数据管理。
我们发现 JDO 非常有前途,并且正在了解数据核的实现。
我们考虑的一件突出的事情是 JDO 主要遵循运行时异常策略。
见 http://docs.tpu.ru/docs/oracle/en/fmw/11.1.1.6.0/apirefs.1111/e13946/jdo_overview_arch.html
所有 JDO 异常的父异常是 javax.jdo.JDOException 并且正在扩展运行时异常。
我们知道调用 API 时引发的异常显然是运行时的。但是,如果我们有一个已检查的异常,它是否易于管理?
请对此发表评论。有人可以帮助理解通过 API 使用运行时异常的理念吗?
java - 我在哪里可以找到 Jersey API 罐子?
我需要下载 JSR 311 Java 库 (Jersey) jar。Java.net 有可供下载的 API,但它莫名其妙地停机,似乎在其他任何地方都找不到。有人可以帮忙吗,因为没有泽西岛,我无法继续我目前的项目。谢谢
java - Java 访问 TCK 的典型方式
我想开始实现一个特定的 JSR,以开始了解这样做时可能涉及的不同方面。为了获得知道我是否成功的满足感,我需要一个 TCK(技术兼容性工具包)来验证实现。根据 JCP 主页,这仅适用于选定的合作伙伴(我假设是商业的)或学术机构。
私人实体或一般的开源项目如何访问 TCK?涉及什么,这是一项值得尝试的任务吗?
用于合作伙伴注册的旧 Sun 页面已关闭/链接到通用 Oracle 站点,我发现最接近的是https://java-partner.sun.com/support/login.action,它缺少注册表/信息。
java - JSR 的“撤回”状态是什么意思?
我正在检查JSR 227 页面,看到它的状态显示为“撤回”。这个状态是什么意思?这是否意味着它已被弃用?是否有更新的版本取代了这个规范?
validation - JSR 303 - 如果字段不为空,则验证该字段
我有一个填写的表格,其中一些字段是选项。我想对填写的信息进行验证,但只有在填写了某些内容时才应验证可选字段,因此如果这些信息不为空。你们中有人做过类似的事情吗?或者你有什么建议吗?