小编bra*_*age的帖子

lambda中的varargs在Python中起作用

lambda函数是否有可能具有可变数量的参数?例如,我想编写一个元类,它为其他类的每个方法创建一个方法,这个新创建的方法返回原始方法的相反值,并且具有相同数量的参数.我想用lambda函数做到这一点.如何传递参数?可能吗?

class Negate(type):
    def __new__(mcs, name, bases, _dict):
        extended_dict = _dict.copy()
        for (k, v) in _dict.items():
            if hasattr(v, '__call__'):
                extended_dict["not_" + k] = lambda s, *args, **kw:  not v(s, *args, **kw)
        return type.__new__(mcs, name, bases, extended_dict)

class P(metaclass=Negate):
    def __init__(self, a):
        self.a = a

    def yes(self):
        return True

    def maybe(self, you_can_chose):
        return you_can_chose
Run Code Online (Sandbox Code Playgroud)

但结果完全错了:

>>>p = P(0)
>>>p.yes()
True
>>>p.not_yes()     # should be False
Traceback (most recent call last):
  File "<pyshell#150>", line 1, in <module>
    p.not_yes()
  File "C:\Users\Desktop\p.py", line 51, …
Run Code Online (Sandbox Code Playgroud)

python lambda variadic-functions

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

如何通过JavaMail API接收已发送电子邮件的确认?

我正在编写一个程序,它会发送电子邮件,并想知道接收方何时收到我发给他的电子邮件.如何使用JavaMail API执行此操作?

如果我使用SMTPMessage,在设置通知选项后如何处理结果?

SMTPMessage smtpMsg = new SMTPMessage(msg);
smtpMsg.setNotifyOptions(SMTPMessage.NOTIFY_SUCCESS);
Run Code Online (Sandbox Code Playgroud)

java email smtp email-confirmation

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

如何使用多线程加速计算?

我正在尝试计算Pi,但我真正想要实现的是使用多个线程时的效率.算法很简单:我在单位平方中随机生成点,然后计算其中有多少点位于正方形内的圆中.(更多这里:http://math.fullerton.edu/mathews/n2003/montecarlopimod.html)我的想法是水平分割方块并为其每个部分运行不同的线程.但不是加速,我得到的只是延迟.有什么想法吗?这是代码:

public class TaskManager {

public static void main(String[] args) {

    int threadsCount = 3;
    int size = 10000000;
    boolean isQuiet = false;

    PiCalculator pi = new PiCalculator(size);   
    Thread tr[] = new Thread[threadsCount];

    long time = -System.currentTimeMillis();

    int i;
    double s = 1.0/threadsCount;
    int p = size/threadsCount;

    for(i = 0; i < threadsCount; i++) {
        PiRunnable r = new PiRunnable(pi, s*i, s*(1.0+i), p, isQuiet);
        tr[i] = new Thread(r);
    }

    for(i = 0; i < threadsCount; i++) …
Run Code Online (Sandbox Code Playgroud)

java performance multithreading

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

如何使单元测试始终通过?

让我们假设有人必须为问题编写解决方案,我必须通过一些测试来测试他的解决方案.是否有可能(可能有反思或某些东西)他的程序通过我所有的测试,但与问题的真正解决方案没有任何共同之处?

java testing reflection

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

由于Oracle中的select语句而以逗号分隔的列表

我有一张名为"人"的桌子.它包含person的id和它的父id(只有一个父级是可能的).作为查询的结果,我想要一个包含第一列的表 - 一个人ID,第二列 - 一个包含它的子ID的列表.怎么做到这一点?我已经阅读过listagg函数,但我不确定它是否适合我的目的.此查询生成一个空的第二列:

从人t1中选择t1.id,(从人t2中选择t2.id,其中t2.parent_id = t1.id),其中t1.status ='parent';

sql oracle subquery string-aggregation

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

使用Java在文件中加载/存储对象

我想在文件中存储我的类中的对象,然后才能从该文件加载对象.但在某个地方,我犯了一个错误,无法弄清楚在哪里.我可以得到一些帮助吗?

public class GameManagerSystem implements GameManager, Serializable {

    private static final long serialVersionUID = -5966618586666474164L;
    HashMap<Game, GameStatus> games;
    HashMap<Ticket, ArrayList<Object>> baggage;
    HashSet<Ticket> bookedTickets;
    Place place;


    public GameManagerSystem(Place place) {
        super();

        this.games = new HashMap<Game, GameStatus>();
        this.baggage = new HashMap<Ticket, ArrayList<Object>>();
        this.bookedTickets = new HashSet<Ticket>();
        this.place = place;
    }
    public static GameManager createManagerSystem(Game at) {
        return new GameManagerSystem(at);
    }

    public boolean store(File f) {
        try {
            FileOutputStream fos = new FileOutputStream(f);
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(games);
            oos.writeObject(bookedTickets);
            oos.writeObject(baggage);
            oos.close();
            fos.close(); …
Run Code Online (Sandbox Code Playgroud)

java load store file

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

使用servlet从服务器向客户端推送文件

我正在尝试编写一个servlet,它可以将文件从客户端上传到服务器,并将文件从服务器下载到客户端,从特定位置到特定位置.但是有两个问题阻止了我:1.当从客户端上传文件到服务器时,如何告诉服务器在哪里存储文件?2.(更重要的)如何从服务器下载到客户端部分?

这是迄今为止的代码:

import java.io.FileOutputStream;  
import java.io.ObjectInputStream;  
import java.io.ObjectOutputStream;  
import java.net.ServerSocket;  
import java.net.Socket;  

 public class Server extends Thread {  
   public static final int PORT = 3333;  
   public static final int BUFFER_SIZE = 100;  

 @Override  
 public void run() {  
     try {  
         ServerSocket serverSocket = new ServerSocket(PORT);  
         while (true) {  
             Socket s = serverSocket.accept();  
             saveFile(s);  
         }  
     } catch (Exception e) {  
         e.printStackTrace();  
     }  
 }  

 private void saveFile(Socket socket) throws Exception {  
     ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());  
     ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());  
     FileOutputStream fos …
Run Code Online (Sandbox Code Playgroud)

java sockets network-programming servlets

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

尝试使用Java在html文件中读取和写入时出现编码错误

我正在尝试从html文件中读取一些文本,以特定方式修改它并将结果写入新的html文件中.但问题是文本不是用英文写的,因此有些字符被黑白替换为"?" 分数.在我的html文件中,我有 < meta http-equiv="Content-Type" content="text/html; charset=utf-8">.我究竟做错了什么?也许不是正确的读者和作家?

StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader("inputFile.html"));
String line;
while ( (line = br.readLine()) != null) {
     sb.append(line);
}
String result = doSomeChanges(sb);
BufferedWriter out = new BufferedWriter(new FileWriter("outputFile.html")); 
out.write(result); 
out.close(); 
Run Code Online (Sandbox Code Playgroud)

html java encoding

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