我想用可变参数列表编写一个函数.我想探索我的选择.我很确定我是为了这个目的而设计的增强模板类,但我想不出它的名字?有人能告诉我吗?还是我梦见了这个!谢谢
我在eclipse IDE 3.2中经常出现以下错误,如何从这些OutOfMemory中保存应用程序?
java.lang.OutOfMemoryError: PermGen space
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClassCond(Unknown Source)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1814)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
org.jboss.web.tomcat.service.WebAppClassLoader.findClass(WebAppClassLoader.java:75)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
com.mfic.util.HibernateUtil.<clinit>(HibernateUtil.java:16)
com.mfic.dao.BaseHome.getSession(BaseHome.java:16)
com.mfic.core.helper.UserManager.findByUserId(UserManager.java:248)
com.mfic.core.action.Login.authenticate(Login.java:39)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
Run Code Online (Sandbox Code Playgroud) 我正在学习来自Perforce的Git.
据我所知,您必须在提交时的同一步骤中编写提交消息.或者我错过了我之前可能如何编写消息并让它在我准备提交之前一直存在.
我非常喜欢perforce中的工作流程,您可以随时编辑更改列表说明,然后在准备好时进行检查.就个人而言,我喜欢多次打开描述并记录我的代码,或者我想到值得注意的事情.
可能与Git?
我正在写一个函数,它意味着将一个角色作为一个参数并返回一个角色.使用String这对我来说有点奇怪.我应该,还是在Scala 2.8中有类似char类型的东西?
英特尔C++在编译时是否预先定义了一些宏Qstd=c++0x?像__GXX_EXPERIMENTAL_CXX0X__海湾合作委员会那样的东西 ?__cplusplus还在199711.
有没有办法检测C++ 0x编译?
基于 AJAX 搜索 API 的 Google::Search 模块似乎不太好用,还是只有我一个?
比如我用firefox在google上搜索:http : //bloggingheads.tv/forum/member.php?u=12129
它带来了结果。
但是当我以这种方式使用模块时:
$google_search = Google::Search->Web ( q => "http://bloggingheads.tv/forum/member.php?u=12129" );
@result = $google_search->all;
Run Code Online (Sandbox Code Playgroud)
我在数组中什么也没有。
任何的想法?
似乎这个 API 没有像手动搜索那样带来相同的结果,我错过了什么吗?
可能重复:
十进制的0x10是什么?
我注意到了
Console.WriteLine(18);
Run Code Online (Sandbox Code Playgroud)
写道18,但是
Console.WriteLine(0x18);
Run Code Online (Sandbox Code Playgroud)
写道24.这是什么意思?
我有以下方法:
User IDataContext.AuthenticateUser(string userName, string password)
{
byte[] hash = PasswordHasher.HashPassword(userName, password);
var query =
from e in mContext.GetTable<User>()
where e.Email == userName && e.Password == hash
select e;
return query.FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
当mContext是System.Data.Linq.DataContext一切伟大工程.但是,如果mContext在我的联合测试期间是内存中的模拟,则之间的比较e.Password和hash始终返回false.
如果我重写这个比较e.Password.SequenceEqual(hash),那么我的单元测试将通过,但是当我与LinqToSql交谈时我得到一个例外.(System.NotSupportedException:不支持查询运算符'SequenceEqual'.)
有没有办法可以编写这个查询,以满足我的单元测试与内存模拟,以及与LinqToSql生产组件?
请注意,我要问的是,使用类似的东西,每隔15毫秒就会调用一次回调函数System.Threading.Timer.我不是在询问如何使用类似System.Diagnostics.Stopwatch甚至是类似的东西准确计算代码QueryPerformanceCounter.
另外,我已经阅读了相关问题:
准确的Windows计时器?System.Timers.Timer()限制为15毫秒
这些都没有为我的问题提供有用的答案.
此外,推荐的MSDN文章" 为Windows实现连续更新,高分辨率时间提供程序"是关于计时而不是提供连续的滴答流.
照这样说...
关于.NET计时器对象有很多不好的信息.例如,System.Timers.Timer被称为"针对服务器应用程序优化的高性能计时器".并且System.Threading.Timer在某种程度上被认为是二等公民.传统的观点认为,System.Threading.Timer是围绕Windows的包装定时器队列定时器,并且System.Timers.Timer完全是另一回事.
现实情况大不相同. System.Timers.Timer只是一个瘦的组件包装器System.Threading.Timer(只需使用Reflector或ILDASM来查看内部System.Timers.Timer,你会看到引用System.Threading.Timer),并有一些代码将提供自动线程同步,所以你不必这样做.
System.Threading.Timer事实证明,它不是 Timer Queue Timers的包装器.至少不在2.0运行时,它是从.NET 2.0到.NET 3.5使用的.使用Shared Source CLI几分钟后,运行时会实现自己的定时器队列,类似于Timer Queue Timers,但实际上从不调用Win32函数.
似乎.NET 4.0运行时还实现了自己的计时器队列.我的测试程序(见下文)在.NET 4.0下提供与.NET 3.5相似的结果.我已经为Timer Queue Timers创建了自己的托管包装器并证明我可以获得1 ms的分辨率(具有相当好的准确性),所以我认为我不太可能错误地读取CLI源代码.
我有两个问题:
首先,是什么原因导致运行时计时器队列的实现如此缓慢?我的分辨率不能超过15毫秒,精度似乎在-1到+30毫秒的范围内.也就是说,如果我要求24毫秒,我会在23到54毫秒之间的任何地方得到滴答声.我想我可以花更多时间使用CLI源来追踪答案,但我想这里有人可能知道.
其次,我意识到这很难回答,为什么不使用定时器队列定时器?我意识到.NET 1.x必须在没有这些API的Win9x上运行,但它们自Windows 2000以来就存在,如果我没记错的话,那就是.NET 2.0的最低要求.是因为CLI必须在非Windows机器上运行吗?
我的计时器测试程序:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
namespace TimerTest
{
class Program
{
const int TickFrequency = 5; …Run Code Online (Sandbox Code Playgroud) #include <Windows.h>
#include <stdio.h>
int count = 0;
FILE* pFile = 0;
long Size = 0;
void *memfrob(void * s, size_t n)
{
char *p = (char *) s;
while (n-- > 0)
*p++ ^= 42;
return s;
}
int main()
{
fopen_s(&pFile, "***", "r+");
fseek(pFile, 0, SEEK_END);
Size = ftell(pFile);
char *buffer = (char*)malloc(Size);
memset(buffer, 0, Size);
fread(buffer, Size, 1, pFile);
fclose(pFile);
memfrob(buffer, Size);
fopen_s(&pFile, "***", "w+");
fwrite(buffer, Size, 1, pFile);
fclose(pFile);
}
Run Code Online (Sandbox Code Playgroud)
嗨,fread没有读取从文件到缓冲区的任何内容,我无法弄清楚原因.有人能给我一个暗示或推动正确的方向吗?