问题列表 - 第43945页

Hashtable的超时机制

我有一个哈希表,在流量很大的情况下.我想为哈希表添加超时机制,删除太旧的记录.我担心的是, - 它应该是轻量级的 - 删除操作没有时间关键.我的意思是(超时值是1小时)删除操作可以在1小时或1小时15分钟后.没有问题.

我的意见是,我创建了一个大数组(作为环形缓冲区),存储时间和哈希表键,当添加到哈希表时,使用数组索引查找数组上的下一个插槽时间,如果数组插槽为空,则插入时间和HT键,如果数组槽不为空,则比较发生超时的插入时间.
如果发生超时从Hashtable中删除(如果尚未删除)则不会发生超时,增加索引直到找到空槽或时间数组槽.从哈希表中删除时,大数组上没有操作.

不久,对于Hashtable的每个添加操作,可以从哈希表中删除1个timeouted元素或不执行任何操作.

您的优雅和轻量级解决方案是什么?

谢谢你的帮助,

java algorithm timeout hashtable

3
推荐指数
2
解决办法
4799
查看次数

参考为非技术人员学习HTML和JS

我的经理想学习HTML和JS,他不知道编程.你能从他学到的地方给我任何好的参考资料吗?

html javascript

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

如何在Hibernate中调用存储过程?

我在Oracle数据库中有一个存储过程.

GET_VENDOR_STATUS_COUNT(DOCUMENT_ID IN NUMBER, NOT_INVITED OUT NUMBER, INVITE_WITHDRAWN OUT NUMBER, ...
Run Code Online (Sandbox Code Playgroud)

其他参数是OUT参数.

在我的hbm文件中,我写了以下内容:

<sql-query name="getVendorStatus" callable="true">
     <return-scalar column="NOT_INVITED" type="string"/>
     <return-scalar column="INVITE_WITHDRAWN" type="string"/>
     <return-scalar column="INVITED" type="string"/>
     <return-scalar column="DISQUALIFIED" type="string"/>
     <return-scalar column="RESPONSE_AWAITED" type="string"/>
     <return-scalar column="RESPONSE_IN_PROGRESS" type="string"/>
     <return-scalar column="RESPONSE_RECEIVED" type="string"/>
     { call GET_VENDOR_STATUS_COUNT(:DOCUMENT_ID , :NOT_INVITED ,:INVITE_WITHDRAWN ,:INVITED ,:DISQUALIFIED ,:RESPONSE_AWAITED ,:RESPONSE_IN_PROGRESS ,:RESPONSE_RECEIVED ) }
</sql-query>
Run Code Online (Sandbox Code Playgroud)

这是我的Java代码:

 session.getNamedQuery("getVendorStatus").setParameter("DOCUMENT_ID", "DOCUMENT_ID").setParameter("NOT_INVITED", "NOT_INVITED") 
Run Code Online (Sandbox Code Playgroud)

......继续直到所有参数.

我收到以下SQL异常:

18:29:33,056 WARN [JDBCExceptionReporter] SQL错误:1006,SQLState:72000
18:29:33,056错误[JDBCExceptionReporter] ORA-01006:绑定变量不存在


请告诉我在Hibernate中调用存储过程的确切过程是什么?我不想使用JDBC可调用语句.

java oracle stored-procedures hibernate

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

在使用ORM解决方案的ASP.NET MVC中工作时,是否需要使用Repository模式?

我有点好奇其他开发人员在使用Entity Framework或NHibernate在ASP.NET MVC中编程时应用Repository模式的经验.在我看来,这种模式已经在ORM中实现了.DbContextDbSet<T>在实体框架和ISessionNHibernate中.这些Repository模式中提到的大部分问题- 如POEEDDD编目- 都是由这些ORM非常充分地实现的.即这些问题是,

  • 坚持
  • OO查看数据
  • 数据访问逻辑抽象
  • 查询访问逻辑

此外,我见过的大多数存储库模式的实现都遵循这种实现模式 - 假设我们正在开发一个博客应用程序.

NHibernate实现:

public class PostRepository : IPostRepository
{
    private ISession _session;

    public PostRepository(ISession session)
    {
        _session = session;
    }

    public void Add(Post post)
    {
        _session.Save(post);
    }

    // other crud methods. 
}
Run Code Online (Sandbox Code Playgroud)

实体框架:

public class PostRepository : IPostRepository
{
    private DbContext _session;

    public PostRepository(DbContext session)
    {
        _session = session;
    }

    public void Add(Post post)
    {
        _session.Posts.Add(post);
        -session.SaveChanges();
    } …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc orm design-patterns domain-driven-design

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

asp.net可用性日历显示全年

我正在寻找一个asp.net控件,它将以网格格式显示一整年,每个月作为一行,每个月的每一天作为列.我找到了以下经典的ASP脚本,它产生了正确的格式:http://www.livio.net/code/calendar_36/CalendarTestYearly36.asp? infomode = HELP(参见年历)

有没有这样的东西,或者有没有办法在没有特定控制的情况下做到这一点?我是asp.net的新手.

谢谢

asp.net controls calendar

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

在Android上以高帧率绘制高分辨率动画

我有30多个单位图(320x240像素),我想在Android设备上一个接一个地全屏显示,从而产生一个动画.目前,我使用ImageView和Timer实现动画,设置下一帧,然后发送将应用下一帧的消息.得到的帧速率非常低:<2 fps.

计时器:

animationTimer.scheduleAtFixedRate(new TimerTask() {
    @Override
    public void run() {
        Drawable frame = getNextFrame();
            if (frame != null) {
                Message message = animationFrameHandler.obtainMessage(1, frame);
                animationFrameHandler.sendMessage(message);
            }
        }
    }, 0, (int) (1000.0d / fps));
Run Code Online (Sandbox Code Playgroud)

处理程序:

final Handler animationFrameHandler = new Handler() {
    @Override
    public void handleMessage(Message message) {
        setImageDrawable((Drawable) message.obj);
    }
};
Run Code Online (Sandbox Code Playgroud)

由于我想要实现高达30 fps的帧速率,我必须使用另一种机制并听说Canvas.drawBitmapMesh()OpenGL.

如果可能的话我想避免使用OpenGL.

非常感谢您分享您的经验!

animation android canvas opengl-es

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

在Visual C#2010中获取DTE2对象的引用

我想在Visual Studio 2010中使用带有C#的DTE2对象来获得对当前解决方案的引用.

我首先尝试了以下代码:

var dte = Marshal.GetActiveObject("VisualStudio.DTE.10.0") as EnvDTE80.DTE2;
Run Code Online (Sandbox Code Playgroud)

但是当我打开2个解决方案,并且这个代码在第一个解决方案中时,我得不到对当前解决方案的引用,而是对我加载的最后一个解决方案的引用.我需要当前的解决方案......

在互联网上搜索,我发现以下解决方案如何从VSPackage获取当前的解决方案目录?:

// Get an instance of the currently running Visual Studio IDE
DTE dte = (DTE)GetService(typeof(DTE));
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时,我的dte对象总是为NULL.

那么如何使用C#on .net framework 4.0获取VS2010中当前的解决方案对象?

c# add-in visual-studio-2010 envdte

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

Android-NDK构建系统(构建hello-gl2)

我使用这个软件包在Archlinux上下载并安装了Android-NDK .

hello-jni按照本页面上的指南构建(并运行)示例没有问题,但如果我尝试做同样的事情,hello-gl2我会得到一些错误; 看起来它找不到一些头文件:

$ ../../ndk-build 
/usr/bin/make -f /opt/android-ndk/build/core/build-local.mk
Compile++ thumb  : gl2jni <= gl_code.cpp
/opt/android-ndk/samples/hello-gl2/jni/gl_code.cpp:22:23: error: GLES2/gl2.h: No such file or directory
/opt/android-ndk/samples/hello-gl2/jni/gl_code.cpp:23:26: error: GLES2/gl2ext.h: No such file or directory
--- SNIP ---
Run Code Online (Sandbox Code Playgroud)

GLES2/gl2.h并且GLES2/gl2ext.h是然而,存在的$(NDK)/platforms/android-4/arch-arm/usr/include/,而且看起来$(NDK)/build/core/setup-toolchain.mk应该设定包含路径.

有人遇到过同样的问题吗?我该如何编译这个样本?
那么,还有其他选项可以轻松构建Android-NDK应用程序吗?这个构建系统对我来说似乎很复杂,我更喜欢使用cmake来构建我的应用程序.

android sample build toolchain android-ndk

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

如何计算一段.NET代码的CPU使用率?

我们的工具在诊断模式下生成性能日志,但是我们跟踪代码执行时间(秒表+毫秒)的性能.

显然它根本不可靠,测试系统的CPU可以被一些随机过程使用,如果你的工具配置为运行10个线程而不是2个,结果将完全不同,等等.

我的问题是:

找出一段代码(而不是整个过程)的正确CPU时间的正确方法是什么?

我的意思是CPU时间:

基本上CPU花了多少周期.我假设对于同一台计算机中的同一段代码,它将始终相同,并且不受其他进程的影响.我可能会在这里遗漏一些基本的东西,如果是这样,请在评论或答案中启发我.

PS在我们的设置中无法使用分析器

另一个更新,

为什么我不打算使用分析器

因为我们需要在具有不同数据的不同环境中测试代码,而我们没有分析器或IDE或类似的东西.因此代码本身应该处理它.一个极端的选择可能是使用分析器的DLL,但我不认为这个任务需要这么复杂的解决方案(假设没有免费且易于实现的分析库).

.net optimization performance cpu-usage

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

Django会话无法在Internet Explorer中工作

Sessions在我测试过的所有其他浏览器中都能很好地运行.

如果我尝试获取会话ID sessionid = request.COOKIES['sessionid'],我会收到此错误:KeyError: 'sessionid'

这就是我在settings.py中的内容:

CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
SESSION_COOKIE_DOMAIN = '.vb.is'
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
Run Code Online (Sandbox Code Playgroud)

网站是vb.is,fiskifrettir.vb.is和hestabladid.vb.is

替代文字

服务器设置为:apache2(mod_wsgi)和nginx

django cookies session internet-explorer session-cookies

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