小编Kor*_*ben的帖子

Java Class.isAssignableFrom confusion

我发现原始类型的问题

System.out.println("Integer.class.isAssignableFrom(int.class) = " + Integer.class.isAssignableFrom(int.class));
System.out.println("int.class.isAssignableFrom(Integer.class) = "+int.class.isAssignableFrom(Integer.class));
Run Code Online (Sandbox Code Playgroud)

这两个语句都返回false给调用者.所以这似乎拳击不适用于这里.我的问题是,如果我的观察是正确的,或者有其他API可以正确地进行此测试?

--------------------------------跟进---------------- -----------------------------

正如我所说,我主要想在使用反射时检查对象是否可以赋值给Field.我希望机制在运行时可以更精确,所以我做了这样的实现.

    public static boolean isAssignableFrom(final Field field, final Object obj) {


        if (field.getType().equals(Integer.class) || field.getType().equals(int.class)) {
            return obj.getClass().equals(Integer.class) || field.getType().equals(int.class);
        } else if (field.getType().equals(Float.class) || field.getType().equals(float.class)) {
            return obj.getClass().equals(Float.class) || field.getType().equals(float.class);
        } else if (field.getType().equals(Double.class) || field.getType().equals(double.class)) {
            return obj.getClass().equals(Double.class) || field.getType().equals(double.class);
        } else if (field.getType().equals(Character.class) || field.getType().equals(char.class)) {
            return obj.getClass().equals(Character.class) || field.getType().equals(char.class);
        } else if (field.getType().equals(Long.class) || field.getType().equals(long.class)) {
            return obj.getClass().equals(Long.class) || field.getType().equals(long.class);
        } else if (field.getType().equals(Short.class) …
Run Code Online (Sandbox Code Playgroud)

java reflection

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

NIO 线程 CPU 使用率

我在使用 java.nio.channel.Selector. 当服务器线程启动时,它最初消耗 200% 的 cpu 资源,然后急剧下降到 0.1%。但如果它是由客户端连接的。这个数字迅速增加到 97% - 100%,即使在客户端断开连接后也保持这个数字。

这是我为服务器编写的代码。

package com.cs.gang.test;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.Iterator;

public final class TCPConnectionServer implements Runnable {

private RandomAccessFile logFile;
private Selector selector;

public TCPConnectionServer() throws IOException {
    final File logFile = new File("server_log.txt");
    if (logFile.exists()) {
        logFile.delete();
    }

    this.logFile = new RandomAccessFile(logFile.getCanonicalPath(), "rw");
    System.out.println(logFile.getCanonicalPath());

    selector = Selector.open();
    final ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
    serverSocketChannel.configureBlocking(false);
    serverSocketChannel.socket().bind(new …
Run Code Online (Sandbox Code Playgroud)

java multithreading nio

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

XPath选择具有属性名称的节点

假设我们有一个XML文档给出

<MyDocument>
<Pages>
    <Page>
        <Para>
            <Word show="yes" wo="2">Some</Word>
            <Word>People</Word>
        </Para>
    </Page>
    <Page>
        <Para>
            <Word>Some</Word>
            <Word show="yes">Other</Word>
            <Word show="yes" wo="1">People</Word>
        </Para>
    </Page>
</Pages>
</MyDocument>
Run Code Online (Sandbox Code Playgroud)

我们怎样才能找到属性'show'和'wo'的所有Word节点?我试过XPath // [@show] | // [@wo]但是这个表达式也选择带@show的节点.和//*[@ show @wo]不是合法表达式.

谢谢

xml xpath

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

了解VAO、VBO和程序

我一直在自学OpenGL,Op​​enGL中的一些概念让我很困惑。

据我所知,VBO是驻留在服务器端的未描述数据的缓冲区,VAO是VBO的描述,Program是用于在屏幕上显示网格的着色器渲染管道。

让我一直困惑的是它们三者之间的关系,正如我所看到的,在创建并填充VBO之后,VAO是为程序属性规范生成的。这是否意味着每次我们绑定VAO时我们都必须提前使用某个程序?如果这不正确,请纠正我。如果能简单介绍一下这些 OpenGL 概念之间的交互就太好了。

谢谢

opengl vbo vao

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

如何收听Android网络的变化

我想开发一个应用程序保持与服务器的TCP连接一段时间(如一两分钟)但我必须考虑设备的IP已更改,因为客户端可能在此期间移动.所以我想知道我们如何确定Android设备是否已经改变其网络环境(从Wifi转为4G或反之亦然)特别是设备的公共IP由于任何网络环境已经改变而改变了?

谢谢

java android

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

标签 统计

java ×3

android ×1

multithreading ×1

nio ×1

opengl ×1

reflection ×1

vao ×1

vbo ×1

xml ×1

xpath ×1