小编bma*_*ies的帖子

抛出一个线程

我有个问题.

在Java中,是否有可能将运行线程作为异常抛出?我知道这很疯狂,但只是为了好玩,可以做到吗?有点像:

public void throwThread() throws ExceptableThread {
    ExceptableThread thread = new ExceptableThread();
    thread.start();
    throw thread;
Run Code Online (Sandbox Code Playgroud)

实现Runnable作为接口并不是一个真正的选择.它应该抛出实际的线程对象.

java

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

为什么使用this指针作为默认参数不允许使用?

我只是在我的Binary树上写了一个inorder函数,我遇到了这个难题.

class BinaryTree
{
private:
     struct Node* o_root;
public:
BinaryTree()
    {
              o_root = new Node();    
        o_root->data = 0;
        o_root->left = NULL;
        o_root->right = NULL;

    }
    void inorder(Node*root = o_root);//Invalid

};


void BinaryTree::inorder(Node* root = o_root)//Invalid
    {
         if(root==NULL)
         {
             return;
         }
         inorder(root->left);

         cout<< root -> data;

         inorder(root->right);

    }
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:非静态成员引用必须与特定对象相关

如果我将根节点静态这是有效的.

为什么会这样?如果我有两个二叉树,我会想要对象的特定根,而不是静态成员.我尝试使用这个运算符,但这给了我另一个错误,基本上说在默认参数中不允许使用此运算符.

任何人都可以解释为什么这不起作用以及为什么C++拒绝使用此运算符作为默认参数?

c++ default-value

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

Java垃圾收集器在访问路径被破坏时如何处理循环引用?

我只是希望有人向我解释一下GC如何发现那些内存块(如红色区域所示)在引用计数超过0但是实际上无法访问时是垃圾? 堆空间

garbage-collection memory-leaks heap-memory

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

使用Extern关键字

我熟悉extern关键字,它用于声明某个其他文件中存在的变量,但以下语句是什么意思?

extern "C" const IMAGE_DOS_HEADER __ImageBase;
Run Code Online (Sandbox Code Playgroud)

c++ extern

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

了解Java中的数组索引

我有一个关于Java如何处理数组的简短问题.以下是我的代码:

//import java.util.Arrays;
import static java.lang.System.out;

public class Arrays
{       
    public static void main(String[] args)
    {           
        String [][] multiArray = new String[10][8];

        int k = 1;
        while (k <= 61) {out.print('-'); k++;}
        out.println ();

        for (int i = 0; i < multiArray.length; i++)
        {
            for (int j = 0; j < multiArray[i].length; j++)
            {
                multiArray[i][j] = i + "" + j;
                out.print ("| " + multiArray[i][j] + " ");  
            }
            out.println ("|");
        }           
        k = 1;
        while (k <= 61) …
Run Code Online (Sandbox Code Playgroud)

java arrays

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

环境变量错误 - 未被识别为内部或外部命令

这是一次重写,以巩固我在寻找解决问题的答案时所学到的知识。我已经安装了 Ant。当我在命令行上使用“ant”时,我收到消息“ant 不是内部或外部命令,也不是可运行的程序或批处理文件。” 我很快确定这是我的环境变量的问题。

我假设您已经获得有关更改环境变量的说明。下面的要点涵盖了那些编写说明没有告诉你的挑剔的部分,即假定的知识。我建议在尝试解决此问题时仅通过它们。

知道我正在运行 Windows7 是很重要的。这些要点对于 Windows 来说可能相当普遍,但我将其留给读者来确定。

如果您的问题仍未解决,请创建一个新问题,或许可以参考这个问题。不要就这个问题寻求帮助,因为它已经解决了。找到的其他解决方案可以在这里添加(或发布,我会添加它们)。

一旦您可以从命令行获取版本号(例如:“ant -version”或“java -version”),您就已经解决了环境变量问题。在那之后,你有一个不同的问题。我花了额外的 2 个小时试图“修复”“Buildfile:build.xml 不存在!构建失败”命令行错误,但没有意识到这意味着这个问题已经解决,我已经转移到另一个问题上。

最后一条建议。使用它时,将整个 PATH 变量复制并粘贴到安全的地方。如果你不小心点击了“删除”,你就没有机会恢复,这可能会导致很多痛苦。

逐步完成这些;

  • 关闭所有打开的命令行控制台(Windows 控制台)并重新启动它。这将重置变量,每次更改环境变量时都需要这样做。
  • 确保您在环境变量中没有留下空格。末尾没有空格,变量之间也没有空格。
  • 检查您的拼写是否一致并检查您的位置是否正确。
  • 将新文本添加到 PATH 变量的开头,而不是结尾。如果您多次添加它,这可以避免与其他内容发生冲突和任何问题。它在第一次成功时停止阅读。
  • 确保 PATH 变量在新添加的文本和现有文本(无空格)之间插入了一个分号(“;”)。

如果命令行“echo %JAVA_HOME%”返回“%JAVA_HOME%”,那么您可能有权限问题(使用您的 %variable% 而不是我的 %JAVA_HOME%);

  • 将新变量(例如“JAVA_HOME”或“ANT_HOME”)及其路径放入系统变量中。从用户变量中删除它。

使用用户变量是我必须解决的最后一个问题。奇怪的是“echo %JAVA_HOME%”很好,但是“echo %ANT_HOME%”返回了“%ANT_HOME%”。

最后,如果一切都失败了;

  • 重启你的电脑
  • 获取软件的新副本,安装并重新启动。

我要感谢那些帮助过我的人和之前 Stack Overflow 的作者,我读过他们的文章试图找到解决方案。

windows ant

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

Pymongo MongoClient:如果您通过 URI 放入数据库,您如何将其取出?

的文档MongoClient说,人们可能会说“host=”并给出完整的 MongoDB URI。这些包括数据库名称。一旦我这样做了,有没有办法从 MongoClient 对象中提取数据库名称?我没有在源代码中发现它。

python mongodb

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

无法创建Genymotion虚拟设备,文件已损坏

我已经成功安装了Genymotion和Virtualbox,但无法创建虚拟设备.虚拟设备是完整下载但文件已损坏,不仅是一个而是全部

genymotion

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

罗马数字到数字转换

尝试编写程序以读取表示罗马数字(来自用户输入)的字符串,然后将其转换为阿拉伯语形式(整数).例如,I = 1,V = 5,X = 10等.

基本上,采用String类型参数的构造函数必须将字符串(来自用户输入)解释为罗马数字并将其转换为相应的int值.

除了正在进行的以下(还没有编译)之外,还有更简单的方法来解决这个问题:

import java.util.Scanner;

public class RomInt {
String roman;
int val;
void assign(String k)
{
  roman=k;
}

private class Literal
{
    public char literal;
    public int value;

    public Literal(char literal, int value)
    {
        this.literal = literal;
        this.value = value;
    }
}

private final Literal[] ROMAN_LITERALS = new Literal[]
        {
                new Literal('I', 1),
                new Literal('V', 5),
                new Literal('X', 10),
                new Literal('L', 50),
                new Literal('C', 100),
                new Literal('D', 500),
                new Literal('M', 1000)
        };

public …
Run Code Online (Sandbox Code Playgroud)

java

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

ScheduleAtFixedRate 方法上的 IllegalArgumentException

Runnable runPickWinner = new Runnable() {
        @Override
        public void run() {
            mPot.pickWinner();
        }
    };
ScheduledExecutorService execPickWinner = Executors.newScheduledThreadPool(1);
execPickWinner.scheduleAtFixedRate(runPickWinner, runPickWinnerTime.longValue(), runPickWinnerTime.longValue(), TimeUnit.MINUTES);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

java.lang.IllegalArgumentException
    at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate(Unknown Source) ~[?:1.8.0_131]
    at com.tchristofferson.Lottery.runLottery(Lottery.java:223) ~[?:?]
    at com.tchristofferson.Lottery.onEnable(Lottery.java:50) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) ~[craftbukkit.jar:git-Bukkit-c19c293]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:329) [craftbukkit.jar:git-Bukkit-c19c293]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit.jar:git-Bukkit-c19c293]
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:361) [craftbukkit.jar:git-Bukkit-c19c293]
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:323) [craftbukkit.jar:git-Bukkit-c19c293]
    at net.minecraft.server.v1_11_R1.MinecraftServer.t(MinecraftServer.java:411) [craftbukkit.jar:git-Bukkit-c19c293]
    at net.minecraft.server.v1_11_R1.MinecraftServer.l(MinecraftServer.java:372) [craftbukkit.jar:git-Bukkit-c19c293]
    at net.minecraft.server.v1_11_R1.MinecraftServer.a(MinecraftServer.java:327) [craftbukkit.jar:git-Bukkit-c19c293]
    at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:244) [craftbukkit.jar:git-Bukkit-c19c293]
    at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:521) [craftbukkit.jar:git-Bukkit-c19c293]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_131]
Run Code Online (Sandbox Code Playgroud)

这似乎是 上的一个错误scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit),但没有意义它们是 Integer …

java

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