小编mow*_*nay的帖子

Java应用程序Windows与Mac OS X.

我在一个解析XML文件的小型Windows桌面上开发了一个java应用程序.我遇到了一个非常有趣的观察,我非常好奇.

我为我的应用程序生成了一个可执行jar,并在非常强大的Windows Server机器上运行它.它有2个物理Xeon处理器,每个8核,主频为2.7 GHz,50GB RAM和7200 RPM硬盘.我启动应用程序时机器处于空闲状态,我很确定没有其他应用程序与我共享机器.

后来,我在我的Macbook Pro上运行可执行文件,以便看到它的行为.我的个人机器是Core i7,主频为2.2 GHz,配备4 GB RAM和5400 RPM HDD.

令人惊讶的是,应用程序在我个人较弱的机器上快了两倍.这是相同的输入\相同的输出.没有IO但是为了读取XML来解析它们,我在终端上没有打印,但是开始时间\结束时间和最终结果是一行

我很好奇理解这种戏剧性的表现差异背后的原因.特别是来自硬件级别较弱的机器.它是以更好的方式处理硬件的操作系统吗?是JVM工作得更好吗?

java macos jvm

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

匹配具有'%'作为字符的字符串

我想使用Like运算符匹配String.挑战是在我的字符串中将'%'作为一个字符.

i.e. Row1 : Column = CT%CNV!XYZABCD...
     Row2 : Column = CTXXXCNV!XYZABCDE...
Run Code Online (Sandbox Code Playgroud)

如果我使用"SELECT*FROM table WHERE Column like'CT%CNV!%'.它不会将'%'视为字符,并且该语句返回两行.

我只需要返回第一行.

sql

5
推荐指数
2
解决办法
74
查看次数

在交付给S3之前,可以在Kinesis Firehose中自定义分区吗?

我有一个Firehose流,旨在吸收来自不同来源和不同事件类型的数百万个事件。流应将所有数据作为原始\未更改数据的存储传递到一个S3存储桶。

我正在考虑根据事件消息中嵌入的元数据(例如事件源,事件类型和事件日期)在S3中对数据进行分区。

但是,Firehose根据记录到达时间遵循其默认分区。是否可以自定义此分区行为以满足我的需求?

amazon-s3 amazon-kinesis-firehose

5
推荐指数
3
解决办法
1642
查看次数

忽略XOM Parser中的DTD元素以避免没有找到File异常

我需要在下面的XML中忽略这个DTD文件路径,以避免文件未找到异常.

   <?xml version='1.0' encoding="UTF-8"?>
    <!DOCTYPE Document SYSTEM "/usr/home/billadm/release/binaries_39862//CMS/resource.4444/docgenlib/BillingDocument.dtd">
    <Document Sender="Testing Me" Id="130713BA00873650912" BAId="BA0087365091">
    <Summary>
    ...
    </Summary>
Run Code Online (Sandbox Code Playgroud)

我使用XOM Parser使用下面的Java代码解析XML文件.我相信我不需要这个DTD.我读到entityResolvers和setFeature为false但我无法在下面的XOM Parser上应用任何内容

public static void main (String [] args) {

        try {

            File folder = new File("D:\\Yahya_sum/");
            File[] listOfFiles = folder.listFiles();

            for (int i = 0; i < listOfFiles.length; i++) {
                  if (listOfFiles[i].isFile()) {
                    System.out.println("File " + listOfFiles[i].getName());
                  } else if (listOfFiles[i].isDirectory()) {
                    System.out.println("Directory " + listOfFiles[i].getName());
                  }

            String filename = "D:\\Yahya_sum\\"+listOfFiles[i].getName();

            File fXmlFile = new File (filename);

            Builder builder = new Builder(); …
Run Code Online (Sandbox Code Playgroud)

java parsing dtd xom

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

使用 Java DOM 解析器将 XML 节点从一个文档复制到另一个文档

我一直在实现一个简单的算法,该算法解析 XML 文件并根据 node 中的属性值重新排列其节点。我检索所有节点并将整个节点插入到已排序的 ArrayList 中。然后我创建了一个新的 XML 文档并创建了新的 和 标签,但是当我尝试复制排序的 Node 并将其附加到 时,出现异常,说明该文档仍在另一个文档中使用。我在用

Node sortedCnode= cNode.cloneNode(false); //tried true as well
b.appendChild(sortedCnode);
Run Code Online (Sandbox Code Playgroud)

我认为我的代码正在尝试附加整个 true. 但是,我不知道正确的方法

XML 如下所示

<A>
  <B>
    <C>
      <D>
      </D>
      <E>
      </E>
    </C>
  </B>
</A>
Run Code Online (Sandbox Code Playgroud)

java dom xml-parsing

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

如果数据库中的任何用户都可以查看架构层次结构,那么 Redshift 中的 GRANT USAGE ON SCHEMA 有何意义

user1 对 my_schema 有 USAGE 权限

user2 对 my_schema 没有 USAGE 权限

但是,只要两个用户是同一数据库的用户,他们仍然可以列出此架构下的所有表及其列。

那么 USAGE GRANT 有什么意义呢?它只是作为其他权限(例如 SELECT)的先决条件吗?

amazon-redshift

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

在INTELLIJ IDEA IDE的主类中为创建的Object生成setter

我可以为主类中创建的对象生成setter

  1. 创建了X类
  2. 类X有几十个带有setter和getter方法的变量(没问题)
  3. 来自另一个类中的类X的Crated对象y
  4. 我想在另一个类中设置对象y的变量

IntelliJ IDE是否有一个生成器用于设置为y.set1().. y.setn()而不是将它们写下几十次.

ide setter intellij-idea

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

Java封装和OOP最佳实践

我实现了一个名为mobileCall的类.我从这个类创建了几个对象,并使用来自XML的值填充此对象的String变量,该XML具有针对特定人员的多个mobileCall.我需要对这个人拨打的所有电话进行分组和统计(即国内电话:11分钟;国际电话:15分钟;数据:20 MB)

因此,我在类中实现了几个公共方法来检查调用的类型以返回true或false.在主要类中,我调用这些方法来检查它们是否满足标准我计算特定计数器.

有人专业看过我的代码并说这不是一个好习惯,而OOP旨在消除这种"你是什么"的方法.而且有更好的方法来实现这种行为.我试图阅读OOP和封装,但无法找到更好的方法来做到这一点.我觉得他有一点意义.

代码示例

public class MobileCall {

    String callType;
    String callDuration;
    String callAmount;
    String callerID;
    String calleID;
    ....
    public boolean isNational(){

        if (callType.compareTo("National")==0)
            return true;
        else
            return false;
    }

    public boolean isInternational(){

        if (callType.compareTo("international")==0)
            return true;
        else
            return false;
    }
    ...
}

In Main Method

int nationalCounter;
int internationalCounter;
MobileCall mobileCall = new MobileCall();

if(mobileCall.isNational())
    nationalCounter = nationalCounter + mobileCall.getCallDuration();
else if (mobileCall.isInternational())
    internationalCounter = internationalCounter + mobileCall.getDuration();
....
Run Code Online (Sandbox Code Playgroud)

java oop encapsulation

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

SQL Developer中查询的快捷方式

我的同事使用TOAD有一个很好的查询快捷方式功能.例如,他们编写get_customer_info,并将该单词替换为完整的连接查询.此功能非常适合生产力.我的机器未获得Toad许可,我使用的是Oracle SQL开发人员.我没有幸运能找到这个功能.我想知道它是否首先具有此功能?

oracle-sqldeveloper

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

不能在repo中重新定义和管理Excel Sheet的冲突

我们在团队中使用TortoiseGit.回购中有一个共享的Excel工作表.当我提交更改并尝试推送时,它表示存在冲突,我拉动并尝试重新绑定,但它表示它不支持此类型的文件.

没有TortoiseGit rebase支持Excel工作表或非文本文件?

git tortoisegit

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

如何授予用户访问 Redshift 中特定架构中的一个表的权限

以超级用户身份登录,如何授予用户访问特定架构下的特定表的权限。

我试过这个

表 this_schema.my_table 上的 GRANT SELECT TO my_user

但是当我以 my_user 身份登录时,我无法从表中进行选择。我不希望 my_user 有权访问 this_schema 中的任何其他表。

这可能吗?

amazon-redshift

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