小编axe*_*l22的帖子

从JVM上的堆栈帧获取局部变量

有没有办法在不使用调试器的情况下在JVM上获取当前作用域中的局部变量的映射或其他数据结构?也就是说,获取当前堆栈帧的本地?

我知道有堆栈跟踪对象,但StackTraceElement无法访问任何状态.它只是告诉你在哪里调用了哪种方法,而不是它里面的内容.

java jvm snapshot clojure locals

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

Java ProcessBuilder process.destroy()不会在winXP中杀死子进程

我有一个java应用程序,用于ProcessBuilder准备操作系统命令并给我一个Process对象.(实际的os命令是使用cygwin通过ssh进行rsync).

这在Windows中运行良好,但如果我想停止使用process.destroy()它的过程不会杀死子ssh和rsync进程.....我必须使用Windows任务管理器手动杀死它们..

我可以OutputStream在调用之前获取进程并以某种方式发送一个ctrl-c destroy();吗?

如果有人对解决方法有任何想法,那就太好了.感谢:D

java

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

获取当前颜色

glColor4f(1.0f, 1.0f, 1.0f, alpha_);用来设置我正在绘制的图元的透明度.

但是,我希望能够读取当前的opengl alpha值.那可能吗?

例如

float current_alpha = glGetAlpha(); //???
glColor4f(1.0f, 1.0f, 1.0f, alpha_*current_alpha);
Run Code Online (Sandbox Code Playgroud)

c++ opengl

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

Scala MouseEvent - 如何知道按下了哪个按钮?

我正在使用scala swing编写scala应用程序.MouseClicked只要点击鼠标,我就可以收听通知,但我怎么知道按下了哪个按钮.文档非常糟糕,所以我查看了Java文档MouseEvent,其中说可以从修饰符字段检索密钥,所以我尝试输出scala MouseClicked事件的修饰符字段,结果证明是整数, 0表示左键单击,鼠标键3和鼠标键4表示256,右键单击256.

如果我只需要知道左右点击之间的区别,它看起来会起作用,但是我可以确定修改器的所有方式都是这样的吗?什么都没有说明,而且据我所知,修饰符可能会被其他东西影响,而不仅仅是按下了哪个鼠标键.我也想知道左键单击鼠标按钮3和鼠标键4之间的区别.我不认为用户希望它们与左键单击做同样的事情.

在scala文档中有一个MouseButtonEvent,这可以用于任何事情吗?文档没有说明它的作用.

swing scala scala-2.8

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

一种初始化Scala ArrayBuffer的惯用方法?

我想ArrayBuffer在索引0到99中初始化一个值为-1的值.有一种简单的,惯用的方法吗?

这有效,但有点夸张:

val a = new ArrayBuffer [Int]()
a.appendAll(Nil.padTo(100,-1))

我想看到更像这样的东西:

val a = ArrayBuffer(List(-1)*100)

scala

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

使用X.par.view和X.view.par构建Scala并行视图?

根据关于并行收集和在互联网上搜索的论文,并行集合应该与视图一起工作,但我不清楚它们之间的区别

coll.par.view.someChainedIterations
Run Code Online (Sandbox Code Playgroud)

coll.view.par.someChainedIterations
Run Code Online (Sandbox Code Playgroud)

似乎coll.view.par放弃了集合的视图:

scala> val coll = 1 to 3
coll: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3)

scala> coll.view.par
res2: scala.collection.parallel.ParSeq[Int] = ParArray(1, 2, 3)

scala> coll.par.view
res3: java.lang.Object with scala.collection.parallel.ParSeqView[Int,scala.collection.parallel.immutable.ParSeq[Int],scala.collection.immutable.Seq[Int]] = $anon$1(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

但我不知道为什么.它是一个功能还是一个bug?

parallel-processing scala scala-collections parallel-collections

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

Scala Swing事件中使用的反引号

我是Scala的新手,并按照其中一个例子让Swing在Scala工作,我有一个问题.基于,

   listenTo(celsius, fahrenheit)
   reactions += {
      case EditDone(`fahrenheit`) =>
        val f = Integer.parseInt(fahrenheit.text)
        celsius.text = ((f - 32) * 5 / 9).toString

      case EditDone(`celsius`) =>
        val c = Integer.parseInt(celsius.text)
        fahrenheit.text = ((c * 9) / 5 + 32).toString
    }
Run Code Online (Sandbox Code Playgroud)

为什么我必须在EditDone(`fahrenheit`)和EditDone(`celsius`)中使用反引号(`)来识别我的文本域组件,例如fahrenheitcelsius?为什么我不能用EditDone(fahrenheit)呢?

谢谢

events swing scala

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

如何评估Python中的JavaScript代码

我需要在网页上获取一些结果,它使用一些JavaScript代码来生成我感兴趣的部分,如下所示

eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--)d[c]=k[c]||c;k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('5 11=17;5 12=["/3/2/1/0/13.4","/3/2/1/0/15.4","/3/2/1/0/14.4","/3/2/1/0/7.4","/3/2/1/0/6.4","/3/2/1/0/8.4","/3/2/1/0/10.4","/3/2/1/0/9.4","/3/2/1/0/23.4","/3/2/1/0/22.4","/3/2/1/0/24.4","/3/2/1/0/26.4","/3/2/1/0/25.4","/3/2/1/0/18.4","/3/2/1/0/16.4","/3/2/1/0/19.4","/3/2/1/0/21.4"];5 20=0;',10,27,'40769|54|Images|Files|png|var|imanhua_005_140430179|imanhua_004_140430179|imanhua_006_140430226|imanhua_008_140430242|imanhua_007_140430226|len|pic|imanhua_001_140429664|imanhua_003_140430117|imanhua_002_140430070|imanhua_015_140430414||imanhua_014_140430382|imanhua_016_140430414|sid|imanhua_017_140430429|imanhua_010_140430289|imanhua_009_140430242|imanhua_011_140430367|imanhua_013_140430382|imanhua_012_140430367'.split('|'),0,{}))
Run Code Online (Sandbox Code Playgroud)

结果eval()对我来说很有价值,我正在编写一个Python脚本,是否有任何库可以用来虚拟运行这段JavaScript代码并获得输出?

谢谢

javascript python

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

如何定义Ordering [Array [Byte]]?

是否有必要从头开始提供实施?我找不到任何匹配的隐含,甚至没有最后的Implicits特征.seqDerivedOrdering显然不起作用,因为Array不是Seq.

scala

6
推荐指数
3
解决办法
1157
查看次数

Java序列化,Kryo和对象图

假设我在内存中有一个arr类型的对象数组A,每个对象都有一个指向同一个对象的引用字段B.

插图:

A_1  A_2  A_3 ... A_N
 |    |    |       |
 |    |    V       |
 \--->\--> B <-----/
Run Code Online (Sandbox Code Playgroud)

请注意,每个类型对象中的引用字段A指向一个类型的对象B.

现在,我序列阵列arr包含类型的对象AObjectOutputStream.然后我反序列化以这种方式获得的字节.

我得到一个新阵列arr1.

1)数组是否arr1具有类型的对象,A以便它们都指向一个类型的对象B?(我不是指序列化之前的同一个对象,而是一个独特的新创建的对象类型B)

2)换句话说,在Java中调用serialize/deserialize会保留与序列化之前相同的对象图吗?(即新反序列化的对象图与旧的同构图是同构的)

3)这在哪里记录?(即请提供引文)

4)相同的问题1-3,但适用于Java 的Kryo序列化框架.

谢谢.

java serialization kryo

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