小编fge*_*fge的帖子

为什么javah需要字节码来生成JNI头?

这是一个令我困惑的问题.javah需要一个字节码编译类的类路径,以生成它的头.

但是javac,据推测,可能会在源代码中构建一个AST,它也可能被使用javah.特别是因为很容易发现原生方法.

那么,为什么javah需要字节码呢?

java java-native-interface javah

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

Char数组中字母的组合

我有一个A,B,C的char数组,我想打印输出为:

A,B,C,AB,AC,BC,ABC

任何建议将不胜感激......

public class CharArray {
    public static void main(String[] args) {
        char alpha[] = {'A', 'B', 'C'};
        for(char s : alpha) {
                    //what to do now
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

java

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

SQL Server 2008从返回值中选择Min值大于给定的DateTime

我有这个

WITH sequenced_records AS (
    SELECT ROW_NUMBER() OVER (ORDER BY [DateTime] DESC) AS sequence_id, *
    FROM StreamView
    WHERE TypeOf = @TypeOf
    AND [DateTime] >= @DateTime
)
SELECT * FROM sequenced_records WHERE sequence_id = 1;
Run Code Online (Sandbox Code Playgroud)

哪个可以获得最新记录.但如果找不到什么呢?我怎样才能让它返回倒退的最新记录?意味着如果没有比给定DateTime更新的项目,它将反向返回并获取它找到的第一个项目.

谢谢

c# sql sql-server asp.net

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

获取Java类的可用成员的名称

我正在尝试用Java获取类的成员名称.例如,假设我有班级:

class Dog
{
    private int legs = 4;
    private int ears = 2;
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以得到一个字段名称列表及其类型,例如

{ "legs" : "int", "ears" : "int" }.

注意我为了方便起见在JSON中编写了示例结果,但我是用Java编写的.

java names member field-names

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

列表json响应中的总计数/计数项

我试图使用Restassured从列表api获取计数/总记录数.

请分享我们如何获得它的想法.

例如:

{
    "final list": [
        {
            "id": 123,
            "name": "sachin"
        },
        {
            "id": 234,
            "name": "sourav"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我期待这里的总数为2.请建议.

java rest-assured

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

为什么有些目标在我"mvn package"时会运行两次?

可以在此处查看完整的pom.xml文件.有一件事我不明白,正如主题所说:当我运行时mvn package,某些阶段会运行两次,因为命令的输出显示:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building uri-template 0.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ uri-template ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ uri-template ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ uri-template ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 31 source files to /home/fge/src/perso/uri-template/target/classes
[INFO] 
[INFO] --- serviceloader-maven-plugin:1.0.2:generate (default) @ uri-template ---
[INFO] Scanning generated …
Run Code Online (Sandbox Code Playgroud)

maven

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

如何从CharsetDecoder的.decode()生成UnmappableCharacterException?

[注意:问题经过大量的游戏后基本上重新编辑]

在Java中,您可以Charset定义字符编码.从a Charset,您可以获得两个对象:

  • a CharsetEncoder,将char序列转换为byte序列;
  • a CharsetDecoder,将byte序列转换为char序列.

这两个类都定义了以下方法:.onUnmappableCharacter().onMalformedInput().如果你告诉他们每一个CodingErrorAction.REPORT他们将抛出这两个例外中的任何一个:UnmappableCharacterExceptionMalformedInputException.

使用a CharsetEncoder,我可以生成它们:

  • CharBuffer含有两个高代理的方式喂它- > MalformedInputException;
  • 用一个CharBuffer包含编码不能代表的char(或char序列)来提供它:UnmappableCharacterException.

CharsetDecoder:

  • 用非法的字节顺序喂它:MalformedInputException- 容易做;
  • UnmappableCharacterException - >怎么样?

尽管我所有的研究,我都无法做到.

所有这一切尽管已经玩了很多CharsetDecoder.我找不到Charset能够产生这个错误的字节序列组合......

有没有?

java character-encoding

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

如何在不通过ObjectMapper时在JsonParser上设置ObjectCodec?

注意:这是使用Jackson 2.3.2

为了满足我的一个项目的需要,我正在编写一个自定义文件JsonParser,它记录了Map键的位置JsonPointer和值是Integers(指针指向的行号).

该课程名为LineRecorderJsonParser.它是由LineRecorderJsonFactory一个简单的代表产生的:

public final class LineRecorderJsonFactory
    extends JsonFactory
{
    @Override
    protected JsonParser _createParser(final InputStream in,
        final IOContext ctxt)
        throws IOException, JsonParseException
    {
        final JsonParser parser = super._createParser(in, ctxt);
        return new LineRecorderJsonParser(parser);
    }

    @Override
    protected JsonParser _createParser(final Reader r, final IOContext ctxt)
        throws IOException, JsonParseException
    {
        final JsonParser parser = super._createParser(r, ctxt);
        return new LineRecorderJsonParser(parser);
    }

    @Override
    protected JsonParser _createParser(final byte[] data, final int offset,
        final int …
Run Code Online (Sandbox Code Playgroud)

java jackson

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

JavaFX Application:.start()的主要阶段是什么特别的?

这是基本的fxml文件:

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
    minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0"
    xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
    fx:controller="com.github.parboiled1.grappa.debugger.basewindow.BaseWindowUi">
    <top>
        <MenuBar BorderPane.alignment="CENTER">
            <Menu mnemonicParsing="false" text="File">
                <MenuItem mnemonicParsing="false"
                    text="New window" onAction="#newWindowEvent"/>
                <MenuItem mnemonicParsing="false"
                    text="Close" onAction="#closeWindowEvent"/>
            </Menu>
        </MenuBar>
    </top>
    <center>
        <Label text="Hello"/>
    </center>
</BorderPane>
Run Code Online (Sandbox Code Playgroud)

BaseWindowUi门课很简单:

public class BaseWindowUi
{
    private BaseWindowPresenter presenter;

    public void init(final BaseWindowPresenter presenter)
    {
        this.presenter = presenter;
    }

    @FXML
    void newWindowEvent(final ActionEvent event)
    {
        presenter.handleNewWindow();
    }

    @FXML
    public void closeWindowEvent(final ActionEvent event)
    {
        presenter.handleCloseWindow();
    }
}
Run Code Online (Sandbox Code Playgroud)

演讲者也是如此:

public final class BaseWindowPresenter
{
    private final …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-8

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

等待加载完成时无法管理更新树单元格/项目图形

初始情况如下:

初始情况

现在,该树可能很大(例如,我有一棵具有2200万个节点的树)。这里发生的是,我使用jooq / h2后端存储所有节点并执行查询以查找子代。

这意味着在上图中,该节点被标记为可扩展,但尚未填充其子级。它是按需完成的。扩展后,我得到以下信息:

扩张后

我的问题是,扩张当然需要时间。我想做的是向的图形添加视觉提示,TreeItem以表明它正在加载...

而且我做不到。


好的,首先,对架构进行总体了解:

  • 简而言之,它是“具有被动观点的MVP”;
  • JavaFX所谓的“控制器”(在我的代码中由*Display类实现)是被动视图,其唯一作用是捕获UI事件并将其转发给*Presenter;这些类是“ GUI实现特定的”;
  • *Presenter发生反应,以通过排序这些事件*View类更新*Display;
  • 当任务需要一定的时间才能完成,而GUI无法保持交互性时,a BackgroundTaskRunner将用于*Presenter

    1. 指示*View修改UI以确认任务(在GUI线程上);
    2. 执行任务(在后台线程上);
    3. 指示*View任务完成时(在GUI线程上)修改UI;
    4. 如果任务失败,请指示*View(在GUI线程上)相应地修改UI。

使用JavaFX:

  • UI是一个*Display类;它由FXML文件定义并从中加载;
  • 类的(实现)对*View类中定义的所有GUI元素具有可见性*Display

*View类是事实上的接口; 这使我能够制作此程序的Webapp版本(计划中)。


现在,这段代码的上下文...

*Presenter*View并且*Display都涉及到“分析树”标签在上面的图像中可见。

考虑到上面的体系结构,问题在于*View类的实现以及*Display类。

*Display类有一个init()用来初始化所有相关的JavaFX组件,如果需要的话方法。在这种情况下,TreeView称为parseTree的初始化如下:

@Override
public void init()
{
    parseTree.setCellFactory(param …
Run Code Online (Sandbox Code Playgroud)

java javafx java-8 javafx-8

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