小编use*_*512的帖子

java中的Windows资源管理器上下文菜单

考虑简单的应用程序,即显示文件列表。我想显示上下文菜单,当用户单击文件或文件夹时,与用户在 Windows 资源管理器中单击鼠标右键(打开、重命名、编辑等)时相同。我不想创建自己的上下文菜单,我想显示 windows os 上下文菜单,可能使用某种 winapi。这应该只适用于 Windows 机器。

是否可以使用 Swing 或 SWT 或任何其他 UI 控件来实现它?

java winapi swing swt contextmenu

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

LinkedHashMap内存消耗

用户上传一个包含100万字的大文件.我解析文件并将文件的每一行放入LinkedHashMap<Integer, String>.

我需要通过密钥进行O(1)访问和删除.此外,我需要保留访问顺序,从任何位置迭代和排序.

内存消耗巨大.我启用了Java 8中出现String的重复数据删除功能,但事实证明它LinkedHashMap消耗了大部分内存.

我发现LinkedHashMap.Entry 消耗40个字节,但只有2个指针 - 一个用于下一个条目,一个用于上一个条目.我认为1指针应该是64位或32位.如果我将409,405,320(字节)除以6,823,422(条目数),我买入每个条目60个字节.

我想我不需要前面的指针,下一个指针应该足以保持顺序.为什么LinkedHashMap消耗这么多内存?如何减少内存消耗?

实例发生

java linkedhashmap trove4j

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

用于文件上传的Servlet 3.0流式api

新的Servlet 3.0 API为我们提供了解析多部分表单数据的便捷方法.但它将上载文件的内容存储在文件系统或内存中

是否有Servlet 3.0的流API?

Commons FileUpload这样的东西 .我必须直接从InputStream写入内容并写入另一个OutputStream adn我不想将临时文件内容存储在光盘或内存中

java file-upload servlet-3.0

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

使用java.nio.MappedByteBuffer时防止OutOfMemory

考虑应用程序,它创建5-6个线程,循环中的每个线程为5mb页面大小分配MappedByteBuffer.

MappedByteBuffer b = ch.map(FileChannel.MapMode.READ_ONLY, r, 1024*1024*5);
Run Code Online (Sandbox Code Playgroud)

迟早,当应用程序使用大文件时,会抛出oom

java.io.IOException: Map failed  at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:758)
Caused by: java.lang.OutOfMemoryError: Map failed
        at sun.nio.ch.FileChannelImpl.map0(Native Method)
        at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:755)
Run Code Online (Sandbox Code Playgroud)

根据规范,MappedBuffer应该在GC本身时立即配置直接内存.看起来问题是,MappedBuffer-s的GC编辑太晚了,后来直接内存完成了.

如何避免这种情况?可能会说MappedBuffer隐式处理或使用某种MappedBuffer池

java nio bytebuffer filechannel out-of-memory

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

Jenkins存储SVN凭据的地方

开始和詹金斯一起玩.创建了新工作并输入了SVN存储库URL.压制的构建和jenkins成功检出了我的存储库.我的存储库没有匿名访问权限.毫无头绪,Jenkins如何设法检出存储库.

在Windows XP + Tomcat6 + Jenkins war文件上运行.

詹金斯可能设法从系统属性读取密码?现在正试图找到这个配置文件,它存储密码-s或设置

UPDATE

不确定,但看起来,Jenkins从togoise svn cache读取SVN凭证.当我清理缓存时,无法再从Jenkins访问存储库

svn tortoisesvn jenkins

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

JSP标签的Charset

关于JSP标签的charset的简单问题.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib  tagdir="/WEB-INF/tags" prefix="custom" %>
<custom:mytag>  </custom:mytag>
Run Code Online (Sandbox Code Playgroud)

mytag很简单.tag文件位于WEB-INF/tags.eclipse中此文件的charset是UTF-8.由于某种原因,UTF-8符号无法正常显示.

这只影响包括标签,包含的另一个jsp-s显示正常

jsp jsp-tags character-encoding

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

Jersey客户端依赖项

根据文档,泽西客户端需要的只是jersey-bundle.jar.但是简单的代码,构建请求并发送它会抛出异常.

java.lang.ClassNotFoundException: javax.ws.rs.ext.Providers
Run Code Online (Sandbox Code Playgroud)

添加jsr311-api-1.0.jar到classpath后.我有另一个例外.

java.lang.NoClassDefFoundError: javax/ws/rs/core/Response$StatusType
Run Code Online (Sandbox Code Playgroud)

我可以在哪里找到Jersey的完整依赖列表.应该包括什么罐子.顺便说一句,我不能用Maven,Ivy等.

谢谢

java classpath jersey

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

如何调查和修复libpjsua2.so崩溃

SIGSEGV SEGV_MAPERR at 0x00000008

0  libpjsua2.so                   0x56585a88 pj::Call::getInfo() const
1  libpjsua2.so                   0x56546b44 std::allocator<pj::CallMediaInfo>::allocator()
Run Code Online (Sandbox Code Playgroud)

我正在使用pjsip作为我的一个爱好项目(符合GPL).在上方,您可以看到从crashlytics收到的堆栈跟踪.我正在为pjsip使用Java包装器.

有很多用户(50%)受此错误的影响,但是我无法在本地设备上重现它.

不确定,但我怀疑以下java调用导致错误.哪个通过JNI调用C++

public void notifyCallState(MyCall call) {
    if (currentCall == null || call.getId() != currentCall.getId())
        return;

    CallInfo ci;
    try {
        ci = call.getInfo();
    } catch (Exception e) {
        ci = null;
    }
    Message m = Message.obtain(handler, MSG_TYPE.CALL_STATE, ci);
    m.sendToTarget();

    if (ci != null && ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) {
        currentCall = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

代码片段来自psjua下载的示例.链接到http repo.我的代码是一样的.任何帮助高度赞赏

c++ pjsip android-ndk

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

Java打印未知类型的protobuf对象

考虑到我有字节数组 - byte []代表某种序列化的protobuf对象.是否有任何方法可以将其打印到输出,例如

1: 123
2: Jhon
3: Doe
4: 0
Run Code Online (Sandbox Code Playgroud)

其中1是int字段,2和3是字符串,4是boolen

TextFormat.print要求我提供protobuf对象的具体构建器,我不知道.

java protocol-buffers

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

使用Java和Spring在Oracle数据库中插入UTC/GMT日期

当我将new Date()对象插入jdbcTemplateOracle数据库时,我可以看到jdbc驱动程序或Spring jdbcTemplate Date使用本地JVM偏移量插入.

SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Date timeZoneDate = sdf.parse("09-SEP-1987");
Run Code Online (Sandbox Code Playgroud)

例如,当我插入在GMT中创建的Date对象时,如果JVM时区是USA,则将此结果插入到Oracle数据库中的08-SEP-1987中.

java oracle timezone jdbc spring-jdbc

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