小编roa*_*oul的帖子

为什么log4j的Logger.getLogger()需要传递一个Class类型?

我读了一些关于如何使用log4j的文章.他们中的大多数都将以下代码作为开头:

 Logger logger = Logger.getLogger("com.foo.Bar");
Run Code Online (Sandbox Code Playgroud)

要么

 Logger logger = Logger.getLogger(XXX.class);
Run Code Online (Sandbox Code Playgroud)

这将初始化记录器对象.但我的问题是为什么需要将类类型作为参数发送?看来当我使用记录器时,我并不关心我在哪个类中使用它.所以Class类型似乎对记录器没有影响.如果我将一个logger声明为static和public,我可以在另一个类中调用这个logger,那么作者有意这样设计它吗?当我使用记录器时,Class类型会绑定一些东西吗?或者我可以将任何类类型发送到getLogger函数.

java log4j

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

在哪里下载sqlitejdbc?

我在SQLite官方网站上找到了下载URLhttp://www.zentus.com/sqlitejdbc.但使用此链接会导致:

404未找到.

sqlitejdbc有什么问题?我在哪里可以找到官方网站?

java sqlite jdbc java-ee

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

CachedRowSetImpl无法解析为类型

我正在使用CachedRowSet来保存ResultSet表单DB.根据一些演示代码:我写下面的代码:

CachedRowSetImpl crs = new CachedRowSetImpl();
Run Code Online (Sandbox Code Playgroud)

但是eclipse提示我CachedRowSetImpl无法解析为一个类型.所以我知道我需要导入一些包.但我不知道要导入哪一个?有谁知道?

java jdbc cachedrowset

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

PHP无法从界面扩展?

我在下面写一个php文件.

<?php
interface people
{
    public function take($s);
}

class engineer extends people
{
    public function take($s){
        echo $s;
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

人是一个界面,工程师扩展人.但是,当我运行此代码时,错误:

Fatal error: Class engineer cannot extend from interface people in E:\php5\Mywwwroot\b.php on line 12
Run Code Online (Sandbox Code Playgroud)

发生了什么?我的PHP版本是5.4.

php inheritance interface

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

等待和等待在C#5.0异步

任务或任务<TResult>对象是等待的,因此我们可以在返回值为Task或Task <TResult>的对象上使用await键.任务或任务<TResult>是最常用的等待对象.

我们也可以定义我们自己的等待对象.对象应该具有以下资格.

  1. 它有一个GetAwaiter()方法(实例方法或扩展方法);
  2. 它的GetAwaiter()方法返回一个awaiter.在下列情况下,对象是等待者:
    • 它实现了INotifyCompletion或ICriticalNotifyCompletion接口;
    • 它有一个IsCompleted,它有一个getter并返回一个布尔值;
    • 它有一个GetResult()方法,它返回void或结果.

我的问题是为什么微软没有提供限制这些等待对象的界面?目前实现等待对象的方法有点复杂.

c# asynchronous async-await c#-5.0

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

是否有一个Java等同于C#中的'new'修饰符?

可能重复:
Java中的方法是否有'new'修饰符?

在c#中,子类的方法可以修改为new.

new修饰符的一种用法,用于显式隐藏从基类继承的成员.

Java中是否有相同的关键字?

c# java polymorphism

8
推荐指数
1
解决办法
874
查看次数

在C#中,也许这是Image.SaveAdd的一个错误,谁可以帮我解决它?

我正在尝试将两个不同的gif文件合并到一个文件中.

首先,我学到了很多关于gif格式的知识.我知道延迟时间值是在图形控制扩展中设置的,这是一个gif文件块.

我保存了第一个gif并设置了FrameDelay值,代码如下:

    ImageCodecInfo codeInfo = GetEncoder(ImageFormat.Gif);
    System.Drawing.Imaging.Encoder saveEncoder = System.Drawing.Imaging.Encoder.SaveFlag;
    EncoderParameters parameters = new EncoderParameters(1);

    parameters.Param[0] = new EncoderParameter(saveEncoder, (long)EncoderValue.MultiFrame);
    PropertyItem PropertyTagFrameDelay = img1.GetPropertyItem(0x5100);
    PropertyTagFrameDelay.Value = new byte[] { 0x96, 0x00 };// this is the delay value 0x0096, means 1.5 second
    img1.SetPropertyItem(PropertyTagFrameDelay);

    PropertyItem LoopCount = img1.GetPropertyItem(0x5101);
    LoopCount.Value = new byte[] { 0x00, 0x00 };// this means the gif loops endlessly
    img1.SetPropertyItem(LoopCount);

    img1.Save(@"c:\ddd.gif", codeInfo, parameters);
Run Code Online (Sandbox Code Playgroud)

然后我尝试添加另一个图像作为第二帧.

    parameters = new EncoderParameters(1);
    parameters.Param[0] = new EncoderParameter(saveEncoder, (long)EncoderValue.FrameDimensionTime);
    PropertyTagFrameDelay = img2.GetPropertyItem(0x5100);
    PropertyTagFrameDelay.Value = …
Run Code Online (Sandbox Code Playgroud)

c# image gif

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

Windows线程池和CLR线程池之间有什么区别

我读了一些关于窗口线程池的部分.它看起来像CLR线程池.

CLR基于Windows,所以CLR线程基于windows线程池,是不是?

我知道每个.net进程都有一个线程池,windows线程池中的情况是什么?操作系统有一个线程池还是多个?

在C#中,开发人员可以通过代码控制窗口线程池吗?

c# clr multithreading pool

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

为什么在线程访问UI控件时仅在调试中发生异常?

我只是对线程和UI控件感到好奇.

根据我的测试代码,当我运行编译的.exe文件时,线程访问进程条没有任何问题.但是当我调试代码时,会出现InvalidOperationException.(无论是汇集的线程还是正常的线程.)

所以我知道线程不允许访问UI控件,但是为什么在运行.exe文件时它没问题.这是一个预期的设计吗?

PS.I知道我们可以使用backgroundworker来使事情变得优雅.

private void button1_Click(object sender, EventArgs e)
{
    Task.Factory.StartNew(dothing);//use the pooled thread
    //Thread t = new Thread(new ThreadStart(this.ThreadProcSafe));
    //t.Start();
}

private void dothing()
{
    for (int i = 1; i <= 100; i++)
    {
        progressBar2.Value = i;
        Thread.Sleep(100);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading threadpool

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

Python 是否以写入时复制的方式操作字符串对象

我注意到在Python中,字符串对象只保留一份副本。就像下面的代码:

>>> s1='abcde'
>>> s2='abcde'
>>> s1 is s2
True
Run Code Online (Sandbox Code Playgroud)

s1和s2指向同一个对象。

当我编辑 s1 时,s2 仍然保留对象('abcde'),但 s1 指向一个新副本。这种行为就像写时复制。

>>> s1=s1+'f'
>>> s1 is s2
False
>>> s1
'abcdef'
>>> s2
'abcde'
Run Code Online (Sandbox Code Playgroud)

那么Python真的在字符串对象上使用写时复制机制吗?

python unix string types copy-on-write

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