标签: Java 8
java-streamshort-circuiting
这不是斐波那契流
LongStream digits = LongStream.of(0, 1, 2 , 3 , 4, 5, 6, 7, 8, 9);
这也不是
LongStream naturals = LongStream.iterate(1, (i) -> i + 1);
但是,如何检查它们是否正确
请注意,第二个流是无限的,因此需要一些短路操作才能尽快停止。不幸的是,短路方法“allMatch”和“anyMatch”只测试元素,而不是序列。使用番石榴:
Supplier fi
在ee.j2se-1.8中包含包org.w3c.dom
org.osgi.framework.system.packages = \
...
org.w3c.dom,\
...
org.osgi.framework.bootdelegation = \
...
org.w3c.*,\
org.xml.*,\
....
捆绑包xml-API_1.4.1.20140905-131237.jar包含相同的包org.w3c.dom,但还有一个重要的类。。。ElementTraversal.clas
在一个TableView中有许多行对性能的影响不如在使用JavaFX时有许多列
我尝试创建大约500列,这会造成明显的延迟(例如,在调整列的大小时),但只有在TableView中有一个项目创建了一行的情况下。如果TableView没有项目(因此也没有行),那么性能损失就不那么明显了。同样,有很多行(只有几列)也不会产生任何延迟(我用700行测试了这一点,根本没有延迟)
那么,TableView在这种特定情况下缺乏性能的原因是什么?有没有解决此问题的方法?行是“虚拟化”的,这意味着单元格基本上只为
我需要在Java1.6上运行SpringCloud
我尝试了SpringInitializer,它在build.gradle中提供了Java1.8,尽管选择的是Java1.6
我调查了一下,没什么帮助
我尝试在Java6上编译SpringCloud,结果
“java.lang.IllegalArgumentException:无法实例化接口org.springframework.context.ApplicationListener:org.springframework.cloud.boots
如何在Java1.5中转换下面提到的代码
final List<String> filteredEntries = entries.stream()
.filter(e -> e.toLowerCase().contains(getText().toLowerCase()))
.collect(Collectors.toList());
searchResult.addAll(fitleredEntries)
final List filteredEntri
我有一个数组列表,其中包含两个字符串:
List<String[]> pets = {["Alice", "dog"], ["Bob", "horse"], ["Alice", "cat"], ["Bob", "cat"]}
列出宠物={[“爱丽丝”、“狗”]、[“鲍勃”、“马”]、[“爱丽丝”、“猫”]、[“鲍勃”、“猫”]}
我想将它们转换为从字符串到字符串列表的映射,如下所示:
Map<String, List<String>>> pets =
是否可以将下面给出的for循环转换为Java8代码
Object[] args = pjp.getArgs();
MethodSignature methodSignature = (MethodSignature) pjp.getStaticPart()
.getSignature();
Method method = methodSignature.getMethod();
Annotation[][] parameterAnnotation
对于以下输入:
输入1=“0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.10”
INPUT2=“404671.00 | 0.00 | 0.00 | 417975.64 | 0.00 | 0.00 | 417353.81 | 0.00 | 0.00 | 418908.39 |”
INPUT3=“404671.00 | 0.00 | 0.00 | 417975.64 | 0.00 | 0.00 | 417353.81 | 0.00 | 0.00 | 4189
当我使用javax.net.ssl.SSLSocketFactory创建连接时,如何通过Java客户端获取支持的密码列表
我们使用Java8
我已经签入了jre/lib/security/java.security。
我只能找到禁用密码的列表
jdk.tls.disabledAlgorithms=DES, DESede, 3DES, SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, 3DES
我将我的项目升级到Java 8(jdk1.8.0_191),当我尝试使用ANT“apache-ANT-1.10.5”构建我的项目时,它抛出以下错误
[javac] java:43: error: package org.docx4j does not exist
[javac] import org.docx4j.TraversalUtil;
[javac] ^
[javac] Servlet.java:44: error: package org.docx4
在Windows7上尝试使用JTDS1.3+jdk1.8(64)时,出现以下错误
Exception in thread "main" java.lang.RuntimeException: Error initializing DESEngine
at net.sourceforge.jtds.util.DESEngine.init(DESEngine.java:76)
at net.sourceforge.jtds.util.DESEngine.<init>(DE
最后,在Java8中使用CompletableFuture dealio。我(在我的IDE中)遇到了一个编译错误,我真的不明白
我有一个标识符列表,我想附加到一个URL,然后异步调用每个URL。到目前为止,我只有这两种方法
private void process(List<String> identifiers) {
List<CompletableFuture<String>> futures = identifiers.stream()
我有一份学生名单,每个学生可以注册几个科目。
因此,每个学生都有一份科目表。我想使用Java8特性对主题进行分组。
我想不出一个办法。任何帮助都将不胜感激。这只是使用groupBy的一个示例。你可以在网上找到许多其他的例子。[此示例取自]
按价格对项目进行分组:collector.groupingBy和collector.mapping示例
public static void main(String[] args) {
//3 apple, 2 banana, others
是否可以将Jersey与Moxy一起用于Json和Java8选项
如何配置它?您可以声明以下类:
public class OptionalAdapter<T> extends XmlAdapter<T, Optional<T>> {
@Override
public Optional<T> unmarshal(T value) throws Exception {
return Optional.ofNullab
最新发布的属性检查功能及其使用示例如下:
Arbitrary<Integer> ints = Arbitrary.integer();
// square(int) >= 0: OK, passed 1000 tests.
Property.def("square(int) >= 0")
.forAll(ints)
.suchThat(i -> i * i >= 0)
.check()
.ass
阅读关于Java8流的文章,发现
Java流是可消费的,因此无法创建引用
以供将来使用。因为数据是按需提供的,所以不是
可以多次重复使用同一个流
同时在同一篇文章中
//sequential stream
Stream<Integer> sequentialStream = myList.stream();
//parallel stream
Stream<Integer> parallelStream = myList.parallelStream();
//顺序流
我必须在我用Java8编写的程序中使用MinguoDate
我有字符串格式的当前日期:
字符串currentDate=“2018-07-20”
谁能告诉我如何使用java8将当前日期转换为民国日期
注意:MinguoDate日历系统主要用于台湾(中华民国)您可以将字符串解析为LocalDate实例,然后将其结果放入MinguoDate.from方法,以生成MinguoDate
MinguoDate minguoDate = MinguoDate.from(LocalDate.parse(curr
我目前正在努力提高我的Java8技能,偶然发现了这个案例。
我的目标是用方法fooStream中的一些Java8流替换方法foo中现有的循环
问题是,我在循环中调用了一个非常昂贵的操作,并希望在调用的结果满足我的期望时退出它。我的流实现现在总是比我的老式循环实现多进入一次极其昂贵的操作(在map调用中)
我的流实现是否可以改进以防止此额外调用
public class Foo {
public static void main(final String[] args) {
final
我有一个列表,里面有一个列表;我想按如下方式重新订购:
public class Provider {
Long idProvider;
String name;
List<Invoice> invoiceList;
...
}
public class Invoice {
Long idInvoice;
Integer order;
BigDecimal value;
LocalDate dueDate;
.
我有一个spring集成流。它读取文件。该文件可以属于消费者。一旦我找到消费者,我想将该消费者添加到标题中,以便稍后我可以使用,例如在错误处理中,我可以检查我是否获得了查看标题的消费者
IntegrationsFlows.from(directorySource)
.transform(new ConsumerFinderTransformer()
.enrichHeaders(h -> h.header("CONSUMER" ,payload)
如何在ConsumerFinderTra
“创建OpenJSSE项目是为了向现有Java 8应用程序添加对TLS 1.3的支持,而无需更改代码”
如何准确地使用这个项目
我目前正在使用针对Java 8的采用openjdk版本。正如openjdk()的问题日志中所提到的:
OpenJSSE for OpenJDK可以通过两种可能的方式安装:
在java.security文件的安全提供程序列表中添加OpenJSSE提供程序
在运行时使用Security.insertProviderAt方法注册
但是,只要AzulJDK8版本已经预集成并
我正在尝试执行一个操作并将这些值添加到int[]中
我在流中收集了这些值,但在打印这些值时,我发现流被关闭了
我的代码如下:
import java.util.*;
import java.util.stream.*;
import java.util.function.Supplier;
public class Main
{
public static void main (String[]args)
{
IntStream mystream = IntStream.of (
我在我的应用程序中使用了这段代码,我发现它非常难看。
有没有聪明的方法
for (final ApplicationCategories applicationCategorie : applicationCategories) {
if (applicationCategorie == ApplicationCategories.PROJECTS) {
// invoke right method
} else if (a
我是Java8Lambda的新学员。
我在一本书中找到一句话(Java8代表真正不耐烦的人),说,
lambda表达式在某些分支中返回值而在其他分支中不返回值是非法的。例如,(int x)->{if(x>=0)return 1;}无效。“
有人能解释一下吗?请提供一些例子
提前谢谢。你不懂的地方我也不懂。例如,这会编译吗
static int test(int x) {
if(x >= 0) {
return 1;
}
}
lambda表达式也是如此
我正在使用Logback库记录我的客户机-服务器应用程序模型中的所有客户机和服务器错误。现在,我在客户机上实现了一个自定义appender,用于将ILOGingEvent对象发送到服务器。现在我需要找到一种方法,在数据库中写入ILoggingEvent,就像使用logger.error(“exception”,“user”,stacktrace)发送一样函数。如何在Logback API中实现这一点?您搜索了多少?您需要一个DB Appender,请参见此处:我无法使用DB Appender,因
比如说我有
something.stream()
.filter(filterMethod) // Same
.map(mapMethod) //
.map(somethingElse)
.filter(filterMethod) // Same
.map(mapMethod) //
.filter(otherFilter)
.filter(fil
因此,我有一个列表,对于列表中的每个项目,我必须根据每个列表元素“做点什么”
该列表由代码组成,共有5个代码。该列表可能包含任何或所有代码
到目前为止,我已经使用了forEach,并在其中编写了if条件,如下所示-
List<Category> categories = getCategories();
categories.stream().forEach(category -> {
if(category.equals(Category.A)) {
我有一个像下面这样的班级
class Student {
public Student(Set<String> seminars) {
this.seminar = seminars;
}
Set<String> seminar;
public Set<String> getSeminar()
{
return seminar;
}
}
List<Student> s
标签: Java 8
completable-futureuncaughtexceptionhandler
用例:
链运行期间发生异常
的,或方法未附加到该可完成的未来链
结果:
该异常从未被捕获,并且没有跟踪/记录。在异步系统的情况下,这是1)不可取的,2)难以发现的隐藏问题(如NPE、运行时Exc等)的指标
问题:
通过类比/以与java.lang类似的方式实现CompletableFuture.UncaughtExceptionHandler机制是否可行。?我们的想法是,如果CompletableFuture链没有附加java.util.concurrent.CompletableFutur
为什么单词只在某些情况下在单元格中换行,我如何修复它使其工作(在列中换行文本),而不管文本如何
MATNUMBERUCHACHBMPVAIRD4EFANFUC
(com.itextpdf.layout.renderer.RootRenderer-元素不适合
当前区域)这是为什么,不工作文本不显示在PDF中(并在下面创建问题…)
MATNUMBERUCACHB-PVAIRD4EFANFUC(工作正常..包装在
“-”)
MatNumberUCHACH1MPVAIRD4EFANFUC(在中间工程中
标签: Java 8
ubuntu-serverglassfish-5
试图启用安全管理,但不断出现以下错误:
Command create-domain executed successfully.
root@ip-123456:/opt/glassfish5/glassfish/bin# asadmin start-domain mydomain
Waiting for mydomain to start .......
Successfully started the domain : mydomain domain
Location: /o
下面的错误发生在日志中。应用程序在上个月之前一直运行良好,并且它在没有任何更改的情况下突然出现。我试图找到更多关于这一点的信息,我发现,这是由于对zip/jar进行了修改,特别是在Linux中(Windows不允许修改)。建议查找有问题的代码/场景,我无法识别这些代码/场景,因为这只发生在生产中。还建议使用-Dsun.zip.disableMemoryMapping=true系统属性运行JDK。这将禁用内存映射,而应用程序将以“文件损坏”类型ZipException失败。此属性也会对性能产生一些
我很难理解如何在Java7中“迁移”一个简单的比较器
我在Java8中使用的实际版本如下:
private static final Comparator<Entry> ENTRY_COMPARATOR = Comparator.comparing(new Function<Entry, EntryType>() {
@Override
public EntryType apply(Entry t) {
return t.type;
我正在学习RxJava(绝对是新的,如果这个问题太基础的话,很抱歉),而且我在错误处理机制方面遇到了困难(我已经阅读了文档,但这对我来说是一种高级的理解)
这是我的密码
public static void main(String[] args) {
Observable<String> source = Observable.just("Alpha", "Beta", "Gamma", "Upma", "Idly");
Observer<String>
我有一个整数列表,我想使用Java8流返回这个列表中的整数子列表,其中我的子列表在遇到一个负整数之前包含了原始列表中的所有正整数
例如,假设我的列表中有元素
[1 , 2 , 0 , -1 , 5 , 8 , 9 , -11 , 7 , 13 ]
然后我应该返回包含
[1 , 2 , 0 ] [ 5 , 8 , 9 ] [7 , 13]
我尝试了以下方法,但不起作用,非常感谢您的指导和意见
package Java8;
import java.util.ArrayList;
imp
熟悉我的问题的人可能都知道,Oracle JDK 8不再免费接收公共更新。我的开发团队通过GlassFish 4.1.1部署应用程序,这是我们所了解和喜爱的,但我们对它的继续使用感到紧张,因为我们无法通过Oracle获得公开的JDK更新
我做了一些背景研究,似乎暗示采用OpenJDK可以很好地与GlassFish配合使用,但就我从Oracle或Eclipse中看到的情况来看,在线上没有明确的指导。看起来确实有一些帖子暗示用户已经使用了Zulu,但是缺乏官方指导是令人沮丧和困惑的
我在这里特别要问
我了解到每次遇到捕获lambda时都会对其进行评估。然而,它只能捕获一个有效的最终变量。那么,有什么必要重新评估这样一个lambda呢 例如,变量this实际上是最终变量,但是this的字段可能会更改,因此需要重新评估lambda。您不能保证每次遇到lambda时字段(或状态)都是相同的。局部变量实际上是最终变量,这意味着该变量的实例不会更改。这并不意味着当您再次运行代码(例如,在函数的另一次运行中,或在包含该变量的循环的另一次运行中)时,该变量的新实例将与该变量的前一个实例相同。最终变量将指向
我正在使用Nashorn实现一些性能敏感的代码。我是这样做的:
private ScriptEngine engine = new NashornScriptEngineFactory().getScriptEngine(new String[] { "--no-java" });
String someExpression = "someFunction() + someVariable";
// this compiled script gets cached, caching code
我从Java7升级到Java8时遇到了这个异常:
java.lang.CompatibleClassChangeError:应为静态方法sun.util.resources.LocaleData.getNumberFormatData(Ljava/util/Locale;)Ljava/util/ResourceBundle
我正在使用jre1.8.0\u 31来解决这个问题:
更新atdl4j.jar
您可以从这里的[a链接]:()下载它,请包括发生此错误的代码。错误14:43:43574[Lo
我在JPanel上有一个文本字段,在这个文本字段上有一个文档侦听器。
由于文档侦听器包含三个methodremoveUpdate、insertUpdate和changeUpdate,所以如何使用Lambda表达式调用特定的方法
field.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent a
标签: Java 8
bouncycastlewildfly-8java-security
使用Wildfly 8时,即使未加载任何应用程序,Bouncycastle提供程序似乎也会自动加载-通过在standalone.bat中设置-Djava.security.provider选项(在server.log文件中找到行Set BC provider property)可以找到这一点。移除BC模块本身可以防止Wildfly启动(我记得是焊接错误)。我没有将BC列为java.security.policy中的提供者
Wildfly 9似乎不会自动加载BC,但如果我点击使用Resteasy的
此代码将字符串流化为字符值的IntStream,并将各个值相加:
private static int getSumOfDigits(String line) {
return line.chars().sum();
}
如果您输入23,您可能会得到5,但显然我得到101。这里出了什么问题?原因是,添加的不是数值,而是字符2和3的ascii值,即50和51
要获得真正的结果,可以使用java.lang.Character.getNumericValue将字符转换为期望的
我刚刚用java8版本将Spring应用程序从3.2版升级到4.2.5版和tomcat8版。应用程序构建和服务器启动进行得很顺利,但是当我点击应用程序URL时,我得到了以下错误
错误
Exception: class org.apache.tiles.impl.CannotRenderExceptionJSPException including path '/WEB-INF/jsp/content/header.jsp'.
org.apache.tiles.impl.CannotRenderE
标签: Java 8
java-timedatetimeoffsetdatetime-parsing
我正在将日期/日期时间字符串转换为OffsetDateTime,并且我有一个日期时间格式,它可能有以下值之一
yyyy-MM-dd, yyyy/MM/dd
有时有时间,有时没有时间,我需要将其转换为OffsetDateTime
我试过下面的代码
// for format yyyy-MM-dd
DateTimeFormatter DATE_FORMAT = new DateTimeFormatterBuilder().appendPattern("yyyy-MM-dd")
如何用Java8编写此代码
for (Iterator<RecordVo> iterator = list.iterator(); iterator.hasNext();) {
RecordVo recordVo = (RecordVo) iterator.next();
ExecutionContext singleThreadExecutionContext = new ExecutionContext();
我的问题与已经提出的问题有点相似。我的意见如下:
Map<String, Object> m1 = new HashMap<>();
m1.put("group", "1");
m2.put("A", 10l);
m2.put("B", 20l);
m2.put("C", 100l);
Map<String, Object> m2 = new HashMap<>();
m1.put("group", "1");
m2.put("A", 30l);
标签: Java 8
java-streamtype-inferencecollectorsfunctional-interface
有人能给我解释一下吗,为什么编译器不能自动推断出这个表达式类型
Stream.empty().collect(Collectors.summingit(CharSequence::length))
我们知道在此上下文中CharSequence::length是ToIntFunction,因此从流元素中使用的类型是CharSequence,因此,正在收集的流是stream类型
在我的IDE上,出现以下错误:
collect(CollectorJava的Stream.empty()方法是一个具有以下
标签: Java 8
redhatjbossfuseblueprint-osgi
我无法在Red Hat Fuse 7.2(或7.3)上演示使用简单的水仙花方法。
对我的“DfdlProcessor.java”处理方法的驼峰DSL路由调用如下所示
我的简单dfdlProcessor的“process()”方法看起来像
…非常感谢--令人头痛的是,我似乎在pom.xml中提供了正确的依赖关系,并将相同的jar放在了“deploy”文件夹中
(另外,请注意,当处理器调用-即“.process(dfdlProcessor)”-被注释掉(禁用)时,路由工作正常。)
红帽保险丝7.2
标签: Java 8
concurrenthashmapatomicity
我正在开发一个高度并发的应用程序,它使用基于ConcurrentHashMap的对象缓存。我对ConcurrentHashMap的理解是,调用“compute”方法家族可以保证重映射函数的原子性。然而,我发现了一些异常行为:偶尔会多次调用重映射函数
我的代码中的以下代码片段显示了这是如何发生的,以及我必须做些什么来解决这一问题:
private ConcurrentMap<Integer, Object> cachedObjects
= new Concurrent
我有一个应用程序,它接收用户输入的主机名,并尝试使用HttpURLConnection连接到它。我经常输入错误的主机名,我必须等待10秒才能返回connect函数。有没有什么方法可以在不使用额外线程来包装连接代码的情况下减少此时间?我已经尝试过使用setConnectTimeout和setReadTimeout,但没有任何运气
以下是我如何设置连接:
uri在本例中是指向我正在测试连接的api的路径
超时被设置为500(毫秒)
或者,有人能解释为什么这些超时没有效果吗
HttpURLConnec
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 35 页