考虑简单的应用程序,即显示文件列表。我想显示上下文菜单,当用户单击文件或文件夹时,与用户在 Windows 资源管理器中单击鼠标右键(打开、重命名、编辑等)时相同。我不想创建自己的上下文菜单,我想显示 windows os 上下文菜单,可能使用某种 winapi。这应该只适用于 Windows 机器。
是否可以使用 Swing 或 SWT 或任何其他 UI 控件来实现它?
用户上传一个包含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消耗这么多内存?如何减少内存消耗?
新的Servlet 3.0 API为我们提供了解析多部分表单数据的便捷方法.但它将上载文件的内容存储在文件系统或内存中
是否有Servlet 3.0的流API?
像Commons FileUpload这样的东西 .我必须直接从InputStream写入内容并写入另一个OutputStream adn我不想将临时文件内容存储在光盘或内存中
考虑应用程序,它创建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池
开始和詹金斯一起玩.创建了新工作并输入了SVN存储库URL.压制的构建和jenkins成功检出了我的存储库.我的存储库没有匿名访问权限.毫无头绪,Jenkins如何设法检出存储库.
在Windows XP + Tomcat6 + Jenkins war文件上运行.
詹金斯可能设法从系统属性读取密码?现在正试图找到这个配置文件,它存储密码-s或设置
UPDATE
不确定,但看起来,Jenkins从togoise svn cache读取SVN凭证.当我清理缓存时,无法再从Jenkins访问存储库
关于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显示正常
根据文档,泽西客户端需要的只是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等.
谢谢
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.我的代码是一样的.任何帮助高度赞赏
考虑到我有字节数组 - 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对象的具体构建器,我不知道.
当我将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 ×7
android-ndk ×1
bytebuffer ×1
c++ ×1
classpath ×1
contextmenu ×1
file-upload ×1
filechannel ×1
jdbc ×1
jenkins ×1
jersey ×1
jsp ×1
jsp-tags ×1
nio ×1
oracle ×1
pjsip ×1
servlet-3.0 ×1
spring-jdbc ×1
svn ×1
swing ×1
swt ×1
timezone ×1
tortoisesvn ×1
trove4j ×1
winapi ×1