小编bvd*_*vdb的帖子

ScriptEngine清除并处置

我的应用程序使用a ScriptEngine为我的最终用户提供插件功能.

ScriptEngineManager engineManager = new ScriptEngineManager();
ScriptEngine engine = engineManager.getEngineByName("nashorn");
Run Code Online (Sandbox Code Playgroud)

每当用户对其脚本进行更改时,应用程序都会通过新实例替换引擎实例.

String newScript = ...;
engine = engineManager.getEngineByName("nashorn");
engine.eval(newScript);
Run Code Online (Sandbox Code Playgroud)

两个密切相关的问题:

  • 我应该尝试重用引擎并对它们执行某种操作clear()吗?

  • 如果我只是用新实例替换我的引擎,我应该以某种方式处理前一个实例,以避免内存泄漏吗?(例如,我可以想象用户可以设法创建一个启动线程的脚本.)

问题是,我找不到任何看起来像a clear()或a的方法dispose().这是否意味着我目前的做法是正确的?

java scriptengine nashorn

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

同步链表 - peek

ALinkedList方便的peek, pop, ... 方法。

不幸的是,我需要一个线程安全的LinkedList. 所以,我的第一个想法是将其包装如下:

List<Object> list = Collections.synchronizedList(new LinkedList<>());
Run Code Online (Sandbox Code Playgroud)

但是,由于该List接口不包含peekpop方法。这当然行不通。

或者,我可以synchronized(list)在整个代码中使用块。这是要走的路吗?

我忽略了任何解决方案吗?


编辑:

人们使用LinkedList. 我看到有些人正在推荐其他系列。因此,这里遵循简短的要求,这导致我决定使用LinkedList.

更多背景信息:

  • 我使用 LinkedList 因为项目需要排序。
  • 应以非阻塞方式添加项目。
  • 项目添加在后面;从前面移除。
  • 在删除第一项之前,首先需要对其进行peek编辑和验证。如果验证失败,则该项目需要保留在列表中。
  • 仅当验证成功完成时,第一项才会被删除。
  • 队列需要有最大大小(以避免内存问题)。

java linked-list thread-safety peek

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

SAP JCo 客户端与服务器

我们正在尝试从独立的 java 应用程序与 SAP R/3 进行通信,为此我们将使用 JCo 3.0 库。

从文档中我了解到有两种方法可以连接 SAP。

  1. 作为 JCo客户
  2. 作为 JCo服务器

起初,我确信我们的应用程序需要作为 JCo 客户端进行连接。但我开始怀疑。

我们的应用程序发送数据。(例如订单状态的更新)但是我们的应用程序也接收数据(例如SAP将更改推送到主数据-MATMAS)。

那么,它需要是客户端还是服务器?

jco sapjco3 sap-r3

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

Android TCP权限被拒绝错误

这是我的代码:

public void update(){
   try {
        Socket appSoc = new Socket( "XXX.XXX.XXX.X" ,XXXXX);
        BufferedReader in = new BufferedReader(new
        InputStreamReader(appSoc.getInputStream()));
        for (int i = 0; i < 100; i++) {
            String message = in.readLine();
            add(message);}

    }
    catch (Exception e) {
        add("ERROR" + e);
    }
}
Run Code Online (Sandbox Code Playgroud)

add(String text) 将文本添加到textview以便我可以变得懒惰

无论如何我一直得到权限被拒绝,但如果我使用实际的域名而不是IP地址,它说它找不到域名,这是一个Android问题,因为它在我的计算机上的java上运行正常.

sockets android tcp permission-denied

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

"Angular powered bootstrap"是"ngx-bootstrap"?

我正在使用"Angular powered Bootstrap"创建一个项目,但经过4周的开发后,我发现还有类似"ngx-bootstrap"的东西.

  • 它们是一样的吗?- 如果没有,那么它们中的哪一个是 ng-bootstrap
  • ngx-bootstrap死了吗?

ng2-bootstrap ng-bootstrap ngx-bootstrap

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

UTF-16分为2个字符

我一直认为java用于UTF-16在内部对其字符进行编码.这是通过它使用u+xxxx格式来表示字符代码以及它使用16位来存储a这一事实来证实的char.

但有时UTF-16需要超过2个字节.在这种情况下,java需要2 char来表示1个UTF-16字符.

旁注:这让我想知道"java只支持Unicode字符集,并使用16位单元格存储字符"更为正确.

问题:第一个char提供了一些方法来确定char是否使用了第二个,或者2是否属于一个?

java encoding utf-16 character-encoding

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

loadChildren 在 Angular8 中已弃用

我刚刚注意到 Angular 8(即将发布)已经弃用了“字符串类型路由器loadChildren”。(门票

我是否正确理解他们指的是......

const routes = [
  {
    path: 'production',
    loadChildren: './production/production.module#ProductionModule' // <<--this
  }],
Run Code Online (Sandbox Code Playgroud)

要迁移到 Angular 8,解决方案是什么?

在票证中,他们指的是“动态导入”。我是否正确,这是指以下提案:

let module = await import('/modules/my-module.js');
Run Code Online (Sandbox Code Playgroud)

如果我们将来想使用延迟加载,有人可以预览一下路由文件实际上应该是什么样子吗?

lazy-loading dynamic-import angular-load-children angular8

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

Jetty认证架构

Jetty身份验证体系结构使用以下4个接口:

org.eclipse.jetty.server.UserIdentity
org.eclipse.jetty.security.LoginService
org.eclipse.jetty.security.IdentityService
java.security.Principal
Run Code Online (Sandbox Code Playgroud)

有人可以解释这4个接口如何在认证流程中互相交互.

浏览代码似乎不是很有帮助,因为有很多极端情况.我对主要流程感兴趣.

java jetty

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

证明equals与compareTo齐头并进

这是写在所有的java像样的课程,如果你实现了Comparable接口,你应该(在大多数情况下)覆盖equals以匹配其行为的方法.

不幸的是,在我目前的组织中,人们试图说服我完全相反.我正在寻找最有说服力的代码示例,向他们展示将要发生的所有邪恶.

java equals compareto comparable

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

对功能语言感到困惑

我已经用面向对象的语言开发了10多年了(C#和java).但是越来越多的人听到很多人在谈论函数式编程语言:Ruby,Scala,Haskell,......

虽然我已经阅读了很多关于这些编程语言的知识.不幸的是,大多数教程大部分时间都在谈论语法.但我没有找到任何解释这些领域或任何提供这些语言的典型实际应用的语言的教程.

我遇到了很多问题,下面是我脑海中简单问题的简短列表.

它们是独立语言吗?

  • 是否可以在其他编程语言中使用函数式语言.与Java/C#一样使用其他语言,如SQL,Regex,HQL,XQL,......?
  • 如果单独使用,它们是否使用编译器?

他们的框架有多强大?

  • 是否支持窗口或对话框等图形组件?
  • 是否支持多线程?
  • 是否支持套接字交互,webservices?

简介:有人可以快速回答我提到的问题,或者甚至更好,您能否通过实际示例为我提供一些教程链接?

先感谢您.

编辑:简化/删除了一些问题

ruby haskell functional-programming scala

0
推荐指数
1
解决办法
297
查看次数