小编Shi*_*oft的帖子

如果值为null,如何避免缓存?

我正在使用guava来缓存热数据.当缓存中不存在数据时,我必须从这样的数据库中获取它.

public final static LoadingCache<ObjectId, User> UID2UCache = CacheBuilder.newBuilder()
        //.maximumSize(2000)
        .weakKeys()
        .weakValues()
        .expireAfterAccess(10, TimeUnit.MINUTES)
        .build(
        new CacheLoader<ObjectId, User>() {
            @Override
            public User load(ObjectId k) throws Exception {
                User u = DataLoader.datastore.find(User.class).field("_id").equal(k).get();
                return u;
            }
        });
Run Code Online (Sandbox Code Playgroud)

我的问题是当数据在数据库中也不存在时,我宁愿返回null而不做任何缓存.但是guava只是在缓存中使用密钥保存null并在我得到它时抛出异常

com.google.common.cache.CacheLoader $ InvalidCacheLoadException:CacheLoader为key shisoft返回null.

那么,如何避免缓存空值?

caching guava

49
推荐指数
3
解决办法
4万
查看次数

从字符串中检测并提取url?

这是一个简单的问题,但我不明白.我想检测字符串中的url并用缩短的字符串替换它们.

我从stackoverflow中找到了这个表达式,但结果却是 http

Pattern p = Pattern.compile("\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]",Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher(str);
        boolean result = m.find();
        while (result) {
            for (int i = 1; i <= m.groupCount(); i++) {
                String url=m.group(i);
                str = str.replace(url, shorten(url));
            }
            result = m.find();
        }
        return html;
Run Code Online (Sandbox Code Playgroud)

有什么好主意吗?

java regex url

40
推荐指数
4
解决办法
5万
查看次数

如何使用正确的时区将Long类型的datetime转换为DateTime

例如,1297380023295应该是2010/2/11 9 AM我现在使用这个代码

        long dateNumber = num;
        long beginTicks = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks;
        DateTime dateValue = new DateTime(beginTicks + dateNumber * 10000);

        return dateValue;
Run Code Online (Sandbox Code Playgroud)

该功能的结果是凌晨1点,它是GMT.我该怎么办?

c# timezone datetime

25
推荐指数
3
解决办法
7万
查看次数

jquery mobile中页面的tag div和tag部分之间有什么区别

我看到了两个div并且section被用过了data-role="page".例如

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<p>This content will be ignored.</p>
<!-- Begin Page 4 -->
<section id="page4" data-role="page">
<header data-role="header"><h1>jQuery Mobile</h1></header>
<div class="content" data-role="content">
<p>External Page!</p>
<p><a href="#page1">Go to First Page</a>.</p>
</div>
<footer data-role="footer"><h1>O'Reilly</h1></footer>
</section>
<!-- End Page 4-->
<h3>This content will be ignored as well.</h3>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Intro to jQuery Mobile</title>
        <link rel="stylesheet" href="http://code.jquery.com/mobile
/1.0a2/jquery.mobile-1.0a2.min.css" />
        <script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.0a2 …
Run Code Online (Sandbox Code Playgroud)

html5 jquery-mobile

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

如何通过正则表达式删除字符串中的额外返回和空格?

我将HTML代码转换为纯文本.但是有很多额外的返回和空格.如何删除它们?

c# regex space return

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

如何在wp7应用程序中设置计时器?

如何设置从代码运行的计时器?我找不到任何名字的控件timer.

这样做需要什么步骤?

timer windows-phone-7

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

如何设置一个字段以保持lucene中的行唯一?

我的应用为lucene中的每一行生成唯一ID,并保存到数据库.一个sutation是如果有和行具有相同的id,我想更新它,而不是插入新的行和索引.

怎么做?

lucene uniqueidentifier

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

无法访问ApplicationMaster的Tracking UI,Connection拒绝

我正在将我的集群从Hadoop 1更新为YARN.我知道架构更加分散.我已经通过将所有bind ip更改为它的真实IP来修复了"连接拒绝"问题.但我不知道如何处理这个问题,我无法看到工作正在运行时发生了什么.

例如,地址就像http://shisoft-hadoopmaster:8088/proxy/application_1405708541410_0001/给我一样

HTTP ERROR 500

Problem accessing /proxy/application_1405708541410_0001/. Reason:

    Connection refused

Caused by:

java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.<init>(Socket.java:434)
    at java.net.Socket.<init>(Socket.java:286)
    at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
    at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
    at org.apache.hadoop.yarn.server.webproxy.WebAppProxyServlet.proxyLink(WebAppProxyServlet.java:187)
    at org.apache.hadoop.yarn.server.webproxy.WebAppProxyServlet.doGet(WebAppProxyServlet.java:344)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:66)
    at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:900)
    at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:834)
    at org.apache.hadoop.yarn.server.resourcemanager.webapp.RMWebAppFilter.doFilter(RMWebAppFilter.java:84)
    at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:795)
    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    at …
Run Code Online (Sandbox Code Playgroud)

hadoop

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

是否有长期的Java分析器或性能记录器?

我的服务器应用程序中存在性能问题(Hi-CPU).但只有在服务器运行很长时间(平均一周)时才会出现此问题.我尝试使用Netbeans内置分析器来诊断问题,但运行几个小时后它就停止响应.

有没有办法对应用程序进行长期监控?谢谢.

更新:这不是一个Web应用程序

java profiling performance-testing

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

使用来自Clojure的Java中的锁定宏或monitor-enter和monitor-exit

我有一块Clojure代码需要优化才能获得更好的性能.我的想法是用java重写它.有一个对象我在代码中使用了锁定宏,我需要重写,这个对象也可能被锁定在Clojure代码中的其他地方.

我不想定义新的ReentrantLock对象,因为此应用程序对内存敏感.

我的问题是什么在Java等于锁定宏,或monitor-entermonitor-exit受到来自Clojure的引擎盖?

java locking clojure

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