我想将一个字符串编码为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)
有关如何实现这一点的任何想法?
谢谢...
我想将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的全部内容转换为图像?
在List通过返回Arrays.asList不能通过使用方法如被修改add或remove.但是如果你将它传递给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)
我在文档中找不到任何线索.
编辑:是的我可以理解为什么它不支持remove或add.但那么它如何支持排序呢?
我正在尝试设计一个将流程图转换为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) Thread.currentThread()可以用来获取当前正在执行的线程.而且我认为sleep和yield方法都是静态的,因为它们不能在其他线程上执行sleep或yield.因此,通过使它们静态,它将睡眠或仅产生当前正在执行的线程.
这似乎是在单处理器系统中工作,如果我调用Thread.currentThread()或睡眠然后只有当前正在运行的线程,它将返回或它将睡眠.但在多核系统中,多个线程可以同时运行,
怎么样Thread.currentThread()或Thread.sleep()有效......?
我在 docker 环境中实现了一组微服务。这些服务中的每一个都使用 JWT 令牌相互通信。当服务 A 调用服务 B 时
公钥/私钥生成过程由微服务本身完成,然后他们将公钥传递给公钥存储。所以公钥存储唯一要做的事情,
我将要做的类似于此图中显示的内容。
我从上面的图片中得到:https : //www.youtube.com/watch?v=dBdZrw2pPvc&t=462s
所以我的问题是,这种公钥存储是否有任何标准实现?如果有,它们是什么?
我将 Lua 与 NGINX 一起使用。我的代码有一个名为“rabbitmq.createExchange”的lua方法。我想在 nginx 服务器启动时调用这个方法。
我尝试了以下代码,但失败并出现错误“此处不允许 content_by_lua_block 指令”。有什么解决办法吗?
http{
Run Code Online (Sandbox Code Playgroud)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"); }}
我想创建一个目录中所有文件的列表,除了隐藏的fies和目录中隐藏文件夹内的文件.我用过这种方法,
new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories)
.Where(f => (f.Attributes & FileAttributes.Hidden) == 0)
Run Code Online (Sandbox Code Playgroud)
但上面的方法返回隐藏文件夹中的文件.有没有其他方法可以做到这一点,而无需递归迭代目录?
我是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.
谢谢 :)
当我使用脚本运行以下代码时,我得到,
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 方法获得第二个输出?
如果我从方法返回CString会发生什么?它会调用CString的析构函数吗?
CString f(){
CString s = g();
return s;
}
const char* g(){ return new char[5]; }
Run Code Online (Sandbox Code Playgroud)
谢谢 :)