网站被k原因,wordpress发表意见,品牌建设的内容包括,微信小程序公众号开发java8返回单个号码借助jOOQ 3.7#xff0c;我们终于添加了对Java 8功能的正式支持。 这为许多不错的改进打开了大门#xff0c;例如#xff1a; 创建结果流 try (StreamRecord2String, String stream DSL.using(configuration).select(FIRST_NAME, LAST_N… java8返回单个号码 借助jOOQ 3.7我们终于添加了对Java 8功能的正式支持。 这为许多不错的改进打开了大门例如 创建结果流 try (StreamRecord2String, String stream DSL.using(configuration).select(FIRST_NAME, LAST_NAME).from(PERSON).stream()) {ListString people stream.map(p - p.value1() p.value2()).collect(Collectors.toList());
} 异步调用语句jOOQ 3.8 CompletionStageRecord result
DSL.using(configuration).select(...).from(COMPLEX_TABLE).fetchAsync();result.thenComposing(r - ...); 但是显然我们不想让那些因使用较旧的应用程序服务器而受Java 6困扰的付费客户感到失望。 如何在单个API中支持多个Java版本 这就是为什么我们继续为商业客户发布Java 6版本的jOOQ 。 我们是怎么做的 非常简单地。 我们的商业代码库这是我们的主要代码库包含大量的“标志”如以下示例所示 public interface Query
extends QueryPart, Attachable /* [java-8] */, AutoCloseable /* [/java-8] */
{int execute() throws DataAccessException;/* [java-8] */CompletionStageInteger executeAsync();CompletionStageInteger executeAsync(Executor executor);/* [/java-8] */} 当然 AutoCloseable在Java 7中已经可用但是我们没有Java 7版本。 当构建jOOQ时在使用预处理器从源文件中剥离逻辑之后我们对其进行了多次构建 商业Java 8版本是按原样构建的 通过剥离[java-8]和[/java-8]标记之间的所有代码构建第二个商业Java 6版本 通过向商业版本添加一些代码来构建商业免费试用版。 通过剥离[pro]和[/pro]标记之间的所有代码构建了第三个开源版本 这种方法的优点 与其他方法相比此方法有几个优点 我们只有一个事实来源即原始的商业源代码。 所有不同版本中的行号均相同 这些API在一定程度上是兼容的 通过类加载或反射不会涉及任何魔术 缺点是 提交到存储库会比较慢因为我们有几个存储库。 发布版本需要更长的时间因为需要构建不同的版本并多次测试集成 有时我们只是忘了添加一个标记而当Java-6每晚构建崩溃时我们不得不重新构建 我们仍然不能在Java 6版本大多数代码中包含的普通代码中使用lambda表达式。 我们认为优势明显胜过。 只要我们的客户能够并且只要那些受困于旧版本的客户仍然能够升级到最新的jOOQ版本就可以实现一流的Java功能就可以了。 我们期待在不影响现有用户的情况下支持JDK 9功能例如模块化和新的Flow API 。 你呢 您如何实现跨JDK版本的兼容性 翻译自: https://www.javacodegeeks.com/2016/03/support-java-6-8-9-single-api.htmljava8返回单个号码