小编Sam*_*gha的帖子

Base64 Java对字符串进行编码和解码

我想将一个字符串编码为base64并通过套接字传输并解码回来.但解码后它给出了不同的答案.以下是我的代码,结果是"77 + 9x6s ="

import javax.xml.bind.DatatypeConverter;

    public class f{

       public static void main(String a[]){

          String str = new String(DatatypeConverter.parseBase64Binary("user:123"));
          String res = DatatypeConverter.printBase64Binary(str.getBytes());
          System.out.println(res);
       }
    }
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一点的任何想法?

谢谢...

java base64 encode decode

149
推荐指数
6
解决办法
58万
查看次数

将JPanel转换为JScrollPane中的图像

我想将JPanel转换为图像.我使用以下方法:

public BufferedImage createImage(){

    int w = getWidth();
    int h = getHeight();
    BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics2D g = bi.createGraphics();
    paint(g);
    return bi;
}
Run Code Online (Sandbox Code Playgroud)

但问题是JPanel包含在JScrollPane中.因此,当我将jpanel转换为图像时,图像仅包含jpanel中可见的部分,并且隐藏在滚动窗格内部的部分不包含在图像中.

是否有任何解决方案可以将JPanel的全部内容转换为图像?

java swing image jpanel jscrollpane

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

Arrays.asList给出UnsupportedOperationException

List通过返回Arrays.asList不能通过使用方法如被修改addremove.但是如果你将它传递给Collections.sort方法,它可以毫无问题地对数组进行排序(我预计会有例外).这似乎是一种非常不一致的行为.那么方法List返回的允许操作是什么asList

List<Integer> list = Arrays.asList(5,7, 10 , 8,9);
list.remove(2);//Exception

Collections.sort(list);//Ok, No Exception Sort...
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到任何线索.

编辑:是的我可以理解为什么它不支持removeadd.但那么它如何支持排序呢?

java collections

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

LinkedList中的ConcurrentModificationException

我正在尝试设计一个将流程图转换为java或任何其他代码的软件.但是我反复得到ConcurrentModificationException ..但我不能使用布尔值来阻止concurrentModification,因为访问链表发生在各个地方.

因此,作为解决方案,我创建了以下适配器类.但是它也会从下一个方法抛出相同的异常.有没有其他解决方案或者是否可以,请告诉我如何修改我的代码......

非常感谢你...

import java.util.Iterator;
import java.util.LinkedList;

public class LinkedListAdapter<T> extends LinkedList<T>{

@Override
public boolean add(T t){

    boolean b;

    synchronized(this){
        b = super.add(t);
    }

    return b;
}

@Override
public T remove(){

    T t;

    synchronized(this){
        t = super.remove();
    }

    return t;
}

@Override
public Iterator<T> iterator(){

    final LinkedListAdapter<T> adap = this;

    return 
        new Iterator<T>(){

        private Iterator<T> iter;

        {
            synchronized(adap){
                iter = LinkedListAdapter.this.getIterator();
            }
        }

        @Override
        public boolean hasNext() {

            boolean b;

            synchronized(adap){
                b = iter.hasNext();
            }

            return b;
        }

        @Override …
Run Code Online (Sandbox Code Playgroud)

java linked-list

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

当有多个处理器时,Thread.currentThread()如何工作?

Thread.currentThread()可以用来获取当前正在执行的线程.而且我认为sleep和yield方法都是静态的,因为它们不能在其他线程上执行sleep或yield.因此,通过使它们静态,它将睡眠或仅产生当前正在执行的线程.

这似乎是在单处理器系统中工作,如果我调用Thread.currentThread()或睡眠然后只有当前正在运行的线程,它将返回或它将睡眠.但在多核系统中,多个线程可以同时运行,

怎么样Thread.currentThread()Thread.sleep()有效......?

java multithreading multicore

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

如何为微服务创建公钥存储?

我在 docker 环境中实现了一组微服务。这些服务中的每一个都使用 JWT 令牌相互通信。当服务 A 调用服务 B 时

  1. 服务 A,使用他的私钥签署令牌并传递给服务 B
  2. 服务 B,从公钥存储中获取服务 A 的公钥并验证令牌

公钥/私钥生成过程由微服务本身完成,然后他们将公钥传递给公钥存储。所以公钥存储唯一要做的事情,

  1. 存储服务发送的公钥
  2. 根据请求向服务发送正确的公钥

我将要做的类似于此图中显示的内容。

我得到了这张图片

我从上面的图片中得到:https : //www.youtube.com/watch?v=dBdZrw2pPvc&t=462s

所以我的问题是,这种公钥存储是否有任何标准实现?如果有,它们是什么?

security ca pki docker microservices

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

如何在 NGINX 启动时调用 Lua 方法?

我将 Lua 与 NGINX 一起使用。我的代码有一个名为“rabbitmq.createExchange”的lua方法。我想在 nginx 服务器启动时调用这个方法。

我尝试了以下代码,但失败并出现错误“此处不允许 content_by_lua_block 指令”。有什么解决办法吗?

http{

lua_package_path '/app/nginx/src/?.lua;;';

server {
 listen 4000;
 include 'src/proj1.conf';    
Run Code Online (Sandbox Code Playgroud)

}

content_by_lua_block {
  local rabbitmq = require 'src/rabbitmq.lua';
  rabbitmq.createExchange("nginx", "topic");
} 
Run Code Online (Sandbox Code Playgroud)

}

lua nginx

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

获取隐藏目录中的文件以外的所有文件?

我想创建一个目录中所有文件的列表,除了隐藏的fies和目录中隐藏文件夹内的文件.我用过这种方法,

new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories)
                     .Where(f => (f.Attributes & FileAttributes.Hidden) == 0)
Run Code Online (Sandbox Code Playgroud)

但上面的方法返回隐藏文件夹中的文件.有没有其他方法可以做到这一点,而无需递归迭代目录?

c#

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

如何将jar部署到glassfish,其中包含一个main方法?

我是EJB的新手.我有一个包含"Class1"的ejb-jar文件,我将它部署到glassfish服务器.现在有另一个jar文件,它只包含以下客户端文件(它有一个依赖注入),所以我的问题是我该如何执行这个文件?

我刚刚将它部署到glassfish,但它不起作用并在日志文件中显示错误("它包含零ejb").

import com.pack.Class1;

公共类CreateAccoutnClient {

@EJB
private static Class1 class1;

public static void main(String [] args){}

}

如果有人在操作中阅读过EJB 3,那么我决定使用eclipse将chapter3代码部署到glassfish.

谢谢 :)

java ejb glassfish java-ee

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

如何打印具有数据类型的 numpy 数组?

当我使用脚本运行以下代码时,我得到,

a = np.arange(4, dtype=object).reshape((2,2))
print(a[:,0]);
Run Code Online (Sandbox Code Playgroud)

结果:[0, 2]。

但是如果我在终端中运行以下代码,我得到,

a = np.arange(4, dtype=object).reshape((2,2))
a[:,0]
Run Code Online (Sandbox Code Playgroud)

结果:数组([0, 2], dtype=对象)

如何在脚本文件中使用 print 方法获得第二个输出?

python numpy

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

返回CString会调用析构函数吗?

如果我从方法返回CString会发生什么?它会调用CString的析构函数吗?

CString f(){

CString s = g();

return s;

}

const char* g(){ return new char[5]; }
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

c++ cstring

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