小编Dig*_*hil的帖子

检查 JavaFX 平台是否正在运行

没有诸如javafx.application.Platform.isRunning().

我可以通过其他方式检查平台是否已启动吗?

我想修改我的javafx.util.concurrent.Task类以updateMessage()仅在平台实际运行时调用等。

这在测试设置中很有用。

如果我测试,我会遇到 java.lang.IllegalStateException: Toolkit not initialized

我认为这可以通过类似的方式轻松避免

if(Platform.isRunning()){
    updateMessage("Doing work");
}
Run Code Online (Sandbox Code Playgroud)

java javafx

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

在Java Shell中启用断言

C:\Users\Malvolio>jshell
|  Welcome to JShell -- Version 9.0.1
|  For an introduction type: /help intro

jshell> assert(false)

jshell> 
Run Code Online (Sandbox Code Playgroud)

当断言失败时,如何让Java Shell抛出AssertionError?

java java-9

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

Tokens做了什么以及为什么需要在C++编程中创建它们?

我正在读一本书(Bjarne Stroustrup的编程原则和实践).

他在其中介绍了令牌:

"令牌是一系列字符,代表我们认为是单位的东西,例如数字或运算符.这就是C++编译器处理其源代码的方式.实际上,以某种形式"标记化"是大多数文本分析开始的方式."

class Token {
public:
    char kind;
    double value;
};
Run Code Online (Sandbox Code Playgroud)

我确实得到了他们的样子,但他从来没有详细解释过这一点,而且对我来说很困惑.

c++ token c++11

5
推荐指数
3
解决办法
1293
查看次数

Azure应用程序服务有证书存储吗?

我有一个与客户端服务器通信的项目,客户端服务器发送一个自签名证书,我应该信任他才能继续连接。

 private bool VerifyServerCertificate(LdapConnection ldapConnection, X509Certificate certificate)
 {
    foreach (var cert in CertificateFileNames)
    {
        var certPath = Directory.GetFiles($@"{AppDomain.CurrentDomain.BaseDirectory}", $"{cert}",System.IO.SearchOption.AllDirectories);
        X509Store store = new X509Store(StoreName.TrustedPeople, StoreLocation.CurrentUser);
        try
        {
           if (File.Exists(certPath.FirstOrDefault()))
           {
               var certToAdd = new X509Certificate2(X509Certificate.CreateFromCertFile(certPath.FirstOrDefault()));
               store.Open(OpenFlags.ReadOnly);
               X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectDistinguishedName, certToAdd.SubjectName.Name, true);
               if (certs.Count.Equals(0))
               {
                  store.Open(OpenFlags.ReadWrite);
                  store.Add(new X509Certificate2(X509Certificate.CreateFromCertFile(cert)));
                  store.Close();
               }
           }
        }
        catch
        {
           throw new Exception("Cannot install the certificate.");
        }
    }
    X509Certificate2 certificate2 = new X509Certificate2(certificate);
    return certificate2.Verify();
 }
Run Code Online (Sandbox Code Playgroud)

这工作正常,但项目需要部署为 Azure 应用服务。所以我的问题是,应用程序服务环境是否有“受信任的人”存储?

该方法从连接接收 de X509 证书,并根据受信任的人员存储进行验证,因此我需要在验证之前安装证书。

谢谢。

service certificate azure x509

5
推荐指数
0
解决办法
352
查看次数

TCP/IP文件传输C++

我是 C++ 编程的初学者,有一点 Java 经验。我的目标是在服务器和客户端(在两个不同的文件夹中)之间传输文件(在本地主机中)。

我在网上找到了这段适合我的代码,它打开套接字并在服务器和客户端之间建立连接,您可以发送在终端中键入的消息。

我在互联网上尝试了很多不同的代码,要么无法编译,要么不是我需要的。

这是我发现的可以传输消息的代码。

服务器.cpp 文件

enter code here
/* A simple server in the internet domain using TCP
The port number is passed as an argument */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h> 
#include <sys/socket.h>
#include <netinet/in.h>

void error(const char *msg)
{
perror(msg);
exit(1);
}

int main(int argc, char *argv[])
{
 int sockfd, newsockfd, portno;
 socklen_t clilen;
 char buffer[256];
 struct sockaddr_in serv_addr, cli_addr;
 int n;
 if (argc < 2) {
     fprintf(stderr,"ERROR, …
Run Code Online (Sandbox Code Playgroud)

c++ ip tcp tcpclient

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

我想在文本的左侧显示标签栏图标

我想在文本左侧显示图标,但问题是图标显示在文本上方。它占用更多空间。我想保留 text(title) 左侧的图标。我该怎么办?

主要活动如下

public class Tabsadar extends AppCompatActivity {
ExpandableRelativeLayout
expandableLayout1,
expandableLayout2,
expandableLayout3,
expandableLayout4;

private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
private int[] tabIcons = {
        R.drawable.ic_action_name,
        R.drawable.thanatottho,
        R.drawable.proyojonio
};


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tabsadar);

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    viewPager = (ViewPager) findViewById(R.id.container);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
    setupTabIcons();
}

private void setupTabIcons() {
    tabLayout.getTabAt(0).setIcon(tabIcons[0]);
    tabLayout.getTabAt(1).setIcon(tabIcons[1]);
    tabLayout.getTabAt(2).setIcon(tabIcons[2]);
}

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFrag(new tabsadarc1(), …
Run Code Online (Sandbox Code Playgroud)

android

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

如何使用lambda更好地做到这一点?

我不喜欢forEach的部分,但我不知道如何用lambda做得更好.

list1.stream().map(element -> {
    list2.forEach(item -> {
       if (element.getKey().equals(item.getKeyNextYear())) {
          element.setSummPreviosYear(item.getSumm());
          element.setCashboxCountPreviosYear(item.getCashboxCount());
          element.setCheckCountPreviosYear(item.getCheckCount());
          element.setArticleCountPreviosYear(item.getArticleCount());
       }
    });
    return element;
}).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

java java-8

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

PBKDF2WithHmacSHA512 SecretKeyFactory不可用

这是一个非常奇怪的错误。在两台计算机上,代码可以完美运行。我只是在一台全新的机器上进行了设置,因此无法正常工作。运行脚本时出现以下错误;

java.lang.RuntimeException: java.security.NoSuchAlgorithmException: PBKDF2WithHmacSHA512 SecretKeyFactory not available
Run Code Online (Sandbox Code Playgroud)

导致错误的代码行是;

SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance( "PBKDF2WithHmacSHA512" );
Run Code Online (Sandbox Code Playgroud)

使用JDK 1.7.0

代码都正确编译,只是在运行时在此行失败。我感觉这与一个不同的JAR文件或一个稍有不同的JDK有一些关联,但是在检查了不同机器上的所有内容之后,所有内容看起来都是相同的。

有什么想法吗?

java exception

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

标签 统计

java ×4

c++ ×2

android ×1

azure ×1

c++11 ×1

certificate ×1

exception ×1

ip ×1

java-8 ×1

java-9 ×1

javafx ×1

service ×1

tcp ×1

tcpclient ×1

token ×1

x509 ×1