小编Kev*_*ith的帖子

垃圾收集器哪些对象不清理?

静态分析工具不断告诉我,我的C#代码中有资源泄漏.

这是一个例子:

StringReader reader = new StringReader(...); 

// do something with reader

...

} // static analysis tool cries that I've leaked **reader**
Run Code Online (Sandbox Code Playgroud)

我的工具是否正确?如果是这样,为什么?

编辑(回复评论) - 我的静态分析工具说我有一堆资源泄漏.我从这个论坛知道需要显式释放某些Java AWT对象,否则会发生泄漏.是否需要明确释放C#对象?

c# garbage-collection

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

Java线程"同步"

文章谈到Java的"同步"的关键字.

  ...
  private int foo;
  public synchronized int getFoo() { return foo; } 
  public synchronized void setFoo(int f) { foo = f; }
Run Code Online (Sandbox Code Playgroud)

如果调用者想要增加foo属性,则执行此操作的以下代码不是线程安全的:

  ...
  setFoo(getFoo() + 1);
Run Code Online (Sandbox Code Playgroud)

如果两个线程同时尝试递增foo,结果可能是foo的值增加了一个或两个,具体取决于时间.

现在,我的问题:

为什么setFoo()上没有"同步"会阻止上面的粗体线?

java synchronized thread-safety

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

在 Maven 中强制执行代码风格

如何在 Maven 构建时强制执行代码样式检查?

特别是,我想配置两个 Maven 构建以使用这两个:

如何配置我的 Maven 构建以在代码样式违规时失败?

java checkstyle maven

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

jQuery`child`与`find`

HTML

<table id='t'>
  <tr>
    <td id='foo' class='a b c'>blah</td>
    <td id='bar' class='a c'>bloo</td>
    <td id='zip' class='a b c'>blop</td>
 </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

使用jQuery,为什么以下children调用返回0

$('#t').children('tr').length
Run Code Online (Sandbox Code Playgroud)

find返回1?

$('#t').find('tr').length
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/o71x6co6/1/

jquery

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

将元组添加到地图?

使用Scala 2.11.8,我可以key - value通过以下方式将一对附加到Map:

scala> Map( (1 -> 1) ) + (2 -> 2)
res8: scala.collection.immutable.Map[Int,Int] = Map(1 -> 1, 2 -> 2)
Run Code Online (Sandbox Code Playgroud)

但是,如何使用元组作为+的参数?

scala> Map( (1 -> 1) ) + (2, 2)
<console>:12: error: type mismatch;
 found   : Int(2)
 required: (Int, ?)
       Map( (1 -> 1) ) + (2, 2)
                          ^
Run Code Online (Sandbox Code Playgroud)

也不起作用:

scala> Map( (1, 1) ) + (2, 2)
<console>:12: error: type mismatch;
 found   : Int(2)
 required: (Int, ?)
       Map( (1, 1) ) + …
Run Code Online (Sandbox Code Playgroud)

scala

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

没有隐式视图可用

当我试图DBObject通过插入批量加载一个列表时,我得到了no implicit view available.

collection.insert(listObjects) // listObjects is a List[DBObject]

[error]Test.scala:139: No implicit view available from List[com.mongodb.casba
h.Imports.DBObject] => com.mongodb.casbah.Imports.DBObject.
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?我怎么解决?

参考:

def insert [A] (docs: List[A])(implicit arg0: (A) ? DBObject) : WriteResult

scala implicit mongodb implicit-conversion casbah

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

Haskell的Monoid Bool

当然数据类型并不精确,但这是(或多或少)Monoid Bool实现的方式?

import Data.Monoid

data Bool' = T | F deriving (Show)

instance Monoid (Bool') where
    mempty = T
    mappend T _ = T
    mappend _ T = T
    mappend _ _ = F 
Run Code Online (Sandbox Code Playgroud)

如果是/不是,什么是做推理BoolmappendORAND

haskell monoids

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

使用`ap`实现`sequence`

应用程序编程与效果,McBride和Paterson的论文,提到sequence功能:

sequence :: [IO a ] -> IO [a ]
sequence []       = return []
sequence (c : cs) = return (:) `ap` c `ap` sequence cs
Run Code Online (Sandbox Code Playgroud)

ap类型是:

ap :: Monad m => m (a -> b) -> m a -> m b

我试图了解最后一行右侧的类型.

这些类型如何统一(我认为这是正确的措辞)return (:) 'ap' c 'ap' sequence cs

我不清楚return (:)比赛ap的第一个论点m (a -> b).

ghci> :t return (:)
return (:) :: Monad m => m …
Run Code Online (Sandbox Code Playgroud)

haskell

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

实现`Monad(( - >)e)`

Typeclassopedia提出了这个练习:

为(( - >)e)实现Monad实例.

这是MyMonad班级.

class (MyMonad m) where
    ret     :: a   -> m a
    flatMap :: m a -> (a -> m b) -> m b
Run Code Online (Sandbox Code Playgroud)

然后,我开始尝试实现Monad实例((->) e).

instance (MyMonad (-> e)) where
    ret x       = ...
    flatMap m f = ...
Run Code Online (Sandbox Code Playgroud)

但是,我没有直觉((->) e)意味着什么.

请帮助我理解它,并给我一个解决方案的暗示ret.

monads haskell

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

状态Monad具有`put`功能

纵观国家单子的维基,我试图了解runStateput功能.

据我所知runState,它需要第一个参数State,它有一个"宇宙" s,和一个值,a.它需要宇宙的第二个参数.最后,它返回一个(a, s)地方a是新的价值,s是新的宇宙?

ghci> :t runState
runState :: State s a -> s -> (a, s)
Run Code Online (Sandbox Code Playgroud)

例:

ghci> let s = return "X" :: State Int String
ghci> runState s 100
("X",100)
Run Code Online (Sandbox Code Playgroud)

但是,我不明白put结果:

ghci> runState (put 5) 1
((),5)
Run Code Online (Sandbox Code Playgroud)

既然runState返回了(a, s),为什么是a类型()

我对上面的尝试解释没有信心.请纠正我,并回答我的问题put.

monads state haskell

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