假设我有一个检查db中的id的方法,如果该id没有退出,则插入具有该id的值。我如何知道这是否是线程安全的,以及如何确保其线程安全。我是否可以使用任何一般规则来确保它不包含竞争条件,并且通常是线程安全的。
public TestEntity save(TestEntity entity) {
if (entity.getId() == null) {
entity.setId(UUID.randomUUID().toString());
}
Map<String, TestEntity > map = dbConnection.getMap(DB_NAME);
map.put(entity.getId(), entity);
return map.get(entity.getId());
}
Run Code Online (Sandbox Code Playgroud) 我尝试在其中一个承诺实现中测试 MDN 中给出的示例。它给了我如下错误。
错误
Uncaught TypeError: doSomething(...).then is not a function
at promise.js:16
Run Code Online (Sandbox Code Playgroud)
JS文件
function successCallback(result) {
console.log("Success" + result);
}
function failCallback(fail) {
console.log('fail' + fail);
}
function doSomething(successCallback, failCallback) {
return "Yello";
};
doSomething(successCallback, failCallback);
doSomething().then(successCallback,failCallback);
Run Code Online (Sandbox Code Playgroud) 我试图在Java 8中编写一个简单的素数程序.下面是程序.我也希望减少代码isPrime().有一些从过滤元件2到n/2,然后再应用过滤器n%i == 0这将使isPrime无关?
import static java.util.stream.Collectors.toList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
public class Stream1 {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 20);
// Prime number
System.out.println(numbers.stream()
.filter(Stream1::isPrime)
.collect(toList()));
}
public static boolean isPrime(int number) {
for (int i = 2; i <= number / 2; i++) {
if (number % i == 0) {
return false; …Run Code Online (Sandbox Code Playgroud) 我有一个FootballTeam包含Footballer类的类.使用流可以FootballTeam从足球队列表中获取,如果FootballTeam包含Footballer特定的id.是否可以使用流进行以下操作.即获得targetFootballer和targetTeam;
FootballTeam targetTeam = null;
Footballer targetFootballer = null;
for(FootballTeam team : list.getFootballTeams()){
for(Footballer f : team.getFootballers()) {
if(f.getId() == 1){
targetFootballer = f;
break;
}
}
if(targetFootballer != null) {
targetTeam = team;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试查找 kafka 与 springboot 连接的示例。看起来kafka connect没有spring boot集成。有人能指出我正确的方向,以便能够监听 mysql db 的变化吗?
Apache Directory Studio无法开始提供以下异常。我正在使用Mac OS X High Sierra 10.13.5。我的机器上装有jdk 10、8和7。所以我用jdk创建了一个.ini文件,分别为7和8,但仍然收到相同的错误。任何想法如何解决这个问题?
!SESSION 2018-06-13 21:59:34.613 -----------------------------------------------
eclipse.buildId=unknown
java.version=10.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_IN
Framework arguments: /studio-rcp/resources/icons/linux/studio.xpm -keyring /Users/vamsikrishna/.eclipse_keyring
Command-line arguments: -os macosx -ws cocoa -arch x86_64 /studio-rcp/resources/icons/linux/studio.xpm -keyring /Users/vamsikrishna/.eclipse_keyring
!ENTRY org.eclipse.osgi 4 0 2018-06-13 21:59:43.056
!MESSAGE Application error
!STACK 1
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:490)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:504)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:203)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:632)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.apache.directory.studio.Application.start(Application.java:51)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at …Run Code Online (Sandbox Code Playgroud) 我stream喜欢这样.是否有可能从.map(i->arr[i]).map(arr)改为:因为两者都是我?
public String toString() {
return Arrays.toString(IntStream.range(0, position).map(i->arr[i]).toArray());
}
Run Code Online (Sandbox Code Playgroud) I\xe2\x80\x99m 使用 \xe2\x80\x98FlatFileItemReader\xe2\x80\x99 来处理文件。我也想读带有 # 的行。目前,它只是跳过线路。
\njava ×3
java-8 ×3
apache ×1
apache-kafka ×1
java-stream ×1
javascript ×1
primes ×1
spring-batch ×1
spring-boot ×1