小编Wol*_*olf的帖子

在Windows 8 64位上为Nexus 4(带KitKat)安装USB驱动程序 - "没有兼容的软件驱动程序"

我正在拼命尝试为我的Nexus 4安装ADB USB驱动程序,这对于任何形式的Android开发都是必需的(正如您所知).你也可以说,它们是用于Android编程的最必要的工具,对吗?我已经经常为我的旧HTC Desire建立一个Android开发环境,但我没有为我的Nexus 4设置它.

我的方式:

  • 运行Windows 8和8.1预览(在两台不同的机器上尝试了所有内容)
  • 从Google下载Android开发工具(SDK + ADT + Eclipse +等)
  • 通过Android SDK Manager下载Google USB驱动程序(v8)
  • 在设备管理器中,我有一个条目"Nexus 4",我右键单击,然后选择"更新驱动程序软件..."
  • - >浏览计算机以查找驱动程序软件 - >让我在计算机上选择一个设备驱动程序列表 - >从磁盘安装... - >选择Google驱动程序路径 - >对话框出现:
  • "您指定的文件夹不包含适用于您设备的兼容软件驱动程序.[...]"

我真的不知道问题是什么.我已经尝试过的一些事情包括:

  • 在USB3/USB2端口上执行所有操作
  • 将计算机连接模式更改为PTP(而不是MTP)
  • 在Win8/Win8.1预览中做一切
  • 我尝试安装通用ADB驱动程序:download.clockworkmod.com/test/UniversalAdbDriverSetup6.msi没有任何重大结果

我担心这个问题是因为新的驱动程序版本(v8)或KitKat,因为我在网上找不到任何可行的解决方案而且KitKat相对较新,但是,有没有人有解决方案呢?

android windows-8 nexus-4 windows-8.1 android-4.4-kitkat

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

将枚举值保存到数据库

我是Go的新手,我正在尝试编写一个小程序来将枚举值保存到数据库中.我声明我的价值观的方式如下:

type FileType int64
const (
    movie FileType = iota
    music
    book
    etc
)
Run Code Online (Sandbox Code Playgroud)

我在我的结构中使用这些值,如下所示:

type File struct {
    Name     string
    Type     FileType
    Size     int64
}
Run Code Online (Sandbox Code Playgroud)

我使用gorp作为我的数据库的东西,但我想gorp的使用与我的问题无关.我把东西放在我的数据库中这样:

dbmap.Insert(&File{"MyBook.pdf",movie,1000})
Run Code Online (Sandbox Code Playgroud)

但是当我试图检索东西时......

dbmap.Select(&dbFiles, "select * from Files")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

panic: reflect.Set: value of type int64 is not assignable to type main.FileType
Run Code Online (Sandbox Code Playgroud)

当我int64用作场const(...)File.Type场的类型时,一切正常,但我是Go的新手,想要了解问题.我看到它的方式,我有两个问题:

  1. 为什么不能成功转换这个东西?我查看了Go反射和sql包的源代码,并且有这种转换的方法,但它们似乎都失败了.这是一个错误吗?问题是什么?
  2. 我想sql.Scanner通过实现以下方法可以实现接口:

    Scan(src interface{}) error
    
    Run Code Online (Sandbox Code Playgroud)

    我试图实现该方法,我甚至能够从中获取正确的值src并将其转换为a FileType,但是我很困惑,如果我应该为" (f *FileType)或"实现该方法(f FileType).无论哪种方式调用该方法,但我不能覆盖f(或至少更新后来丢失),File从DB读取的实例总是有一个"0"作为值File.Type.

你对这两点有什么想法吗?

sql enums types go

15
推荐指数
2
解决办法
4995
查看次数

拥有多个记录器实例而不是拥有一个静态记录器类有什么好处?

所以我研究了关于登录 Java(slf4j、log4j、logback 等)的最佳实践,似乎库之间同意记录 API 应该是什么样子。我一直阅读的建议是这样的代码,您可以在其中为每个类创建一个记录器:

class Foo{
  Logger logger = Logger.getLogger(Foo.class);
  //...
  logger.info("my log message");
  //...
}
Run Code Online (Sandbox Code Playgroud)

现在我并没有真正受益于为不同的类设置单独的记录器。为什么信息/调试/等。Logger 类中的方法不是静态的?

请不要给出诸如“好处是您可以根据类配置记录器。例如,您可以将各个类的日志级别设置为 DEBUG...”之类的回答,因为我认为这是您可以的也可以使用完全静态的 Logger 类来完成。

如果您环顾四周(例如在 stackoverflow 上:Log4J:创建 Logger 实例的策略),您会发现人们使用这样的习惯用法:

Logger.getLogger(Thread.currentThread().getStackTrace()[2].getClass().getCanonicalName());
Run Code Online (Sandbox Code Playgroud)

现在,您不必为每个类都创建一个记录器,而只需在静态(例如)info() 方法中调用上面的代码,您可以在其中确定调用类并应用所有记录器配置,就像您在其他情况下所做的一样。

那么谁能告诉我为什么有人应该为每个类使用一个记录器而不是使用一个静态记录器的真正原因?纯粹是历史原因吗?我错过了什么吗?我知道这可能会对性能产生影响,但它实际上在内存使用方面是积极的(当然在运行时方面是消极的)......

更新我想你甚至可以在静态信息/调试/等中使用这个代码。方法,它比上面的代码漂亮且性能更高:

Reflection.getCallerClass()
Run Code Online (Sandbox Code Playgroud)

然而,对该方法的支持似乎有问题 >=JDK7

java logging log4j logback slf4j

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

为什么与(快速)专用GPU相比,(缓慢的)集成GPU上的Java2D速度更快?

我试图通过从Java2D切换到OpenGL(LWJGL)来优化应用程序的性能。我为自己编写了一些基准测试,以了解这两者之间的性能差异,并一开始对结果感到满意。但是,当我在另一台计算机上运行基准测试时,结果令我震惊。

这是有问题的基准:

public static void main(String[] args) throws InterruptedException {
    //create window
    JFrame frame = new JFrame();
    frame.setSize(1000, 1000);
    frame.setLocation(0, 0);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //add drawable component
    frame.add(new JComponent() {
        protected void paintComponent(Graphics graphics) {
            Graphics2D g = (Graphics2D) graphics;
            g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
            g.setFont(g.getFont().deriveFont(24f));

            long start = System.nanoTime();
            for(int i=0;i<500;i++){
                g.drawString("This is a test string - This is a test string - This is a test string",10, 20+i*2);
            }
            long end = System.nanoTime();
            long nsDuration = (end-start);

            System.out.println("DrawString takes: "+(nsDuration/1_000_000)+" ms");
    }});
    frame.setVisible(true); …
Run Code Online (Sandbox Code Playgroud)

java graphics performance gpu java-2d

5
推荐指数
0
解决办法
178
查看次数

为什么这么多汇编语法都包含逗号?

我目前正在开发一个小的汇编程序,我很想知道为什么我在网上找到的几乎所有汇编语法都使用逗号,看起来像这样:

MOV eax, 123

我正在考虑这个问题的原因如下:

  • 在我看来,作为一个分隔符,空白似乎足够好,所以在可读性方面没有任何好处
  • 将逗号作为(另外的)分隔符使得解析器更复杂/性能更差(即使只是略微)
  • 我会特别想在早期,当汇编程序被引导或与其他汇编程序一起编写时,包含该语法将是一件麻烦事.

我可以在网上找到的一个例外是来自维基百科的这张图片:https://en.wikipedia.org/wiki/File: Hotorola_6800_Assembly_Language.png

现在我不知道逗号是否更现代(x86/arm/etc.汇编程序),但我的问题是:

何时,何地以及为何使用此逗号语法?

syntax assembly parsing comma

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