草庐IT

java - 为什么我的 .jar 文件运行速度比 eclipse 中的程序慢?

我有一个java程序,它从数据库中读取大量输入数据,对其进行操作,然后将数据写回另一个数据库(在新的Windows7机器上使用ODBC驱动程序、excel和访问数据库)。该程序从eclipse运行大约需要17分钟,但是当我创建一个可执行的.jar文件时,它需要额外的10分钟才能运行(总共27分钟)。到目前为止,我发现慢jar文件(通过搜索SO和谷歌)的两个原因是它们被压缩并且写入命令提示符(或错误日志)比控制台需要更长的时间在eclipse中。我尝试创建一个未压缩的jar文件,它只加快了大约10秒(这可能是完全随机的,因为运行时间无论如何都会有大约30秒的变化)。我在程序中只有大约10

java - 我什么时候应该同步我的类的方法?

我正在考虑创建一个类(如String、StringBuffer等)。这可以在单线程和多线程环境中使用。我不知道开发人员可能正在使用哪种环境。预见到最坏的情况,我可以同步。但是,1.同步会影响性能。2.没有同步就不是线程安全的。所以,我有两个选择。保持类不同步-但使用此类的开发人员需要在适当的时候同步它。拥有所有同步方法-并降低性能。我已经看到Java中的许多(如果不是全部,例如ArrayListoverVector)类已经进化为采用第一种方法。在为我的类(class)决定这两个选项之前,我需要考虑哪些事项?或者换一种说法,只有当我肯定知道bar可以用于多线程环境,不应同时运行?编辑所以

java - 为什么 BlueJ 不能考虑我的 Java Home 而 Eclipse 可以

出于可移植性原因,我想手动安装BlueJ。我已设置Java_Home并将Javabin目录添加到路径环境变量。我在c:\java上使用符号链接(symboliclink),它指向SD卡上的d:\java。为什么BlueJ不考​​虑它们仍然假装它无法检测到jdk。更新:Eclipse没问题,那么BlueJ和Jdk1.8有什么特别之处吗? 最佳答案 我刚刚在不同的驱动器上全新安装了BlueJ和JDK1.8,以重现您的问题。我创建了一个指向JDK的符号链接(symboliclink),并将其放在JAVA_HOME和PATH中(根据您对C:

java - 为什么我的 "Set-Cookie"响应 header 没有被翻译成实际的 cookie?

我使用的是Java8、Wildfly11、Spring4和Apache2.4。我有这段设置sessioncookie的Java代码cookie=newCookie(SESSION_ID_KEY,sessionId);...finalStringdomain=request.getServerName().indexOf(".")==-1?request.getServerName():request.getServerName().substring(request.getServerName().indexOf(".")+1,request.getServerName().lengt

java - 这是有效的 Java 代码吗?我的老师声称是,但我真的不太确定

这个问题在这里已经有了答案:WhyisthisJavacodeincurlybraces({})outsideofamethod?(3个答案)关闭9年前。虽然他没有在这里向我们展示实际代码,只是提到了它,我觉得它非常奇怪。例如,根据他所说,这是有效的Java:publicclassPerson{StringName;intAge;{//Thesetwobracesjustchillingtogether-VALID?:O}}

java - 如果我从我的同步方法调用非同步方法是非同步方法线程安全的吗?

我从我的同步方法中调用了noonsynchronized方法,它是线程安全的吗?我有如下两种方法:publicclassMyClass{voidsynchronizeddoSomething1(){doSomething2();}voiddoSomething2(){//willthisblockofcodebesynchronizedifcalledonlyfromdoSomething1??}} 最佳答案 如果doSomething2()仅从doSomething1()调用,则它只会被单个线程调用用于的单个实例我的类(class

java - 为什么我的 FizzBu​​zz 代码在两个 if 语句都匹配时不处理它们?

这个问题在这里已经有了答案:Conditionalstatementtrueinbothpartsofif-else-ifladder(4个答案)关闭2年前。对于那些不知道的人,FizzBu​​zz是以下问题:Writeaprogramthatprintsthenumbersfrom1to100.Butformultiplesofthreeprint"Fizz"insteadofthenumberandforthemultiplesoffiveprint"Buzz".Fornumberswhicharemultiplesofboththreeandfiveprint"FizzBuzz"

java - 我怎么知道我的字符串包含变音符号?

例如-text=Československáobchodníbanka;textstringcontainsdiacriticslikeČ,áetc.我想编写一个函数,我将在其中传递此字符串“Československáobchodníbanka”,如果字符串包含变音符号,函数将返回true,否则返回false。我必须分别处理变音符号和包含不在A-z或a-z范围内的字符的字符串。1)IfStringcontainsdiacriticsthenIhavetodosomeXXXXXXonit.2)IfStringcontainscharacterotherthanA-Zora-zandno

java - 如何判断我的网站被访问的IP地址?

这个问题在这里已经有了答案:HowdoIgettheremoteaddressofaclientinservlet?(11个答案)关闭6年前。我有一个Web应用程序,为此我想捕获访问我网站的客户端的IP地址,以便我可以知道哪个区域访问该应用程序最多。我在我的应用程序中使用JavaEE。如果我们讨论header以及何时从最终用户发送请求,可能会有一些解决方案。

java - 如果我在配置类上使用 @ActiveProfiles 注释而不是在定义我的 bean 的类上使用它,在 Spring 中会发生什么?

我正在学习SpringCore认证,我对将profiles用于JUnit测试有一些疑问。所以我知道如果我用下面的方式注释一个类:@Profile("stub")@RepositorypublicclassStubAccountRepositoryimplementsAccountRepository{privateLoggerlogger=Logger.getLogger(StubAccountRepository.class);privateMapaccountsByCreditCard=newHashMap();/***Createsasingletestaccountwithtw