小编jop*_*hab的帖子

Guava ImmutableMap的访问速度明显慢于HashMap

在研究某些高吞吐量数据结构的内存基准测试时,我意识到我只能使用ImmutableMap一点点重构.

认为这将是一个改进,我把它扔进了组合中并且惊讶地发现它不仅比它HashMap在单线程环境中慢,而且看起来一直比它慢ConcurrentHashMap!

你可以在这里看到完整的基准:https://bitbucket.org/snippets/dimo414/89K7G

测试的内容非常简单,需要花费多长时间才能获得地图中可能存在的大量随机字符串.

public static void timeAccess(Map<String,String> map) {
    Random rnd = new Random(seed);
    int foundCount = 0;

    long start = System.nanoTime();

    for(int i = 0; i < loop; i++) {
        String s = map.get(RndString.build(rnd));
        if(s != null)
            foundCount++;
    }

    long stop = System.nanoTime() - start;

    System.out.println("Found "+foundCount+" strings out of "+loop+" attempts - "+
        String.format("%.2f",100.0*foundCount/loop)+" success rate.");
    System.out.println(map.getClass().getSimpleName()+" took "+
        String.format("%.4f", stop/1_000_000_000.0)+" seconds.");
    System.out.println();
}
Run Code Online (Sandbox Code Playgroud)

对a HashMap,a ConcurrentHashMap …

java performance benchmarking hashmap guava

36
推荐指数
2
解决办法
7951
查看次数

选择SQL Server中的所有空表

如何获取我的sql-server数据库中没有任何记录的表列表?

t-sql sql-server

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

Angular:获取父路由中的参数值

我有这样的网址

  • www.yoursite.com/accounts/:accountid/info
  • www.yoursite.com/accounts/:accountid/users 等等。

accountidURL 中有一个整数值

但是不能使用ActivatedRoute参数访问它。

现在我正在拆分 URL 以获取 accountid

除了拆分 URL 之外,有没有更好的方法来访问该值?

更新

我有一个不同的模块account,它包括帐户相关页面的所有组件和服务。

我懒加载这个模块。所以在根级路由中,也就是app-routing我指定

{ path:'account', loadChildren : './account/account.module#AccountModule' }
Run Code Online (Sandbox Code Playgroud)

在帐户模块的 中account-routing,我通过

path: 'account/:accountid', component: AccountComponent, canActivate: [AuthGuard],
    children: [
      { path: '', redirectTo: 'info', pathMatch: 'full' },
      { path: 'info', component: InfoComponent },
      { path: 'users, component: UsersComponent }
      {path: '**', redirectTo: 'info'}
    ]
Run Code Online (Sandbox Code Playgroud)

笔记 :

如果存在,我们可以访问子路径中的参数。但不是父部分为什么?

我正在获取undefined父路径中的参数

angular angular-activatedroute

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

PL/SQL使用哪种类型的绑定?

我遇到了以下问题.

PL/SQL使用以下哪项

  • (A)没有约束力
  • (B)早期结合
  • (C)晚期绑定
  • (D)延迟绑定

但找不到任何令人满意的答案.

有人能解释一下吗?

sql oracle binding plsql

14
推荐指数
2
解决办法
1929
查看次数

如果记录存在则使用内连接,否则使用左连接

我有以下表结构:

dbo.Owner

OwnerID   OwnerName  
  1        John   
  2        Marie
  3        Alex
Run Code Online (Sandbox Code Playgroud)

和dbo.Pet

PetID PetTag Status OwnerID
  1    A341  Active    1  
  2    A342  Inactive  1  
  3    A343  Active    2
  4    A345  Active    2
Run Code Online (Sandbox Code Playgroud)

我需要归还所有只有活动宠物或没有宠物的主人.

所以在上面这个例子中,我需要返回所有者2(所有宠物都有效)和所有者3(没有宠物)

我将使用Entity Framework在C#中提取数据,但是纯SQL就足够了.

这是我到目前为止所提出的:

select mi.* from Owner o
join Pet p
on o.OwnerID= p.OwnerID
where o.Status='Active'
union select * from Owner
where OwnerID not in (select OwnerID from Pet)
Run Code Online (Sandbox Code Playgroud)

现在,上面的这个查询有效但它包含OwnerID = 1.而且我想知道是否有一种方法可以在没有union的1个查询中执行此操作.

c# sql-server entity-framework

12
推荐指数
2
解决办法
1992
查看次数

如何使用Azure Portal中Azure Blob容器的存储访问策略创建共享访问签名?

我从这里读到了使用存储的Azure存储访问策略生成的共享访问签名.

我还在此处了解了如何使用PowerShell为Azure存储的存储访问策略创建此共享访问签名.

但是,我想使用Azure门户执行上述操作.我知道如何生成ad-hoc共享访问签名.我也知道如何在Azure Blob中为容器创建存储访问策略.

如何在Azure门户中为Azure Blob容器创建存储访问策略的共享访问签名?

azure azure-storage azure-blob-storage azureportal

11
推荐指数
2
解决办法
6655
查看次数

C#5 .NET MVC长异步任务,进度报告和全局取消

我使用ASP.Net MVC 5,我有一个长期运行的动作,它必须轮询webservices,处理数据并将它们存储在数据库中.

为此,我想使用TPL库来启动任务异步.

但我想知道如何做三件事:

  • 我想报告这项任务的进展情况.为此,我想到了SignalR
  • 我希望能够离开我开始执行此任务的页面,并能够报告整个网站的进展(从左侧的面板,但这没关系)
  • 我希望能够全局取消此任务(从我左侧的面板)

我对所涉及的所有技术了解不少.但我不确定实现这一目标的最佳方法.

有人可以帮我解决最佳解决方案吗?

asp.net-mvc task-parallel-library c#-5.0 signalr

10
推荐指数
2
解决办法
6526
查看次数

Python信号问题:如果在执行另一个信号处理程序期间收到SIGQUIT,SIGQUIT处理程序会延迟执行?

以下程序非常简单:每半秒输出一个点.如果收到SIGQUIT,则继续输出10 Q s.如果它收到SIGTSTP (Ctrl- Z),它输出十个Z s.

如果它在打印Q s时收到SIGTSTP,它将在完成10 Q后打印10 Z s.这是一件好事.

但是,如果在打印Z s 时收到SIGQUIT,则无法在它们之后打印Q s.相反,它只在我通过KeyboardInterrupt手动终止执行后打印出来.我想在Z s 之后立即打印Q s.

使用Python2.3会发生这种情况.

我究竟做错了什么?Muchas gracias.

#!/usr/bin/python

from signal import *
from time import sleep
from sys import stdout

def write(text):
    stdout.write(text)
    stdout.flush()

def process_quit(signum, frame):
    for i in range(10):
        write("Q")
        sleep(0.5)

def process_tstp(signum, frame):
    for i in range(10):
        write("Z")
        sleep(0.5)

signal(SIGQUIT, process_quit)
signal(SIGTSTP, process_tstp)

while 1: …
Run Code Online (Sandbox Code Playgroud)

python signals

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

.NET Ionic.Zip模块查杀驱动器空间

我有以下设置:

  • Win2008服务器
  • Ionic.zip参考模块
  • 用于构建zip文件的单独驱动器
  • .NET 4.0

Web应用程序即时构建zip包,并允许客户端下载包.

到目前为止,这个系统运行得非常好.

最近我们添加了一些较大的文件(2GB到11GB),这些文件在下载到客户端之前都需要包装在一个包中.最初我把这个系统设置为在C上发生:(一个错误).马上,特别是对于较大的文件,我开始得到"磁盘空间不足"的错误.我做的第一件事是将系统移动到100GB单独驱动器(K :)上.既然这些文件已在Intranet上发布到生产环境,我仍然会收到这些错误.

  1. 我有一个任务安排每晚清理驱动器,所以即使在100GB我不应该得到错误
  2. C:和K:都有足够的空间
  3. 我还不知道它是C :(一个未知的临时文件夹??)还是K:正在填满
  4. 更新 - 看事件日志它是K:正在填满,但当我检查它,它不满...所以我假设临时文件问题...或??

有没有人可以对这些问题有所了解或建议如何排除故障?

编辑 - - - - - - - - - - - -

我认为压缩方法可能有些东西我正在调用文件大小.我现在看到其他错误看起来像:

压缩或未压缩的大小或偏移量超过最大值.考虑在ZipFile实例上设置UseZip64WhenSaving属性.

我尝试添加zip.CompressionMethod = Zip64Option.AsNecessary认为zip64将是必要的行,但后来我得到了错误Unsupported compression method.我不知道这个新信息从哪里开始.我以为ZipDotNet会处理这一切.

现在用户正在尝试下载此文件,这一点变得越来越紧迫.我现在正在修补一个补丁作为解决方法.

更多编辑--------------------

当我意识到普通拉链的尺寸限制为4GB时,有一种DUH时刻.Zip64的大小限制更大.

我在zip.UseZip64WhenSaving = True我的代码中添加了这一行,这似乎解决了这个问题.到目前为止,没有问题.

asp.net .net-4.0 windows-server-2008

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

SQL Server Management Studio - 查找所有非空表

有没有办法SQL Server Management Studio Express如何列出所有非空表?我有超过100个表要检查数据.

t-sql sql-server ssms

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