小编une*_*q95的帖子

如何将LocalDateTime转换为com.google.protobuf.Timestamp?

我有一个LocalDateTime实例,该实例是从存储库层获得的,需要将其转换为Timestamp(协议缓冲区)实例。

我习惯了以下转换方法:

LocalDateTime localDateTime = LocalDateTime.now();//this can be any date

Instant instant = localDateTime.toInstant(ZoneOffset.UTC);

Timestamp timestamp = Timestamp.newBuilder()
                            .setSeconds(instant.getEpochSecond())
                            .setNanos(instant.getNano())
                            .build();
Run Code Online (Sandbox Code Playgroud)

是否在这里使用ZoneOffset来将localDateTime转换为Instant实例,对吗?

我使用了UTC偏移量,因为在Timestamp类中对“ seconds”属性的注释如下:

表示自Unix时代1970-01-01T00:00:00Z以来的UTC时间的秒数。必须介于0001-01-01T00:00:00Z至9999-12-31T23:59:59Z(含)

我是否使用了正确的ZoneOffset,并且转换方法正确吗?

java protocol-buffers java-8

5
推荐指数
2
解决办法
1838
查看次数

添加新节点时,链表的浅表副本无法反映更改

图 我已经读了很多书,但是好像不问这里就无法消除我的困惑。基于该图,当我使用clone()创建链表的浅表副本时。创建一个新的链表,并将原始变量中head变量的引用值复制到克隆的变量中,并共享其余节点。因此,如果我使用克隆添加新节点,则原始节点应该可以看到它,不是吗?但是当输出列表1时,将省略值3。有人可以告诉我为什么吗?

LinkedList<Integer> list1 = new LinkedList<>();
l1.add(1);
l1.add(2);
LinkedList<Integer> list2 = (LinkedList) l1.clone();
l2.add(3); 
Run Code Online (Sandbox Code Playgroud)

java linked-list

5
推荐指数
1
解决办法
184
查看次数

与 HikariCP 的并发

我有一个java程序,它更新oracle数据库中的表。

我已经尝试使用单个 JDBC 连接,但速度非常慢,需要几个小时才能完成。

我正在尝试使用 HikariCP 来创建连接池,并让多个线程从池中获取单独的连接。

假设池中有 6 个线程和 5 个数据库连接,其中 5 个线程调用该HikariDataSource.getConnection()方法。他们每个人都会得到一个单独的数据库连接对象吗?

如果是,那么当线程调用 getConnection 方法或使用空连接执行剩余代码时,该线程是否会处于阻塞/等待状态?

如果不是,我如何让它们分开连接?

java concurrency multithreading jdbc hikaricp

4
推荐指数
1
解决办法
4638
查看次数

将逗号分隔的字符串转换为带有逗号sepearted的arraylist

如何将以下字符串转换为java ArrayList?

我试着用线:

"GOC ,, 404719160795907,911367109182460,218.248.72.40,62944,31,3331,31425,3544151354,117.200.252.120,bsnlnet,2,100.115.103.86,0,0,0,20190225123602,20190225125558,1196,0 ,,,, ,5428665,0,mnc071.mcc404.gprs,9448861612,预付,1 ,,, 2255 ,,,,"

List<String> data = new ArrayList<>(Arrays.asList(line.split(",")))

但问题是它转换为255(列)并且数组的大小已经达到36,但它应该是40

java arraylist

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

如何迭代 Flux 并使用另一个 Mono 的结果来过滤 Flux

Mono<MyObj1> mono1 = repository.get(id); // data from reactive mongo
Flux<MyObj2> availabilityInfo = getAvailabilityInfo(); // blocking I/O call
Run Code Online (Sandbox Code Playgroud)

我想要实现的是迭代 availabilityInfo 并需要使用单声道数据应用一些条件并返回 MyObj2(其中包含该日期的 delieveryDate 和价格相关信息)。

我将尝试用幼稚的编码解释如下

 foreach(MyObj2 obj : availabilityInfo){
      if(MyObj1.getX() && obj.getY()){
         return or break;
      }
  }
Run Code Online (Sandbox Code Playgroud)

我想从满足标准的通量中发出第一个元素 - MyObj1.getX() && obj.getY(),即使通量中还有其他元素符合标准。该标准基于来自 mono 的响应,这是一个反应性 mongo db 调用和来自发射通量元素的少数事实。

java project-reactor reactive spring-webflux

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