小编Oll*_*liP的帖子

在Lua中编写代码"在调试器中"的方法?

我刚刚和Lua玩了一下,尝试了Koneki eclipse插件,非常好看.问题是,当我在一个函数中进行更改时,我正在调试,此时保存更改时更改无效.所以我被迫重启应用程序.如果我可以在调试器中进行更改并且它们将在运行中变得非常有效,例如使用Smalltalk,或者在Java中使用热代码替换,可能会有所改进.有人知道这是否可行?

lua koneki

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

从 Java 发起的 DB 查询是否总是阻塞 I/O?

假设一些阻塞 I/O 是用 Java 完成的,例如长时间运行的数据库查询。Java 中是否有一种方法可以让某些 Java 数据库驱动程序告诉 JVM 调度程序该调用已离开 JVM,现在正在由某个外部系统处理?然后,JVM 可以将为数据库查询提供服务的线程分配给其他操作,直到数据库的回复到达。这样,阻塞数据库查询将有效地变为非阻塞。

只是想知道这是否可以在一般的 JVM 上完成。我从事 Java 工作很多年了,但我承认我不知道 Java 调度程序在这种情况下在做什么。

java multithreading scheduling blocking

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

寻找编程语言,您可以在"调试器"中编写代码

我曾经使用Smalltalk进行开发,它完全是交互式的,你可以在任何浏览器(包括调试器)中更改代码,并且更改在应用程序中立即生效(无需重启或任何操作).我的问题是,是否还有其他语言.除了Self之外我什么都不知道,但是我害怕自我真的死了.

Java有热代码替换,只能部分工作(只要公共方法不会改变).JRebel让它变得更好.但我正在寻找一种支持交互式开发的语言,如Smalltalk.注意,我不是指REPL.REPL仍然与应用程序分离,因此REPL中执行的内容在应用程序中不会像交互式编程语言或开发环境那样立即生效.

programming-languages smalltalk interactive

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

编译器无法识别函数重载,因为类型被擦除.怎么克服这个?

我有一个问题,下面的代码中名为fooSome的两个方法不能编译,因为编译器报告重复的方法名称有问题:

class Foo() {

  // variable block has 2 closure variables
  def fooSome(block: Some[(Int, String) => Unit]) = {

  }

  // variable block has 1 closure variables
  def fooSome(block: Some[Int => Unit]) = {

  }

  // variable block has 2 closure variables
  def fooNoSome(block: (Int, String) => Unit) = {

  }

  // variable block has 1 closure variables
  def fooNoSome(block: Int => Unit) = {

  }
}
Run Code Online (Sandbox Code Playgroud)

相反,编译器报告没有与名为fooNoSome的两个方法发生此类方法名称冲突.所以问题是编译器没有看到"Some [(Int,String)=> Unit]"和"Some [(Int)=> Unit]" 之间的区别,而"(Int,String)=> Unit" …

scala parametric-polymorphism

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

如何增加Google Go中的堆空间

我正在运行Rober Hundt基准测试中的Go代码来比较Go与其他语言的性能.当我从该基准测试运行Go代码时(请参阅http://code.google.com/p/multi-language-bench/source/browse/trunk/src/#src%2Fhavlak%2Fgo)我的内存不足例外:

................运行时:内存不足:无法分配1048576字节块(1270808576正在使用中)抛出:内存不足

我的问题是如何增加Go的内存空间.是否有一些启动参数或编译器的某些标志可以相应设置?Go源的Makefile文件没有显示任何内容......

谢谢,奥利弗

go

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

Lua中的线程优先级

我看了一下Lua的书,并了解到Lua中的多线程是合作的.我找不到的是有关线程优先级的一些信息.我猜想具有相同优先级的线程会一直运行直到完成,因为多线程是合作的,或者是完成了收益.那个优先级高于另一个优先级的线程怎么样?

是否能够中断优先级较低的优先级,或者当优先级较低的线程运行到完成时它是否会运行?

lua multithreading thread-priority

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

"三元CAS操作"理论上可行吗?

我经常遇到这样的情况,我希望这个问题可以像这样解决:

AtomicBoolean bool1 = new AtomicBoolean();
AtomicBoolean bool2 = new AtomicBoolean();

boolean expected = false; // whatever
boolean update = false; // whatever

if(bool1.get()) {
    bool2.compareSet(expected, update);
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为可以在bool1.get()和之间进行上下文切换bool2.compareSet(...).那么,什么是需要的是我会称之为"三元原子布尔",这是一件好事,可以做bool1.get()bool2.compareSet(...)在一个CAS操作.

我的问题是它是否可以完成.有没有人知道有人在考虑这个问题(一些大学)或有人知道现有的解决方案接近所需(我的意思是没有锁,同步块,互斥,semapores,但使用CAS仅基于算法).

java multithreading compare-and-swap

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

如何初始化一个val的trait变量

我有MyObject和MyTrait:

class MyObject(private val myname: String = "") extends MyTrait {

  _name = myname

  def foo(myname : String) {
   _name = myname
  }
}

trait MyTrait {

  protected var _name: String = _

  def name = _name

}
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作

val myObject = new MyObject("abc")
println(myObject.name)
myObject.foo("def")
println(myObject.name)
Run Code Online (Sandbox Code Playgroud)

版画

abc
def
Run Code Online (Sandbox Code Playgroud)

正如所料.

现在的问题是我希望MyTrait._name是val而不是var.但我无法设法将其编译.任何提示赞赏.

此致,奥利弗

scala accessor traits

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