小编Uma*_*maN的帖子

在C#中使用F#选项类型

我有以下类型:

and ListInfo() =

let mutable count = 0

// This is a mutable option because we can't have an infinite data structure.
let mutable lInfo : Option<ListInfo> = None

let dInfo = new DictInfo()
let bInfo = new BaseInfo()

member this.BaseInfo = bInfo
member this.DictInfo = dInfo

member this.LInfo
    with get() = lInfo
    and set(value) = lInfo <- Some(value)

member this.Count
    with get() = count
    and set(value) = count <- value
Run Code Online (Sandbox Code Playgroud)

递归"列表信息"是一个选项.有一个或没有.我需要从C#中使用它,但我得到错误.这是一个示例用法:

if (FSharpOption<Types.ListInfo>.get_IsSome(listInfo.LInfo))
{
    Types.ListInfo subListInfo = listInfo.LInfo.Value; …
Run Code Online (Sandbox Code Playgroud)

c# f# option

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

Glassfish JAX-RS JSON映射简单示例内部服务器错误500没有生成日志

我用两个资源创建了一个简单的REST服务.第一个资源很好用,只返回MediaType.TEXT_PLAIN.

对于第二个资源,我想尝试将POJO映射到Java并遵循以下示例:

https://github.com/jersey/jersey/tree/2.3.1/examples/json-moxy/src/main/java/org/glassfish/jersey/examples/jsonmoxy

我的testbean定义为:

@XmlRootElement
public class Company {

    public String name;
    public String symbol;
    public String country;

    public Company(String name, String symbol,
            String country) {
        this.name = name;
        this.symbol = symbol;
        this.country = country;
    }

    public String getName() {
        return name;
    }

    public String getSymbol() {
        return symbol;
    }

    public String getCountry() {
        return country;
    }
}
Run Code Online (Sandbox Code Playgroud)

资源也是微不足道的:

@Path("company/{name}")
public class CompanyResource {

    private Map<String, Company> companies;

    public CompanyResource() {
        companies = new LinkedHashMap<String, Company>();
        companies.put("Apple", new Company("Apple Inc.", …
Run Code Online (Sandbox Code Playgroud)

rest json glassfish jax-rs jaxb

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

如何在蜂巢中获得毫秒精度?

文件说,时间戳支持以下转换:

•浮点数字类型:以小数精度解释为UNIX时间戳,以秒为单位

首先,我不确定如何解释这一点.如果我有时间戳2013-01-01 12:00:00.423,我可以将其转换为保留毫秒数的数字类型吗?因为那就是我想要的.

更一般地说,我需要在诸如的时间戳之间进行比较

select maxts - mints as latency from mytable
Run Code Online (Sandbox Code Playgroud)

其中maxts薄荷糖是时间戳列.目前,这让我NullPointerException使用Hive 0.11.0.如果我做的话,我可以执行查询

select unix_timestamp(maxts) - unix_timestamp(mints) as latency from mytable
Run Code Online (Sandbox Code Playgroud)

但这仅适用于秒,而不是毫秒精度.

任何帮助赞赏.如果您需要其他信息,请告诉我.

hadoop timestamp hive hiveql

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

Java内存使用/线程池性能问题

这些事情显然需要仔细检查和提供代码,以便彻底分析并提供好的建议.然而,这并不总是可行的,我希望根据我在下面提供的信息为我提供好的提示.

我有一个服务器应用程序,它使用侦听器线程来侦听传入的数据.传入的数据被解释为特定于应用程序的消息,然后这些消息会引发事件.

到目前为止,我对事情的完成方式并没有任何控制权.

因为这是遗留应用程序,所以这些事件之前由同一个侦听器线程(主要是单线程应用程序)处理.事件被发送到黑盒子,然后输出应该写入磁盘的结果.

为了提高吞吐量,我想使用线程池来处理事件.我们的想法是,每次创建事件时,侦听器线程都可以生成新任务,并且线程将负责黑盒调用.最后,我有一个后台线程执行写入磁盘.

只需使用以前的设置和后台编写器,一切正常,吞吐量比以前增加了1.6倍.

当我添加线程池但性能下降.一开始,一切似乎都运行顺利,但过了一段时间,一切都很慢,最后我得到OutOfMemoryExceptions.奇怪的是,当我每次将一个任务添加到池中时打印活动线程的数量(以及有关排队多少任务的信息等等),看起来好像线程池没有问题跟上producer(监听器线程).

使用top -H检查CPU使用情况,它在开始时非常均匀分布,但最后工作线程几乎没有活动,只有监听器线程处于活动状态.但它似乎没有提交更多任务......

任何人都可以假设这些症状的原因吗?您是否认为遗留代码(我无法控制)中的某些内容更可能在添加多个线程时变坏?内存不足问题应该是因为某个队列某处变得太大,但由于线程池几乎从不包含排队任务,所以不可能.

欢迎任何想法.特别是关于如何更有效地诊断这种情况的想法.如何更好地了解我的线程在做什么等等.

谢谢.

java memory performance visualvm jvisualvm

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

标签 统计

c# ×1

f# ×1

glassfish ×1

hadoop ×1

hive ×1

hiveql ×1

java ×1

jax-rs ×1

jaxb ×1

json ×1

jvisualvm ×1

memory ×1

option ×1

performance ×1

rest ×1

timestamp ×1

visualvm ×1