草庐IT

system-tray

全部标签

java - 审计 Java : system to detect exceptions thrown/caught (aop? )

由于已检查的异常,我们在生产中可能会遇到一些问题,即在正确的位置捕获所有异常并正确记录。我想知道是否有一些开源工具可以帮助审核这些问题。例如,是否有一些AOP工具可以拦截所有抛出的异常并查看它们是否被重新抛出、包装或记录?这将有助于识别不良捕获。 最佳答案 如果您决定采用AOP路线,SpringFramework提供了一个易于使用的AOP框架。本质上,与Spring的大部分内容一样,您可以结合使用xml配置文件和一些java代码来定义您正在寻找的AOP功能。在您的情况下,我相信您会希望定义一个“抛出后建议”,您当然可以在其中访问抛出

java.lang.System.currentTimeMillis() 替换方法

除了重新编译rt.jar之外,还有什么方法可以用我自己的调用替换currentTimeMillis()调用吗?1#正确的做法是使用时钟对象和抽象时间。我知道,但我们将运行由无数开发人员开发的代码,这些开发人员尚未实现Clock或已经实现了他们自己的实现。2#使用像JMockit这样的模拟工具来模拟该类。即使这只适用于Hotspot禁用-Xint并且我们成功使用下面的代码它不会“持久”在外部库上。这意味着你必须在任何地方模拟它,因为代码不在我们的控制范围内,这是不可行的。main()下的所有代码确实返回0毫秒(如示例所示),但newDateTime()将返回实际的系统毫秒。@MockCl

java - 显式调用 System.gc()?

据说我们不能强制java中的垃圾回收进程。毕竟,它是一个守护线程。但有时,为什么我们显式调用System.gc();函数?值得调用吗?有什么优点和缺点吗?如果在很多情况下都没有用,为什么不从Java中弃用此方法?PS:举例说明会很有用 最佳答案 在我看来,考虑System.gc()方法的最佳方式是向VM发出垃圾收集应该运行的“提示”。也就是说,就像人们认为他们正在执行的大部分“优化”一样,通常最好让系统自己处理事情。系统在不断发展等等。在某些情况下,开发人员实际上可能知道得更多,并且它的用例可能与为什么某些代码仍然用汇编编写的原因非

java - Javascript 中 Java 的 System.out.println() 等价物是什么?

我正在为Javascript代码编写一些测试,当遇到错误时,我需要在编译过程中转储一些消息。在Javascript中有没有等同于Java的System.out.println()的东西?附言:我还需要在实现测试时转储调试语句。更新我在包含所有合并测试的文件上使用Maven插件:org.codehaus.mojoexec-maven-plugin1.1testjavaorg.mozilla.javascript.tools.shell.Main-opt-1${basedir}/src/main/webapp/html/js/test/test.js更新二我尝试了console.log("

java - TOMCAT_OPTS、环境变量和 System.getEnv()

我使用tomcat,我想在我的java代码中获取一个环境变量。要设置环境变量,我使用这个bash命令:exportTOMCAT_OPTS=-Dmy.var=foo之后我启动tomcat./startup.sh(inbinfolderoftomcat)在我的java代码中,我尝试获取这个变量:System.getEnv("my.var")但它返回NULL。我该怎么做?我准确地说,如果我使用maven启动tomcat并使用eclipse环境选项卡,就会找到变量!但是我需要像上面那样在生产模式下启动tomcat。编辑:当直接使用exportMY_VAR时,它在本地运行但不在我的服务器上...

java - 为什么 System.setProperty() 不能在运行时更改类路径?

我指的是question关于以编程方式更改类路径。我阅读并发现在System类下有一些函数作为getproperties,我们可以在其中检索属性,然后也可以使用setProperties()设置它。但我得到的答案是它不会起作用。我自己没有尝试过,但是,我正在接电话。澄清一下,如果这些setProperty()和getProperty()方法无法在运行时更改它,那么为什么它们在那里。还是这仅特定于类路径属性?如果有人能提出一个他们真正有帮助的场景,我将不胜感激? 最佳答案 您当然可以在任何时候设置您想要的任何系统属性。问题是,会不会有

java - Java 中 System.out 和 System.err 之间的竞争

这个问题在这里已经有了答案:System.out.printlnandSystem.err.printlnoutoforder(7个答案)关闭9年前。请考虑这段java代码:publicclassCMain{publicstaticvoidmain(String[]args){for(inti=0;i快速浏览一下代码,我们中的一些人可能会认为输出必须是As和Bs的交替输出。但事实并非如此!它是随机出现的10个A字符和10个B字符。像这样:这是为什么呢?以及它的解决方案是什么,以便交替显示As和Bs(ABABAB...)在我问这个问题之前,我检查了其他几个类似的问题以寻求解决方案,但对我

java - 是否有在 IntelliJ 中使用 system.out.println 包装语句的快捷方式

在我看来,有时我想打印一个变量的值,所以我重复以下操作:写soutTAB(system.out.println的快捷方式)在函数中写入变量名在IntelliJ中是否可以仅使用键盘快捷键用函数包装变量? 最佳答案 在IntellijIdea13.1中,有一种称为“后缀代码补全”的快捷方式。因此,要用System.out.println包裹一个表达式、对象或变量,您只需写下它的名字,放一个点,然后写下sout,然后点击Tab。所以,例如:newMyObject().sout+将转换为System.out.println(newMyObj

java - Java 重新排序会影响 System.currentTimeMillis() 吗?

根据Java内存模型,指令可以重新排序,只要执行well-formed即可。.所以我想知道,以下代码是否可能产生以下输出?[代码][在同一个线程中]longa=System.currentTimeMillis();longb=System.currentTimeMillis();longc=System.currentTimeMillis();[输出]a==10,b==20,c==15如果不可能,那么JVM/实现如何防止这种情况发生? 最佳答案 请看这个问题Instructionreordering&happens-beforere

java - 在 System.out.println() 中输出

如果这是一个非常基本的问题,我首先感到遗憾,我提倡我仍然是一个代码猴子。我在一次采访中被要求阐明System.out.println();我是这样解释的//thisclassbelongstojava.langpackageclassSystem{publicstaticPrintStreamout;}//thisclassbelongstojava.iopackageclassPrintStream{publicvoidprintln..}我已经解释过System.out是有效的,因为这是我们在java中访问静态变量的方式,而out是PrintStream的一个对象,因此我们可以访问