小编mai*_*rgs的帖子

外键和主键的Postgres和索引

Postgres会自动将索引放在外键和主键上吗?我该怎么说?是否有一个命令可以返回表上的所有索引?

sql database postgresql foreign-keys

308
推荐指数
7
解决办法
11万
查看次数

字符串作为SQL数据库中的主键

我不熟悉数据库及其工作原理.从性能角度(插入/更新/查询)到主键使用字符串比整数更慢吗?

sql database string database-design primary-key

165
推荐指数
7
解决办法
11万
查看次数

什么是Java?:操作符调用,它做了什么?

我已经使用Java几年了,但直到最近我还没有碰到这个结构:

int count = isHere ? getHereCount(index) : getAwayCount(index);
Run Code Online (Sandbox Code Playgroud)

这可能是一个非常简单的问题,但有人可以解释一下吗?我该怎么看?我很确定我知道它是如何工作的.

  • 如果isHere是真的,getHereCount()被称为,
  • 如果isHere是假getAwayCount()则调用.

正确?这个结构叫做什么?

java syntax ternary-operator conditional-operator

148
推荐指数
6
解决办法
18万
查看次数

ConcurrentModificationException和HashMap

我正在使用JPA持久化对象.Main对象与另一个对象具有一个拥有的One-Many关系.另一个对象存储在HashMap中.什么样的同步可以解决这个问题?它似乎发生在完全随机的时间,并且非常难以预测.这是我得到的例外:

Exception in thread "pool-1-thread-1" java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
        at java.util.HashMap$ValueIterator.next(Unknown Source)
        at org.hibernate.collection.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:555)
        at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
        at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
        at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
        at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
        at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
Run Code Online (Sandbox Code Playgroud)

java collections exception concurrentmodification

118
推荐指数
4
解决办法
14万
查看次数

将UUID存储为base64字符串

我一直在尝试使用UUID作为数据库密钥.我想尽可能占用最少的字节数,同时仍然保持UUID表示可读.

我认为我已经使用base64将它降低到22个字节,并删除了一些似乎没有必要为我的目的存储的尾随"==".这种方法有什么缺陷吗?

基本上我的测试代码会进行一系列转换,以将UUID降低到22字节的字符串,然后将其转换回UUID.

import java.io.IOException;
import java.util.UUID;

public class UUIDTest {

    public static void main(String[] args){
        UUID uuid = UUID.randomUUID();
        System.out.println("UUID String: " + uuid.toString());
        System.out.println("Number of Bytes: " + uuid.toString().getBytes().length);
        System.out.println();

        byte[] uuidArr = asByteArray(uuid);
        System.out.print("UUID Byte Array: ");
        for(byte b: uuidArr){
            System.out.print(b +" ");
        }
        System.out.println();
        System.out.println("Number of Bytes: " + uuidArr.length);
        System.out.println();


        try {
            // Convert a byte array to base64 string
            String s = new sun.misc.BASE64Encoder().encode(uuidArr);
            System.out.println("UUID Base64 String: " +s);
            System.out.println("Number of Bytes: " + …
Run Code Online (Sandbox Code Playgroud)

java sql uuid base64 bytearray

70
推荐指数
5
解决办法
7万
查看次数

Java性能测试

我想在Java应用程序上进行一些计时测试.这就是我目前正在做的事情:

long startTime = System.currentTimeMillis();
doSomething();
long finishTime = System.currentTimeMillis();
System.out.println("That took: " + (finishTime - startTime) + " ms");
Run Code Online (Sandbox Code Playgroud)

像这样的性能测试有什么"错误"吗?什么是更好的方法?

重复:秒表基准可以接受吗?

java performance performance-testing

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

回应ant文件集到屏幕进行调试

我有这个:

    <ivy:buildlist reference="build-path">
        <fileset dir="${root.dir}">
            <include name="*/build.xml" />
            <include name="controllers/*/build.xml" />
        </fileset>
    </ivy:buildlist>


    <subant buildpathref="build-path">
        <target name="jar.all" />
        <target name="publish-local" />
    </subant>
Run Code Online (Sandbox Code Playgroud)

我想要回应"构建路径"参考中的所有内容(用于调试某些内容).

我试过了:

<echo>${build-path}</echo>
Run Code Online (Sandbox Code Playgroud)

但它只是回应了确切的文字"$ {build-path}"

java ant ivy

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

从数据库获取事件

我不熟悉数据库以及它们在CRUD操作之外提供的内容.

我的研究让我有了触发因素.基本上它看起来像触发器提供这种类型的功能:

(来自维基百科)

通常有三个触发事件导致触发器"触发":

  • INSERT事件(正在将新记录插入到数据库中).
  • UPDATE事件(正在更改记录).
  • DELETE事件(正在删除记录).

我的问题是:当使用某种触发器语义更新/删除/插入记录时,是否有某种方式可以通过数据库通知Java(最好包括更改的数据)?

什么可能是这个问题的替代解决方案?我该如何收听数据库事件?

我想这样做的主要原因是这样的场景:

我有5个客户端应用程序都在不同的进程中/存在于不同的PC上.它们共享一个共同的数据库(本例中为Postgres).

假设一个客户端更改了DB中所有5个客户端都"感兴趣"的记录.我试图想办法让客户"通知"更改(最好附加受影响的数据)而不是他们在某个时间间隔查询数据.

java database events triggers database-design

31
推荐指数
4
解决办法
3万
查看次数

JMX定义

我在寻找:

  • JMX是什么.
  • 我可以在哪里找到一些好的JMX教程.
  • 作为Java EE程序员,JMX可以为我提供什么.
  • 还有什么我应该知道的.

java jmx java-ee

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

C和C++中的Web服务

我想在现有的C/C++应用程序中托管Web服务.什么是最好的解决方案?

我想要一个类似于JAX-WS为Java做的解决方案.特别是围绕SOAP请求.

有可用解决方案的个人经验吗?

c++ soap wsdl web-services

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