小编Jon*_*nas的帖子

从java中的ByteBuffer获取字节数组

这是从ByteBuffer获取字节的推荐方法

ByteBuffer bb =..

byte[] b = new byte[bb.remaining()]
bb.get(b, 0, b.length);
Run Code Online (Sandbox Code Playgroud)

java arrays nio bytebuffer bytearray

84
推荐指数
4
解决办法
12万
查看次数

SQL查询 - 在UNION中使用Order By

如何从两个表中提取数据时以编程方式对联合查询进行排序?例如,

SELECT table1.field1 FROM table1 ORDER BY table1.field1
UNION
SELECT table2.field1 FROM table2 ORDER BY table2.field1
Run Code Online (Sandbox Code Playgroud)

引发异常

注意:这是在MS Access Jet数据库引擎上尝试的

sql sorting union ms-access sql-order-by

83
推荐指数
7
解决办法
18万
查看次数

Java:使用PreparedStatement在MySQL中插入多行

我想使用Java一次将多行插入MySQL表.行数是动态的.过去我在做......

for (String element : array) {
    myStatement.setString(1, element[0]);
    myStatement.setString(2, element[1]);

    myStatement.executeUpdate();
}
Run Code Online (Sandbox Code Playgroud)

我想优化它以使用MySQL支持的语法:

INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
Run Code Online (Sandbox Code Playgroud)

但是PreparedStatement我不知道有什么方法可以做到这一点,因为我事先不知道array会包含多少元素.如果a不可能PreparedStatement,我还能怎么做(并且仍然逃避数组中的值)?

java mysql jdbc prepared-statement batch-insert

83
推荐指数
3
解决办法
14万
查看次数

关于性能和Java互操作性:Clojure与Scala

我已经阅读过Clojure与Scala的各种报道,而我发现两者都有自己的位置.有一些考虑因素我没有得到关于何时比较Clojure和Scala的完整解释:

1.)这两种语言中的哪一种通常更快?我意识到这会因语言功能而异,但对性能的一般评估会有所帮助.例如:我知道Python字典非常快.但作为一个整体,它是一个比Java慢语.我不想和Clojure一起走在路上遇到这个问题.

2.)与Java的互操作性如何?到目前为止我所读到的只是Scala具有本机集合类型,这使得与大型Java代码库集成有点笨拙,而Clojure遵循一种简单的以Iterable/Iterator为中心的方式来与Java类进行交互.还有更多想法/细节吗?

最终,如果它在clojure和scala之间足够接近,我可能会尝试它们.关于Clojure的一件事是语言看起来简单.但话说回来,Scala有一个非常灵活的类型系统.但是,我知道Scala很快(基于多个个人帐户).所以,如果Clojure明显变慢了:我想早点知道,而不是迟早.

java performance jvm scala clojure

82
推荐指数
6
解决办法
3万
查看次数

如何编写可在运行时自行更新的Java应用程序?

我想实现一个java应用程序(服务器应用程序),它可以从给定的URL下载新版本(.jar文件),然后在运行时更新自己.

这样做的最佳方式是什么?是否可能?

我猜应用程序可以下载一个新的.jar文件并启动它.但是我应该如何进行切换,例如知道新应用程序何时启动然后退出.或者有更好的方法吗?

java jar auto-update server-application

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

数十亿行的最佳数据存储

我需要能够为数十亿条记录存储少量数据(大约50-75字节)(一年约30亿/月).

唯一的要求是对具有相同GUID的所有记录进行快速插入和快速查找,并且能够从.net访问数据存储.

我是一个SQL服务器人,我认为SQL Server 可以做到这一点,但随着所有关于BigTable,CouchDB和其他nosql解决方案的讨论,它听起来越来越像传统RDBS的替代品可能是最好的,因为优化分布式查询和扩展.我尝试了cassandra,.net库目前没有编译或者都可以更改(以及cassandra本身).

我已经研究了许多可用的nosql数据存储,但找不到满足我作为强大的生产就绪平台的需求.

如果你必须存储360亿个小而扁平的记录,以便它们可以从.net访问,那会选择什么以及为什么?

sql-server nosql

81
推荐指数
4
解决办法
5万
查看次数

HTML5/Canvas是否支持双缓冲?

我想做的是在缓冲区上绘制我的图形然后能够将其原样复制到画布上,这样我就可以做动画并避免闪烁.但我找不到这个选项.谁知道我怎么能这样做?

javascript html5 canvas double-buffering

81
推荐指数
8
解决办法
6万
查看次数

Java:将字符串转换为ByteBuffer和来自ByteBuffer的字符串以及相关问题

我使用Java NIO进行套接字连接,我的协议是基于文本的,所以我需要能够在将字符串转换为SocketChannel之前将其转换为ByteBuffers,并将传入的ByteBuffers转换回字符串.目前,我正在使用此代码:

public static Charset charset = Charset.forName("UTF-8");
public static CharsetEncoder encoder = charset.newEncoder();
public static CharsetDecoder decoder = charset.newDecoder();

public static ByteBuffer str_to_bb(String msg){
  try{
    return encoder.encode(CharBuffer.wrap(msg));
  }catch(Exception e){e.printStackTrace();}
  return null;
}

public static String bb_to_str(ByteBuffer buffer){
  String data = "";
  try{
    int old_position = buffer.position();
    data = decoder.decode(buffer).toString();
    // reset buffer's position to its original so it is not altered:
    buffer.position(old_position);  
  }catch (Exception e){
    e.printStackTrace();
    return "";
  }
  return data;
}
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都有效,但我怀疑这是否是执行此转换的每个方向的首选(或最简单)方法,或者是否有其他方法可以尝试.偶尔,和看似随意,调用encode()decode()将抛出一个 java.lang.IllegalStateException: Current …

java string nio bytebuffer character-encoding

79
推荐指数
3
解决办法
13万
查看次数

同步客户端 - 服务器数据库

我正在寻找一些将中央服务器上的数据与不总是在线的客户端应用程序同步的一般策略.

在我的特定情况下,我有一个带有sqlite数据库的android手机应用程序和带有MySQL数据库的PHP Web应用程序.

用户将能够在电话应用程序和Web应用程序上添加和编辑信息.我需要确保即使手机无法立即与服务器通信,在一个地方进行的更改也会反映在任何地方.

我不关心如何将数据从手机传输到服务器,反之亦然.我只提到我的特定技术,因为我不能使用MySQL可用的复制功能.

我知道客户端 - 服务器数据同步问题已经存在很长很长时间了,并且希望获得有关处理问题的模式的信息 - 文章,书籍,建议等.我想知道处理同步的一般策略,以比较优势,劣势和权衡.

sql database design-patterns client-server data-synchronization

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

为什么我不应该使用不可变的POJO而不是JavaBeans?

我现在已经实现了一些Java应用程序,到目前为止只有桌面应用程序.我更喜欢使用不可变对象在应用程序中传递数据,而不是使用带有mutator(setter 和getter)的对象,也称为JavaBeans.

但是在Java世界中,使用JavaBeans似乎更常见,我无法理解为什么我应该使用它们.就个人而言,如果代码只处理不可变对象而不是一直改变状态,那么代码看起来会更好.

第15项中还建议使用不可变对象:最小化可变性,有效Java 2ed.

如果我有一个Person实现为JavaBean的对象,它看起来像:

public class Person {
    private String name;
    private Place birthPlace;

    public Person() {}

    public setName(String name) {
        this.name = name;
    }

    public setBirthPlace(Place birthPlace) {
        this.birthPlace = birthPlace;
    }

    public String getName() {
        return name;
    }

    public Place getBirthPlace() {
        return birthPlace;
    }
}
Run Code Online (Sandbox Code Playgroud)

并且Person实现为不可变对象:

public class Person {
    private final String name;
    private final Place birthPlace;

    public Person(String name, …
Run Code Online (Sandbox Code Playgroud)

java immutability pojo javabeans

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