小编sc_*_*ray的帖子

ScrollViewer的性能问题

使用ScrollViewer装饰项目集合控件时,性能似乎会降低.在我正在处理的特定应用程序中,当我使用ScrollViewer装饰VirtualizingStackPanel时,应用程序似乎受到了很大的打击.我试图在这个特定的容器中加载250个项目,希望用户可以滚动浏览所有250个项目.有人可以了解一下ScrollViewer的内部结构,以及为什么它的包含可以减慢应用程序的初始负载?

<ScrollViewer 
 HorizontalScrollBarVisibility="Auto" 
 VerticalScrollBarVisibility="Auto"
 Visibility= "Visible">

 <ListView ItemsSource="{Binding EmployeeAccounts}">
  <ListView.ItemsPanel >
      <ItemsPanelTemplate>
          <VirtualizingStackPanel />
      </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

谢谢

.net wpf clr xaml scrollviewer

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

使用gradle将jar添加到classpath

在gradle中,有没有办法引用外部罐子.我有一些外部罐子,坐在项目结构外的另一个文件夹中.有没有办法在build.gradle文件中添加对这些jar的引用,以便在编译过程中获取它们?

谢谢

编辑:

我使用allprojects任务修改了mu build.gradle,该任务具有以下"子任务(?)",如下所示:

repositories{
   flatDir name:'ExternalJars',dirs:'<path to the jars>'
   dependencies{
      compile: 'jarname:jarname:version'
   }
}
Run Code Online (Sandbox Code Playgroud)

这似乎使我的构建运行得很好.当我创建存储库并指定依赖项时,是否有人可以了解到底发生了什么?- 谢谢

compilation jar classpath gradle

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

使用subversion和intellij合并树干与分支

我对其中一个分支做了一大堆修改.现在我试图将这些更改与主干合并.为了做到这一点,我在我的机器上创建了两个工作文件夹,名为BRANCH和TRUNK.我在BRANCH目录中创建了一个svn co分支,在TRUNK文件夹中创建了一个svn co的trunk.退房完成后,我继续打开了我在分支机构所做的所有签到的颠覆历史.一旦我获得了所有签到的版本号,我就进入了我的TRUNK文件夹并发出以下命令:

 svn merge --dry-run -r1xx0:1xx1 svn+ssh://pathtomybranch/
Run Code Online (Sandbox Code Playgroud)

有趣的是,上面的命令执行没有任何输出,这实际上表明我的分支和我的版本没有任何差异.这是不可能的,因为我尝试合并的版本的文件内容不同.

有人对这里可能出现的问题有一些想法吗?

谢谢

svn version-control merge intellij-idea

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

在linux中混淆同一程序的两个不同版本?

我的机器上有一个旧版本的程序.该程序最近进行了版本升级.我以前运行旧程序的方式是键入"runProgram".我的程序的脚本路径在我的PATH变量中指定为

PATH = ....:/path/to/my/old/programs/bin
Run Code Online (Sandbox Code Playgroud)

我想在我的旧程序旁边运行同一个程序的新版本,我想这样做的方法是修改我的PATH变量,如下所示:

PATH = ....:/path/to/my/old/programs/bin:/path/to/my/new/programs/bin
Run Code Online (Sandbox Code Playgroud)

我想要实现的是一些别名这两个路径的方法,这样当我输入'runVersion1'时,执行以前的版本,当我输入'runVersion2'时,新版本被执行了吗?

有没有办法实现这一目标?

谢谢

linux shell alias path environment-variables

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

使用Callables实现Fibonacci时无声长溢出

我正在尝试使用callables实现Fibonacci序列,并将我的Fibonacci的初始值调用为3,4,5,6和2000.我得到的输出如下:

3 5 8 13 -820905900187520670

问题是当我试图在我的可调用中计算fib(2000)时.有人可以看看下面提供的代码,看看我的方法出错了:

import java.util.concurrent.*;
import java.util.*;

class FibonacciGen implements Callable<Long>{
    private Long fib;
    public FibonacciGen(long num){
        this.fib = num;
    }
    public Long call(){
        return calculateFibonacci(fib);
    }

    private long calculateFibonacci(long someNum){
        long firstNum = 0L;
        long secondNum = 1L;
        long counter = 0L;
        while(counter<someNum){
            long fibCalc = secondNum+firstNum;
            firstNum = secondNum;
            secondNum = fibCalc;
            counter= counter+1L;
        }
        return secondNum;
    }   

}

public class FibonacciCallable{
    public static void main(String[] args){
        ExecutorService exec = Executors.newCachedThreadPool();
        ArrayList<Callable<Long>> results = …
Run Code Online (Sandbox Code Playgroud)

java callable integer-overflow fibonacci long-integer

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

将对象添加到boost :: graph

我试图创建一个对象图,我需要使用一些遍历算法遍历.在这个时刻,我被困在尝试使用我的自定义对象创建图形.我试图完成它的方式如下:

#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/depth_first_search.hpp>
#include <iostream>

using namespace std;
typedef boost::adjacency_list<boost::vecS,boost::vecS,boost::directedS> CustomGraph;
typedef boost::graph_traits<CustomGraph>::vertex_descriptor CustomVertex;

class CustomVisitor:public boost::default_dfs_visitor
{
        public:
                void discover_vertex(CustomVertex v,const CustomGraph& taskGraph) const
                {
                        cerr<<v<<endl;
                        return;
                }


};

class CustomObject{
        private:
                int currentId;
        public:
                CustomObject(int id){
                        currentId = id;
                }

};


int main()
{
        CustomGraph customGraph;
        CustomObject* obj0 = new CustomObject(0);
        CustomObject* obj1 = new CustomObject(1);
        CustomObject* obj2 = new CustomObject(2);
        CustomObject* obj3 = new CustomObject(3);

        typedef std::pair<CustomObject*,CustomObject*> Edge;
        std::vector<Edge> edgeVec;
        edgeVec.push_back(Edge(obj0,obj1));
        edgeVec.push_back(Edge(obj0,obj2));
        edgeVec.push_back(Edge(obj1,obj2));
        edgeVec.push_back(Edge(obj1,obj3));
        customGraph(edgeVec.begin(),edgeVec.end()); …
Run Code Online (Sandbox Code Playgroud)

c++ boost initialization graph object

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

在scala中将字符串添加到字符串中

我在理解以下几段scala代码背后的基本原理时遇到了一些麻烦:

我们都知道REPL中1 + 1 = 2.

scala> 1 + 1
res0: Int = 2
Run Code Online (Sandbox Code Playgroud)

如果我输入"Abc"+"Def",我应该在REPL中输入"AbcDef".

scala> "Abc" + "Def"
res6: java.lang.String = AbcDef
Run Code Online (Sandbox Code Playgroud)

现在假设我在String"Abc"上调用+方法并将"Def"作为参数传递:

scala> "Abc".+("Def")
res7: java.lang.String = AbcDef
Run Code Online (Sandbox Code Playgroud)

根据相同的理由,为什么像1. +(1)这样的东西会返回一个双2.0?

scala> 1.+(1)
res1: Double = 2.0
Run Code Online (Sandbox Code Playgroud)

另外,为什么将参数"1"作为参数传递给"1.01",如下所示:

scala> 1.+("1")
res9: String = 1.01
Run Code Online (Sandbox Code Playgroud)

为什么返回的结果是String而不是"1"的努力转换成调用者类型?

谢谢

types casting scala return-type return-value

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

从 json 中的文本文件创建一棵树 - Clojure

我有一个文本文件,每行包含一个 json 值。我的文件如下:

{"id":"a","family":"root","parent":nil,"value":"valueofa"}
{"id":"b1","family":"b","parent":"a","value":"valueofb1"}
{"id":"c1","family":"c","parent":"b1","value":"valueofc1"}
{"id":"c2","family":"c","parent":"b1","value":"valueofc2"}
{"id":"b2","family":"b","parent":"root","value":"valueofb2"}
{"id":"d1","family":"d","parent":"b1","value":"valueofd1"}
Run Code Online (Sandbox Code Playgroud)

在上面给出的 json 中,我们的 family 属性表示一个层次结构,我们将“root”作为根,“b”作为“root”的孩子,“c”作为“b”和“d”的孩子也是“b”的孩子。

这个想法是遍历文件并在树中的适当位置添加正在读取的节点。一种方法是将这些条目读入“地图”,然后将此地图用于任何树操作。对于任何复杂的树操作,我不确定这将如何工作。很有可能根据某个要求,我可能必须将子项与现有父项分离并将其附加到另一个父项。显然 Clojure 拉链应该在这方面有所帮助,但我对拉链中节点的层次结构如何工作感到有些困惑。

如果有人能在这里指出我正确的方向,那就太好了。

tree json clojure

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

JDialog没有出现

该程序大多数工作正常,但不打开任何窗口.它应该在桌面右下方显示一个小对话框.但是对于另一个人来说,编译相同的代码没有问题.我们有相同的Java运行时(1.8_u40).我怎样才能解决这个问题?

我把代码放在下面:

import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.RoundRectangle2D;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class ProgressDialog {
    private JDialog dialogFrame;
    private JProgressBar progressBar;
    private JLabel headingLabel;
    private Uploader callerUploader;

    public ProgressDialog() {

        dialogFrame = new JDialog();
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
                | UnsupportedLookAndFeelException ex) {
            System.err.println(ex.toString());
        }

        dialogFrame.setSize(200, 50);
        dialogFrame.setLayout(new GridBagLayout());

        GridBagConstraints constraints = new GridBagConstraints(); …
Run Code Online (Sandbox Code Playgroud)

java swing awt jdialog java-8

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

输入与map和flatMap不匹配

在尝试使用scala中的Options时,我遇到了这个特殊的问题.

我开始创建List [Option [Int]],如下所示:

scala> List(Some(1),Some(2),None,Some(3))
res0: List[Option[Int]] = List(Some(1), Some(2), None, Some(3))
Run Code Online (Sandbox Code Playgroud)

然后我尝试在res0中列表的条目上映射一个加法,如下所示:

scala> res0 map (_ + 1)
Run Code Online (Sandbox Code Playgroud)

这给了我错误:

<console>:9: error: type mismatch;
 found   : Int(1)
 required: String
              res0 map (_ + 1)
                            ^
Run Code Online (Sandbox Code Playgroud)

然后我尝试在条目上添加flatMapping,如下所示:

scala> res0 flatMap (_ + 1)
Run Code Online (Sandbox Code Playgroud)

这给了我同样的错误:

<console>:9: error: type mismatch;
 found   : Int(1)
 required: String
              res0 flatMap (_ + 1)
                                ^
Run Code Online (Sandbox Code Playgroud)

但是类似的东西res0.flatMap(r => r)可以很好地结果:

res9: List[Int] = List(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么将地图添加到1会对地图和flatMap都失败吗?

types scala map

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