我正在拼命尝试为我的Nexus 4安装ADB USB驱动程序,这对于任何形式的Android开发都是必需的(正如您所知).你也可以说,它们是用于Android编程的最必要的工具,对吗?我已经经常为我的旧HTC Desire建立一个Android开发环境,但我没有为我的Nexus 4设置它.
我的方式:
我真的不知道问题是什么.我已经尝试过的一些事情包括:
我担心这个问题是因为新的驱动程序版本(v8)或KitKat,因为我在网上找不到任何可行的解决方案而且KitKat相对较新,但是,有没有人有解决方案呢?
我是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的新手,想要了解问题.我看到它的方式,我有两个问题:
我想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.
你对这两点有什么想法吗?
所以我研究了关于登录 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
我试图通过从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) 我目前正在开发一个小的汇编程序,我很想知道为什么我在网上找到的几乎所有汇编语法都使用逗号,看起来像这样:
MOV eax, 123
我正在考虑这个问题的原因如下:
我可以在网上找到的一个例外是来自维基百科的这张图片:https://en.wikipedia.org/wiki/File: Hotorola_6800_Assembly_Language.png
现在我不知道逗号是否更现代(x86/arm/etc.汇编程序),但我的问题是:
何时,何地以及为何使用此逗号语法?