问题标签 [java-7]
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-7 - Java 7 中的新特性
java 7 中将实现哪些新功能?他们现在在做什么?
java - Java 7 中的闭包
我听说闭包可能会在计划于明年夏天左右发布的下一个 Java 标准中引入。
这种语法会是什么样子?
我在某处读到,在 java 中引入闭包比在 java 5 中的泛型变化更大。这是真的吗?优点和缺点?
(到目前为止,我们肯定知道闭包不会包含在下一个 Java 版本中)
或者
编辑:http ://puredanger.com/tech/2009/11/18/closures-after-all/ :D
编辑2:重新思考JDK7:http: //blogs.oracle.com/mr/entry/rethinking_jdk7
编辑3:没有一刻可以失去!: http: //blogs.oracle.com/mr/entry/quartet
java - 数组作为适当的对象
我在这里写了一个页面,介绍使用数组作为具有自己的方法的适当对象,而不是依赖像 Arrays、Arrays 和 ArrayUtils 这样的辅助类。
我确信我不是第一个有这个想法的人,但我很难找到以前写过这个想法的其他人。
任何人都可以帮助我提供有关此主题的一些参考资料吗?
如果您有关于为什么这是一个坏主意或一个好主意的参考,您可以添加评论吗?
链接已删除。添加要点
这源于 Project Coin 的想法
将数组视为具有自己方法的对象,而不是传递给辅助方法的值。这导致更自然的编码并使方法更加直接。例如通过代码完成。
它将面向对象编程引入数组,支持已经可用和编写的方法。
数组的面向对象一致性。
必须有人编写并测试它。
调用辅助方法。
高级示例:显示功能的高级用法。
需要将诸如 java.lang.Array 之类的类添加为所有数组的父级。可能还需要特定 int[]、boolean[] 的子类。语法不应该有很大的不同。
在提供了可以使用数组的新父级时,编译将与现在相同。但是,JVM 需要接受数组具有不同的超类。
检查新方法与辅助方法的作用相同。(如果他们确实只是调用相同的辅助方法,应该很简单)
这应该添加到 rt.jar
数组的超类需要返回 java.lang.Array 等而不是 java.lang.Object。但是,这可能是 JVM 而不是 rt.jar 代码的更改。
更改应反映在 javadoc 中。
将对 Arrays.xxx(array, args) 的调用替换为 array.xxx(args);
如果采用每种方法,对 hashCode() 和 equals() 的调用将被更改。这可能是不可接受的,在这种情况下,这些方法可以保持原样,而不是调用 Arrays.hashCode() 或 Arrays.equals();
不。
这就是我正在寻求帮助、错误报告或其他参考的内容
java - 房地产的动机是什么?
我对为什么语言有这些感到有点困惑。我是一名 Java 程序员,在我职业生涯的开始阶段,所以 Java 是我写的唯一语言,因为我开始真正了解它。
所以在 Java 中我们当然没有属性,我们编写 getThis() 和 setThat(...) 方法。
拥有属性我们会得到什么?
谢谢。
编辑:另一个查询:在具有属性的语言中会出现哪些命名约定?
java - 为什么 Java 7 中没有原生属性?
有什么合理的理由,为什么原生属性不会成为 Java 7 的一部分?
java - 即将推出的 Java 并发库:jsr166y 是什么?jsr166z?
根据这个网站,我想玩弄即将包含在 Java 7 中的并发库。
它似乎被命名为JSR166。
在大多数地方,它的参考实现称为jsr166y,而很少有资源将其称为 jsr166z。
我为每个参考实现发现了两个完全不同的 javadocs。
现在,Java 7 中将包含哪个实现?
编辑
虽然回答的人建议 jsr166y 是 Java 7 的东西,但我从 JavaOne发现了这份文档 (TS-5515) 。本文档引用了 Java 7,但提到了仅存在于 jsr166z javadocs 中的 LinkedAsyncAction。(困惑...)
java - Java 7 中的链式调用?
我正在阅读Java 7 预览演示文稿 (pdf),并且有一张关于Chained Invocation的幻灯片。这是幻灯片中使用的示例:
我对此有复杂的感觉。不应该将太多的方法调用链接到一个语句中。另一方面,写作margarita.this()
也margarita.that()
不太方便。
现在,我从 Delphi 世界来到 Java。在 Delphi 中有with
语言结构。这是少数人所珍视的,而许多人则厌恶这一点(或者相反?)。我发现with
它比链式调用的想法更优雅(我相信它的工作原理是void
方法返回对已调用它的对象的引用——这是我不喜欢的部分,因为void
应该什么都不返回)。
我很欣赏with
Java 采用的语言特性,因此示例代码可以这样编写:
我是唯一一个更喜欢这种解决方案而不是链式调用的人吗?还有其他人觉得这with
可能是对 Java 语言的有用扩展吗?(让我想起有人关于需要“Java++”的问题......)
java - Java 7 日期/时间 API
我注意到 Java 7 API 的快照已经在 java.sun.com 上发布了一段时间,但我只是刚刚浏览了一下,专门寻找承诺的受 JodaTime 启发的日期/时间 API。唉,我在已发布的文档中找不到任何提及。
这是因为它还没有完成,而且这个发布的 API 是一个早期的、不完整的快照,还是因为这个想法已经被悄悄地放弃了?
java - JDK-7 SwingWorker 死锁?
我有一个小型图像处理应用程序,它使用 SwingWorker 一次执行多项操作。但是,如果我运行以下代码(过于简化的摘录),它只会挂在 JDK 7 b70(Windows)上,但可以在 6u16 中运行。它在另一个工作人员中启动一个新工作人员并等待其结果(真正的应用程序运行多个子工作人员并一直等待)。我在这里使用了一些错误的模式吗(因为在 swingworker-pool 中大多数有 3-5 个工人,我认为限制为 10 个)?
java - 是否可以在 Java 中将基准毫秒参考时间从 1970 年更改为 2008 年(如 JSR-310)
我希望能够在 Java 中将基准毫秒引用从 1970 年更改为 2008 年,这样我就可以节省数据库中的空间和唯一 ID。
最好使用 Joda-Time。
假定的 Java 7 版本中即将推出的 jsr-310 实现了它。
在此链接的离散时间线部分中,它指出毫秒计数已从 1970 年更改为 2008 年
http://today.java.net/pub/a/today/2008/09/18/jsr-310-new-java-date-time-api.html
我能看到的唯一其他选择是每次我需要查找记录时以数学方式实现它。
例如
较小的日期将存储在数据库中
--编辑--
所以我误读了JSR-310,这是不可能的。
有更好的方法来节省空间,然后处理数千个计算多头的请求。
我想将 long 记录为日期,因为我永远不知道将数据库移动到哪里,也许是 MySQL => Oracle。
所以我不想要时间戳,我只想要 BigInts。