This is now the third or fourth time that this has happened in the last couple of weeks: When I launch Postman all I get is a blank screen:
The only way to get around this that I have found is to reboot my workstation, which is of course a PITA.
I am using Ubuntu 18.04.4 LTS, 7.20.0.
Any fixes, workarounds etc are welcomed.
当我运行以下代码时
List<Integer> list = IntStream.range(0,10).boxed().collect(Collectors.toList());
list.stream().forEach(i -> {
System.out.println("i:" +i);
if (i==5) {
System.out.println("..adding 22");
list.add(22);
}
});
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
i:0
i:1
i:2
i:3
i:4
i:5
..adding 22
i:6
i:7
i:8
i:9
Exception in thread "main" java.util.ConcurrentModificationException
Run Code Online (Sandbox Code Playgroud)
为什么代码超越索引5?我不会在输出中预期以下行:
i:6
i:7
i:8
i:9
Run Code Online (Sandbox Code Playgroud)
关于forEach的行为,我在这里遗漏了一些东西.文档确实声明"此操作的行为明确是不确定的".然后继续讨论并行流.我希望并行流可以以任何顺序执行forEach,但是串行流肯定会串行执行消费者为forEach执行吗?如果是这样,为什么Java允许代码超越索引5处生成的异常?这里有一个主题,对吗?
先感谢您.
编辑:感谢您的答案到目前为止.要明确我的观点,如果我这样做:
for(int i: list){
System.out.println("i:" +i);
if(i==5) {
System.out.println("..adding 22");
list.add(22);
}
}
Run Code Online (Sandbox Code Playgroud)
我明白了:
i:0
i:1
i:2
i:3
i:4
i:5
..adding 22
Exception in thread "main" java.util.ConcurrentModificationException
Run Code Online (Sandbox Code Playgroud)
但我不会在forEach中得到它.所以似乎串行流forEach不是迭代器,无论是手摇(Iterator iter = list.iterator ...)还是增强的for循环迭代器.这对我来说意外.但似乎答案似乎是出于"表现原因".但它仍然......出乎意料.只是为了踢,我尝试了1m元素的列表:
List<Integer> list = IntStream.range(0,1000000).boxed().collect(Collectors.toList());
list.stream().forEach( …Run Code Online (Sandbox Code Playgroud) 在 Windows 上我可以运行
C:\WINDOWS\system32>mysql -u root -pxxxx
Run Code Online (Sandbox Code Playgroud)
或者有一个类似 shell 的程序"MySQL Shell x.y\bin\mysqlsh.exe"
从高层次来说,这两者之间有什么区别?你什么时候会使用其中一种而不是另一种,为什么?我在 Oracle 上使用 sqlplus 有很多经验;mysqlsh 是否像 sqlplus 一样,从某种意义上说,它提供的功能比通过 cmd.exe 进行的控制台访问要多得多?
提前致谢。
从java2s的这个简单示例开始:
Stream.of("XML", "Java", "CSS")
.flatMap(name -> IntStream.range(0, name.length()).mapToObj(name::charAt))
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
输出是
X
M
L
J
a
v
a
C
S
S
Run Code Online (Sandbox Code Playgroud)
我试图了解flatMap内部发生了什么.我想看看IntStream.range的输出,但我无法让它工作.看起来你可以将一个forEach(SOP)打到一个IntStream.range(a,b)上,但当它在flatMap函数内部时,就无法完成(而且我没有注意到整个name -> IntStream.range(0, name.length()).mapToObj(name::charAt)都是flatMap函数的参数.如何将flatMap函数与IntStream.range一起使用,将字符串转换为与单词长度对应的数字序列?
我试过这个:
Stream.of("XML", "Java", "CSS")
.flatMap(name -> IntStream.range(0, name.length()))
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
但它没有编译.我期待这条线
.flatMap(name -> IntStream.range(0, name.length()))
Run Code Online (Sandbox Code Playgroud)
取字符串并将其转换为0,1,2,0,1,2,3,0,1,2.我有什么误会?如何使用输出得到这个数字序列name -> IntStream.range(0, name.length())?
先感谢您.
我在Eclipse控制台中看不到Glassfish的日志。
我尝试在“服务器”->“ Glassfish”->“查看日志文件”中的GlassFish服务器上单击鼠标右键,但它显示的文件以以下结尾:
2018-09-04T18:36:51.945+0100|Severe: The SSL certificate has expired: [
[
Version: V3
Subject: OU=Equifax Secure Certificate Authority, O=Equifax, C=US
Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
Key: Sun RSA public key, 1024 bits
modulus: 135786214035069526348186531221551781468391756233528066061569654028671100866720352830303278016129003918213826297308054231261658522889438712013757624116391437358730449661353175673177742307421061340003741057138887918110217006515773038453829253517076741780039735595086881329494037450587568122088113584549069375417
public exponent: 65537
Validity: [From: Sat Aug 22 17:41:51 BST 1998,
To: Wed Aug 22 17:41:51 BST 2018]
Issuer: OU=Equifax Secure Certificate Authority, O=Equifax, C=US
SerialNumber: [ 35def4cf]
Certificate Extensions: 7
[1]: ObjectId: 1.2.840.113533.7.65.0 Criticality=false
Extension unknown: DER encoded OCTET string =
0000: 04 0D …Run Code Online (Sandbox Code Playgroud) 编辑 - 这已解决 - 问题已通过设置解决:“设置 -> 构建、执行、部署 - Java 编译器 -> 项目字节码版本:9”
我正在关注https://www.logicbig.com/tutorials/core-java-tutorial/modules/getting-started-in-intellij.html 上的示例/教程
这不是一个 Maven 项目。我已在项目结构中将源级别设置为 9,例如
我已将项目级别设置为 9:
尝试构建/运行项目的主类时,我收到“错误:(3, 4) java:-source 8 中不支持模块(使用 -source 9 或更高版本来启用模块)”错误。
是的,我已经看到Intellij IDEA 2018.1 Jdk10 无法运行没有回答的测试。
我刚刚将 Intellij 更新到 2019.2.4,但问题仍然存在。我正在使用 SDK 11。如何解决这个问题?谢谢。
编辑:运行/调试配置选项:
编辑:错误:
编辑:平台 SDK:
编辑:依赖项面板:
FWIW,iml 文件的内容显示语言级别 9:
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_9" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry …Run Code Online (Sandbox Code Playgroud) 我确信这是非常基本的,但我很困惑.
如果我在浏览器中调用以下函数:
function bar(){
var userInput=prompt("Enter a number between 1 and 20");
if(userInput>=1 && userInput<=20){
var x=Number(userInput)+15;
for(var i=0;i<x;i++){
console.log("<br> blah. x=" + x ); //line1
//console.log("<br> blah. x=" + x + " i=" + i ); //line2
}
} else {
console.log("Invalid number; please try again");
}
}
Run Code Online (Sandbox Code Playgroud)
和供应(比如说)的值5,我意外地得到以下一个输出线:
<br> blah. x=20
Run Code Online (Sandbox Code Playgroud)
但是,如果我提供相同的值,但注释掉第一行并取消注释第二行,我得到以下(预期)输出:
<br> blah. x=20 i=0
<br> blah. x=20 i=1
<br> blah. x=20 i=2
<br> blah. x=20 i=3
<br> blah. x=20 i=4
<br> blah. x=20 i=5 …Run Code Online (Sandbox Code Playgroud) 类型:"隐藏:项目所包含的页面的源代码中,但没有渲染隐藏的项值保存在会话状态它们通常用于逐页处理或其他页面项目所需的存储值,但不应该显示的.最终用户."
服务器端条件:"从不:组件永远不会被渲染."
如果项目的类型设置为隐藏,是否有必要将服务器端条件设置为永不?或者这是多余的?
提前致谢.
在https://javaee.github.io/tutorial/cdi-adv-examples005.html#GKHPA的 JEE8 教程中,它有一个拦截器,该拦截器用自己的拦截器绑定进行注释。以下内容摘自教程:
拦截器类 LoggedInterceptor及其拦截器绑定Logged 都在拦截器包中定义。Logged 拦截器绑定定义如下:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface Logged {
}
Run Code Online (Sandbox Code Playgroud)
LoggedInterceptor 类如下所示:
@Logged
@Interceptor
public class LoggedInterceptor implements Serializable {
//...more code
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,拦截器类本身有必要使用@Logged注解吗?我已经运行了没有 @Logged 注释的代码,即:
@Interceptor
public class LoggedInterceptor implements Serializable {
//...
Run Code Online (Sandbox Code Playgroud)
它的行为方式似乎完全相同。通过摆弄代码,在我看来,将 @Logged 注释添加到方法 foo 就是将 foo 标记为需要拦截的方法的方式。那么将 LoggedInterceptor 类标记为 @Logged 有什么意义呢?
谢谢你的帮助。
我将它们捆绑在一起,因为我认为它们是相关的。最简单的简单代码位:
'use strict';
const x = document.querySelector('#score strong');
Run Code Online (Sandbox Code Playgroud)
导致以下
"use the function form of use strict (W097)"
"document is not defined (W117)"
Run Code Online (Sandbox Code Playgroud)
这可能是错误或警告;W 提出警告,但我不知道如何确定这一点。
那么,另一个问题:这些是警告还是错误,我该如何告诉自己?这是在哪里引用的?
我正在使用 Atom 1.31,我认为是 JSHint(不管那是什么 - 我对这一切都很陌生)。我正在使用 ES6 - .jshintrc:
{
"esversion": 6
}
Run Code Online (Sandbox Code Playgroud)
我应该如何在全局范围内指定 use strict ?将它放在一个函数中以便它在全局范围内使用意味着,呃,将我的脚本的全部内容放在一个函数中。不?是的?
而我如何规避这个文件中没有定义的东西呢?我试过了
const document=this.document;
const document=global.document;
const document=window.document;
Run Code Online (Sandbox Code Playgroud)
所有结果都会导致警告/错误(无论如何)。
所以,要清楚,我的问题是:
这些是警告还是错误,我该如何告诉自己?
我如何并且确实需要绕过使用严格的东西?
我该如何并且确实需要,规避文档中没有定义的东西?
java ×3
java-8 ×2
java-stream ×2
javascript ×2
arrays ×1
cdi ×1
eclipse ×1
ejb ×1
glassfish ×1
jakarta-ee ×1
java-9 ×1
java-module ×1
jshint ×1
lambda ×1
list ×1
mysql ×1
oracle-apex ×1
postman ×1