草庐IT

implementing-your-own-sender

全部标签

java.lang.IllegalArgumentException : Your InputStream was neither an OLE2 stream, 也不是 OOXML 流

当我读取Excel文件(.xls格式)时,我不断收到异常:java.lang.IllegalArgumentException:YourInputStreamwasneitheranOLE2stream,noranOOXMLstream.我搜索了一下,发现如果输入流不支持重置或标记,我应该用pushbackStream包装它。我的输入流不支持标记\重置。那么使用pushbackStream是唯一的选择吗?如何使用它?它有什么用?谢谢 最佳答案 YourInputStreamwasneitheranOLE2stream,noranOO

Java 与防火墙 : how to let Java applications have their own set of rules

假设我编写了一个需要Internet访问的Java应用程序。通常防火墙会弹出并询问是否可以。现在我可以选择一般允许Internet访问或使用特定规则。因为我只检查Web服务,所以我设置了一个规则,限制在某个端口访问该服务器。现在我有Java应用程序#2,它也需要Internet访问。如果我决定授予应用程序#1完全访问权限,那么#2也具有完全访问权限。对于上述规则集的解决方案,我需要添加另一条规则,或者只是放弃并授予完全访问权限,因此也授予应用程序#1完全访问权限。我想你能看出我的问题所在。前一段时间我遇到了同样的情况,我尝试了一个或两个将JAR转换为可执行文件的包装器。我注意到最后他们

Java/C : OpenJDK native tanh() implementation wrong?

我正在研究一些JavaMath函数的原生C源代码。特别是tanh(),因为我很好奇他们是如何实现那个的。然而,whatIfound让我吃惊:doubletanh(doublex){...if(ix如注释所示,taylorseriesoftanh(x)around0,开始于:tanh(x)=x-x^3/3+...那为什么看起来他们是这样实现的:tanh(x)=x*(1+x)=x+x^2这显然不是正确的展开,甚至比仅使用tanh(x)=x(这会更快)更糟糕的近似,如下图所示:(粗线是上面标示的那条。另一条灰色线是log(abs(x(1+x)-tanh(x)))。sigmoid当然是tanh

java - 使用 PermGen 空间或 roll-my-own intern 方法?

我正在编写一个编解码器来处理使用定制有线协议(protocol)通过TCP发送的消息。在解码过程中,我创建了一些String小号,BigDecimal和日期。客户端-服务器访问模式意味着客户端发出请求然后解码数千个响应消息是很常见的,这导致大量重复String小号,BigDecimal等因此我创建了一个InternPool类允许我实习每一类对象。在内部,池使用WeakHashMap>.例如:InternPoolpool=newInternPool();...//ReadBigDecimalfrominbufferandthenintern.BigDecimalquantity=pool

java - equals() 的实现 : compare against implemented interface or implementing class?

我一直想知道如何最好地为所有实现相同接口(interface)的类系列实现equals()(并且客户端应该只使用所述接口(interface)并且永远不知道实现类)。我还没有编写自己的具体示例,但JDK中有两个示例-java.lang.Number和java.lang.CharSequence可以说明该决定:booleanb1=newByte(0).equals(newInteger(0)));或使用CharSequencebooleanb2="".equals(newStringBuilder());理想情况下,您是否希望这些评估为真或假?这两种类型都实现了相同的数据类型接口(int

java - 寻找源代码 : where is the clone() method of arrays implemented?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。ImprovethisquestionnewString[]{"foo","bar"}.clone();使用我最喜欢的IDE(即Eclipse),我想通过Ctrl-clicking查看上述clone()方法的源代码(像往常一样),但它把我带到了Object的原生对象,它只提供签名而不提供方法的主体。自动完成告诉我,上述clone()方法属于String类(clone():String[]-String),

java - IntelliJ IDEA : Is there a way to list all interfaces implemented by a class and its parents?

我从事一个相对复杂的Java项目,其中类在Object之前通常有四到五个祖先。给定这样一个类,例如D在这样的层次结构中:Object>A>B>C>D,我想知道它有效实现的所有接口(interface)。也就是说,我也有兴趣看到D实现,比如说,Serializable,即使它仅在类B的声明中声明,并且即使D实际上没有实现接口(interface)指定的任何方法(当然,如果谈论Serializable)。我试过的这些信息的一些潜在来源包括:在“结构”窗口中使用“按定义类型分组”——但这不会显示空接口(interface)(=没有方法的接口(interface)),并且“层次结构”窗口——但

java - 仅本地图值不存在时才创建并放置一个 map 值,并获取它 : thread-safe implementation

使此代码段线程安全的最佳方法是什么?privatestaticfinalMapMAP=newHashMap();publicstaticBputIfNeededAndGet(Akey){Bvalue=MAP.get(key);if(value==null){value=buildB(...);MAP.put(key,value);}returnvalue;}privatestaticBbuildB(...){//business,canbequitelong}以下是我能想到的几个解决方案:我可以使用ConcurrentHashMap,但如果我很好理解,它只是使原子put和get操作线程

java.util.stream.Collectors : Why is the summingInt implemented with an array?

标准收集器summingInt在内部创建一个长度为1的数组:publicstaticCollectorsummingInt(ToIntFunctionmapper){returnnewCollectorImpl(()->newint[1],(a,t)->{a[0]+=mapper.applyAsInt(t);},(a,b)->{a[0]+=b[0];returna;},a->a[0],CH_NOID);}我想知道是否可以只定义:privateCollectorsummingInt(ToIntFunctionmapper){returnCollector.of(()->0,(a,t)->

java - 热部署不再适用于 JBoss ("Scheme change not implemented")

我的JBossAS4.2.3GA遇到了一个非常烦人的问题。直到最近一切都运行良好,但现在热部署功能不再起作用了。而且——一如既往——我不知道我做了什么导致了这种行为。我的项目是用Maven构建的。我清理了每个目标目录,安装了项目,然后将它们部署到服务器。因此Eclipse中的源和服务器上部署的项目应该是相同的。在一个方法中,我添加了一个简单的System.out.println("test");语句和——砰!--我收到以下错误:(来源:imagefruity.com)你知道解决我麻烦的方法吗? 最佳答案 好的,我现在做了以下事情:卸