小编lok*_*ely的帖子

循环时无法访问代码

当我编译这段代码时

public static void main(String [] args) {

        int x = 0;        

        while(false)
        {                        
            System.out.println(hello);
        }
    }
Run Code Online (Sandbox Code Playgroud)

它显示编译时错误无法访问的代码.

但是,当我修改此代码时

public static void main(String [] args) {

        int x = 0;        
        boolean result = false;
        while(result)
        {                        
            x=4;
        }
    }
Run Code Online (Sandbox Code Playgroud)

它工作正常.

有人能告诉我这种行为背后的原因.

java while-loop

3
推荐指数
2
解决办法
2222
查看次数

Couchbase 6.0 + springboot(InvalidPasswordException)

嗨,我是Couchbase的新手,并使用Couchbase 6.0创建了一个Springboot应用程序.

当我安装Couchbase时,它要求我创建用户名和密码,然后我设置username ="admin"和password ="password"然后我创建了"student"存储桶.

我在application.properties文件中完成了所有必需的配置.

spring.couchbase.bootstrap-hosts=127.0.0.1
spring.couchbase.bucket.name=student
spring.couchbase.bucket.password=password
Run Code Online (Sandbox Code Playgroud)

在服务器启动时,我收到以下错误

Caused by: com.couchbase.client.java.error.InvalidPasswordException: null
Run Code Online (Sandbox Code Playgroud)

Couchbase Web控制台,我添加了一个安全选项卡,用户名"admin"(我在Couchbase服务器安装期间创建),并给予完全管理员访问权限 在此输入图像描述

在服务器重新启动时,我遇到了同样的问题

然后我在那里添加了一个用户"学生"(与我的桶名相同)并给予完全管理员访问权限

在此输入图像描述

这次我的服务器成功启动,我没有得到任何异常

所以我在这里有两个问题,

1:我是否需要在安全选项卡中的Couchbase服务器中创建与用户名一样多的用户名?

2:假设我只想使用用户名"admin"(我在Couchbase服务器安装期间创建),我将如何实现这一目标?

有人可以对这种行为有所了解吗?

couchbase spring-boot spring-data-couchbase

3
推荐指数
1
解决办法
613
查看次数

java支持编译时是否支持多态?

根据我的理解,只有虚函数根据OOPS概念支持运行时多态,而在java中,默认情况下除标记的private,final和static之外的所有函数都是虚拟的.

那是不是意味着,java不支持编译时多态?

如果确实如此,那么我们可以假设它违反了OOP原则.

java oop polymorphism

2
推荐指数
1
解决办法
2392
查看次数

无法部署 couchbase 事件功能

我在存储桶学生记录中有一个文档“学生”,其中记录了 id。

{
  "id":"101",
  "fname": "abc",
  "lname": "xyz",
  "rank": "1",
  "scholarShip": "",
  "grade": ""
}
Run Code Online (Sandbox Code Playgroud)

我的工作是找到所有排名为 1 的学生,然后在相应的文档中更新“奖学金”和“成绩”。

我在 Couchbase 中创建了一个事件函数,如下所示

function OnUpdate(doc, meta) {
    log('docId', meta.id);
       try {
        var rankValue = SELECT rank FROM `student-records` USE KEYS ["id"];
        for (var rv of rankValue) {
            if (rv==1) {  
               UPDATE `student-records` USE KEYS ["id"] set scholarShip="100%", grade="A";
        }
     }
    } catch(e) { log(e); } 
}
Run Code Online (Sandbox Code Playgroud)

在部署这个时,我收到一个错误:

部署失败:语法错误 (7, 16) - 无法在存储桶“student-records”上执行 DML 查询

在创建函数时,我已经声明:

源存储桶 => 学生记录

元数据桶=>学生记录元数据

couchbase spring-data-couchbase sql++

2
推荐指数
1
解决办法
160
查看次数

subscribeOn(Schedulers.parallel()) 不起作用

我正在学习反应堆核心并关注这个https://www.baeldung.com/reactor-core

ArrayList<Integer> arrList = new ArrayList<Integer>();
System.out.println("Before: " + arrList);
Flux.just(1, 2, 3, 4)
  .log()
  .map(i -> i * 2)
  .subscribeOn(Schedulers.parallel())
  .subscribe(arrList::add);

System.out.println("After: " + arrList);
Run Code Online (Sandbox Code Playgroud)

当我执行上面的代码行时,给出。

 Before: []
 [DEBUG] (main) Using Console logging
 After: []
Run Code Online (Sandbox Code Playgroud)

上面的代码行应该在另一个线程中开始执行,但它根本不起作用。有人可以帮我吗?

reactive-programming reactive-streams spring-webflux

0
推荐指数
2
解决办法
2835
查看次数