小编Tar*_*rek的帖子

集合排序(List <T>,Comparator <?super T>)方法示例

可能重复:
使用多个键对Java对象进行排序

我找不到使用此方法的任何示例,所有示例都给出第二个参数"null".我听说这个方法用于根据多个标准对类进行排序,但没有找到示例.

public class Student implements Comparable<Student> {
String name;
int age;

public Student(String name, int age) {
    this.name = name;
    this.age = age;
}

@Override
public String toString() {
    return name + ":" + age;
}

@Override
public int compareTo(Student o) {
    Integer myAge = age;
    Integer oAge = o.age;
    return myAge.compareTo(oAge);
}
Run Code Online (Sandbox Code Playgroud)

}

对于这个类,如果我想根据他们的姓名和年龄对学生列表进行排序我如何使用方法集合排序(List,Comparator)

java

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

用于MS-DOS的C编译器

我在VirtualBox虚拟机上安装了MS-DOS 6.22,一切运行良好,这样做的目的是编译用C语言编写的程序,该程序显示和编辑(虚拟)RAM中的位.但是,我需要一种在虚拟MS-DOS操作系统上安装C编译器的方法.

c virtualbox dos

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

如何使用HttpWebRequest获取文件并行

我正在尝试制作像IDM这样的程序,它可以同时下载部分文件.
我用来实现这个的工具是C#.Net4.5中的TPL
但是我在使用Tasks并行操作时遇到了问题.
序列功能运行良好,正在正确下载文件.
使用Tasks的并行功能正在工作,直到发生奇怪的事情:
我创建了4个任务,Factory.StartNew()在每个任务中给出了起始位置和结束位置,任务将下载这些文件,然后它将以字节[ ],一切进展顺利,任务工作正常,但在某些时候,执行冻结,就是这样,程序停止,没有其他事情发生.
并行功能的实现:

static void DownloadPartsParallel()
    {

        string uriPath = "http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB01.pptx";
        Uri uri = new Uri(uriPath);
        long l = GetFileSize(uri);
        Console.WriteLine("Size={0}", l);
        int granularity = 4;
        byte[][] arr = new byte[granularity][];
        Task<byte[]>[] tasks = new Task<byte[]>[granularity];
        tasks[0] = Task<byte[]>.Factory.StartNew(() => DownloadPartOfFile(uri, 0, l / granularity));
        tasks[1] = Task<byte[]>.Factory.StartNew(() => DownloadPartOfFile(uri, l / granularity + 1, l / granularity + l / granularity));
        tasks[2] = Task<byte[]>.Factory.StartNew(() => DownloadPartOfFile(uri, l / granularity + …
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library

10
推荐指数
1
解决办法
1724
查看次数

如何设置nvd3工具提示边界

我正试图让这个工具提示的位置 在此输入图像描述 相对于父div,
这就是我实现网页的方式:

<div id="parent">
        <div id="chart">
            <svg style="height:500px">
            </svg>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

用css:

#parent
{
     margin-top:300px;
     border: solid blue;
     height: 600px;
}
#chart
{
    border: solid red;
    width:500px;
    float:left;
    height: 500px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 2em;
}
svg
{
    width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

chartContainer在nvd3.js文件中找到了,但我无法编辑它.
那么有可能的解决方案吗?

d3.js nvd3.js

6
推荐指数
0
解决办法
965
查看次数

包含哪些文件以进行pnotify

这是pnotify的结果后,我包括以下文件:
prettify.js&& prettify.css&& jquery.pnotify.default.css&& jquery.pnotify.default.icons.css&&当然jquery.pnotify.js

在此处输入图片说明

我错过了什么吗?

jquery jquery-plugins pnotify

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

如何在jar应用程序中获取“以管理员身份运行”

我有一个使用Swing作为GUI库的桌面Java应用程序。我必须在此应用程序中安装一个安装程序,但是它必须具有管理特权

我在用

Process p = Runtime.getRuntime().exec(pathToTheExeInstaller);
Run Code Online (Sandbox Code Playgroud)

安装程序。但是在没有管理员权限的情况下运行它时会出现以下错误:

错误

当在NetBeans中使用clean and build时,是否有一种方法可以在生成的jar文件的上下文菜单(右键单击菜单)中以管理员身份运行

在此处输入图片说明

java

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

从chrome扩展获取当前网址

如果当前标签不是同一个网站,我正在制作一个镀铬扩展程序,打开一个网站,所以我设法得到所有这些标签:

chrome.tabs.getAllInWindow(null, allTabs);
Run Code Online (Sandbox Code Playgroud)

我写了一个函数来显示它:

   function allTabs(tabs) {
        var tabsURLS = '';
        for (var i = 0; i < tabs.length; i++) {
            tabsURLS = tabs[i].url + '\n';
        }
        alert(tabsURLS);
    }
Run Code Online (Sandbox Code Playgroud)

但我需要获取当前页面网址,以便我通过此获取当前标签:

var object=chrome.tabs.getCurrent(function(){;});
Run Code Online (Sandbox Code Playgroud)

但我不能得到像id或的页面属性url,此警报显示"未定义"...

alert(object);
Run Code Online (Sandbox Code Playgroud)

虽然这个警报根本不起作用

alert(object.id);
Run Code Online (Sandbox Code Playgroud)

最后,我读了这个页面chrome.tabs,当我读到这一行时,我很震惊

getCurrent
chrome.tabs.getCurrent(function callback)
获取此脚本调用的选项卡.如果从非选项卡上下文调用(例如:后台页面或弹出视图),则可能未定义.

所以我不认为有一个解决方案从Chrome扩展获得当前打开的选项卡...

google-chrome-extension

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

Sublime构建错误的SWI-Prolog插件

我知道这是一个有点愚蠢的问题,但我现在真的很绝望,因为我无法找到建立它的方法.我总是得到这个错误

ERROR: call/2: Undefined procedure: main/1
ERROR:   However, there are definitions for:
ERROR:         main/0
Run Code Online (Sandbox Code Playgroud)

即使我试过了

father(ahmad,samer).
father(ahmad,lolo).
father(ahmad,koko).


grandfather(X,Y):-
    father(U,X),
    father(Y,U).

main :- father(ahmad, X), writef('%t\n', [X]).
Run Code Online (Sandbox Code Playgroud)

那么有人可以帮助我以正确的方式做到这一点吗?

prolog swi-prolog sublimetext3

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

OPENGL 如何使用 glTexImage3D 函数

以下代码用于绘制海洋,我尝试将其转换为 c# 代码,但我失败了,因为我不明白 3d 函数的作用,所以我想对这些函数进行一些解释(我的意思是 3d 纹理)...

int res = 64;
int nr = res / 2;
int nv = res * 2;
int nb = res / 2;
int na = 8;
f = fopen("E:\\New folder\\ConsoleApplication1\\Debug\\data\\inscatter.raw", "rb");
data = new float[nr*nv*nb*na*4];
fread(data, 1, nr*nv*nb*na*4*sizeof(float), f);
fclose(f);
glActiveTexture(GL_TEXTURE0 + INSCATTER_UNIT);
glGenTextures(1, &inscatterTex);
glBindTexture(GL_TEXTURE_3D, inscatterTex);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER_ARB, 0);
glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA16F_ARB, na*nb, nv, nr, 0, GL_RGBA, GL_FLOAT, …
Run Code Online (Sandbox Code Playgroud)

c# opengl

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

不执行无界线程池执行器中的所有线程的原因是什么

我正在使用ExecutorService
ExecutorService executor = Executors.newFixedThreadPool(20000);
我在ThreadSystem.java类中有两个静态成员:

public static Integer count = 0;
public static Integer rejectedCount = 0;
Run Code Online (Sandbox Code Playgroud)

然后我正在添加线程:

for (i = 0; i < 20001; i++) {
    Runnable worker = new MyThread();
    try {
        executor.execute(worker);
    } catch (RejectedExecutionException ex) {
        rejectedCount++;
    }
}
executor.shutdown();
while (!executor.isTerminated()) {
}
Run Code Online (Sandbox Code Playgroud)

在线程内:

@Override
public void run() {
    ThreadSystem.count++;
    try{   
        Thread.sleep(50);       
    }
    catch(InterruptedException ex){
        Logger.getLogger(MyThread.class.getName()).log(Level.SEVERE, ex.getMessage(),ex);
      }
}
Run Code Online (Sandbox Code Playgroud)

我得到的结果表明存在未执行的线程且count变量不等于创建的线程数,尽管rejectedCount引用被拒绝的线程为0:

数:19488
拒绝计数:0

那么还有什么可以向我保证所有线程都会运行,这种情况的原因是什么:count(可运行线程)不等于添加的线程

java multithreading threadpool threadpoolexecutor java-threads

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