小编use*_*421的帖子

java中的递归序列化

我是第一次使用Java进行序列化.

我已经读过Java递归序列化对象.

假设我有一个Diet持有objects of type水果which holds objects like苹果,香蕉,菠萝的课程.

据我所知,一旦我序列化了Dietjava 类型的对象,就会以同样的方式存储其他对象.

但是:我打算(联合)序列化的所有课程都必须实现Serializable或只实现"顶级"(这里:) Diet

java serialization

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

java.util.IllegalFormatConversionException with java.util.Formatter

我遇到了格式说明符的问题.这是否意味着我使用的%d?

public static void main(String[] args) 
{ 
   double y, x;

    for (x = 1.0; x <= 7.0; x+=0.1)
    {
        y = x * x - 5 * x + 6;
        System.out.printf("x = "+x+", y = %d", y);
        System.out.printf("\n");
    }

}
Run Code Online (Sandbox Code Playgroud)

这就是代码,这里是输出:

Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.Double
x = 1.0, y =    at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4045)
    at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2748)
    at java.util.Formatter$FormatSpecifier.print(Formatter.java:2702)
    at java.util.Formatter.format(Formatter.java:2488)
    at java.io.PrintStream.format(PrintStream.java:970)
    at java.io.PrintStream.printf(PrintStream.java:871)
    at wilson_hw03a.java.Wilson_hw03aJava.main(Wilson_hw03aJava.java:15)

Java Result: 1
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?更好的是,错误是什么?

java

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

为什么 GitHub C++ Core Guideline 说全局对象比单例更好?

Github C++ 核心指南说:

全局对象通常比单例更好。

我一直认为相反。从那以后在 C++ 中发生了什么变化?或者可能只是另一个错字?

c++ singleton global-object

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

Socket:send()函数返回'Broken Pipe'错误

我是套接字编程的新手,我正在尝试使用send()C++中的函数向服务器发送一些数据包,但在向服务器发送数据包时,我总是收到"Broken pipe"错误.你可以帮我解决以下几点吗?

  1. send()函数返回"Broken pipe"错误时?
  2. 套接字编程中出现"Broken pipe"错误的原因是什么?
  3. send()函数的"Broken pipe"错误解决方案是什么?

注意:我使用命名套接字在客户端和服务器之间进行通信.

c++ sockets tcp broken-pipe send

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

SSL握手中的客户端证书认证

我正在浏览 SSL 协议并试图了解 SSL 握手中涉及的步骤。

现在,用于向服务器验证客户端的“客户端证书
身份验证”已完成。我想详细了解“客户端
证书身份验证”中实际发生的情况。

authentication ssl ssl-certificate

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

如何计算十六进制文件中的校验和?

如标题所示,我很想知道如何计算校验和,从我读到的使用2s补码计算得出的值开始。以下是已加载到我的微控制器上的十六进制文件的2行,我添加了空格以使其更易于阅读,S315出现在每一行上,第1行的地址为080C0000,后跟16个十六进制值,代表字节,我假设第1行的AA值和第2行的AB值是校验和值。

对于第1行,我尝试添加以下内容15+08+0C+00+00+4D+53+53+70+6F+74+31+00+66+10+AE+19+7E+63+1F+78,从而得到555十六进制或?010101010101?二进制格式。我已经将二进制值输入到在线2s补码计算器中,但始终显示“无效二进制”?

S3 15 080C0000 4D 53 53 70 6F 74 31 00 66 10 AE 19 7E 63 1F 78 AA

S3 15 080C0010 00 00 00 00 45 85 63 EB FF FF FF FF 04 00 03 00 AB

binary hex

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

如何让javamail支持http代理

我发现javamail只支持socks。有什么解决方案可以用来支持 http 代理吗?

public class MailConnectionTest {
 public static void main(String args[]) throws MessagingException {
   Properties props = MailConnectionTest.getProperties();
   Session session = Session.getDefaultInstance(props, null);
   String protocol = "pop3";
   String host = "pop.163.com";
   String username = "email username";
   String password = "1Qaz2wsx3edc&";
   Store store = session.getStore(protocol);
   store.connect(host, username, password);
   System.out.println("Success");
}
private static Properties getProperties() {
 Properties props = System.getProperties();
 props.put("mail.debug", "false");
 // Proxy
 props.put("proxySet", "true");
 props.put("http.proxyHost", "proxyAdderss");
 props.put("http.proxyPort", "8080");
 return props;
}
}
Run Code Online (Sandbox Code Playgroud)

java jakarta-mail http-proxy

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

Java 错误:请安装 JCE Unlimited Strength Jurisdiction Policy 文件

我正在开发这个 Java 应用程序,它需要访问“JCE Unlimited Strength”文件,并且我确实安装了它们,并且在我构建解决方案(在 Intellij 中)时它可以正常工作但是当我jar输出时,由于某种原因它给出我这个烦人的错误:

C:\Users\h\whatever\out\artifacts\Accepter_jar>java -cp Accepter.jar Main
org.apache.poi.EncryptedDocumentException: Export Restrictions in place - please install JCE Unlimited Strength Jurisdic
tion Policy files
        at org.apache.poi.poifs.crypt.CryptoFunctions.getCipher(CryptoFunctions.java:208)
        at org.apache.poi.poifs.crypt.CryptoFunctions.getCipher(CryptoFunctions.java:182)
        at org.apache.poi.poifs.crypt.agile.AgileDecryptor.hashInput(AgileDecryptor.java:269)
        at org.apache.poi.poifs.crypt.agile.AgileDecryptor.verifyPassword(AgileDecryptor.java:116)
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:95)
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:282)
        at ExcelJob.loadExcelSheet(ExcelJob.java:22)
        at Main.main(Main.java:17)
Run Code Online (Sandbox Code Playgroud)

知道有什么问题吗?

java jar jce

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

java.rmi.server.ExportException:端口已在使用中:1099;

我正在编写一个 Java RMI 程序来计算数字的阶乘。

这是界面:

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface FactorialRMI extends Remote{

    public void setNumber(int val) throws RemoteException;
    public int calculateFactorial() throws RemoteException;
}
Run Code Online (Sandbox Code Playgroud)

那么这是实现该接口的类:

import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class FactorialRMIImpl extends UnicastRemoteObject implements FactorialRMI{
    private int number;
    public FactorialRMIImpl(String name) throws RemoteException {
        super();
        try {
            Naming.rebind("myFactorial",this);
        }catch(Exception e) {
            System.out.println("Exception: "+e.getMessage());
        }
    }

    @Override
    public void setNumber(int val) throws RemoteException {
        this.number=val;
    }

    @Override
    public int calculateFactorial() throws RemoteException {
        int p=1;
        for(int …
Run Code Online (Sandbox Code Playgroud)

java rmi server

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

静态变量是否是线程安全的,因为您可以从多个线程读取/写入而不会崩溃?

我有一个属性定义为:

private static MyStaticCache? _myStaticCache;
Run Code Online (Sandbox Code Playgroud)

MyStaticCache是一个具有字符串属性的类。多个线程可以访问_myStaticCache。如果该属性为 null 或该值是旧的,则任何访问该属性的线程都会从源获取该值并将其设置_myStaticCache为该值。

public string GetValue()
{
    if (_myStaticCache == null || _myStaticCache.CacheIsStale())
        _myStaticCache = GetValueFromSource();

    return _myStaticCache.Value1;
}
Run Code Online (Sandbox Code Playgroud)

没有代码可以或不会设置_myStaticCache回 null。

人们很快就会发现,可以多次调用GetValueFromSource()和分配_myStaticCache人们很快就会发现,如果多个线程在第一次分配之前或已经过时时运行,则

我的问题是这样的。有没有办法这会导致崩溃?的分配是_myStaticCache原子的,还是可以在写入过程中进行读取?

源方法可以并行调用 N 次这一事实并不重要。缓存的超时时间为 30 天,多个线程不太可能同时运行,尽管并非不可能,而且即使有 100 个线程并行运行调用它,该方法也会为每个线程返回相同的值并且能够毫无问题地处理负载。

现在我可以使用互斥体,或者将读取和写入包装起来lock(),但我认为这会在调用该方法的 99.999% 的时间里阻碍性能,同样,它只会每 30 天为空或旧一次。

c# multithreading .net-core asp.net-core

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