Tag: java

基准测试:同一过程多次,只有一次预热?

我目前正在开发一个Java应用程序(Benchmark),其目的是确定某些与数据库相关的进程。 我的应用程序应运行如下: 我有多个Usecases(简单插入,简单更新等,在数据库中),我想多次运行。 运行之间的唯一区别是同时运行的线程数。 我需要使用1,2,4,8,16等线程对这些用例进行测试,以便在我的测试中包含并发性(使用ExecutorService)。 我的问题 : 我的应用程序在每次运行之前是否需要运行预热? 或者只有一个就足够了。 换句话说,我的应用程序是否必须执行以下操作: –warmup –process(1) (1 thread) –warmup –process(2) (2 threads) etc. 要么 –warmup –process(1) –process(2) etc. 基本上,无论线程数如何,“process()”方法都完全相同。 我倾向于认为一个显然是足够的,因为JVM不会真正优化任何东西,因为代码不会改变。 但是,仍然,我更喜欢寻求一些exerimented建议:) 谢谢您的帮助 ! 注意:我读了很多关于基准测试的内容: http://www.ibm.com/developerworks/library/j-jtp12214/ http://www.ibm.com/developerworks/java/library/j-benchmark1/index.html http://www.ibm.com/developerworks/java/library/j-benchmark2/ 这就是为什么我会说只需要一次预热。 🙂

如何获取循环中生成的char值的总和?

对不起,如果标题有误导性或令人困惑,但这是我的困境。 我正在输入一个字符串,并希望为字母表中的每个大写字母分配一个值(A = 1,.. Z = 26),然后在该字符串中添加每个字母的值。 示例: ABCD = 10(自1 + 2 + 3 + 4) 但我不知道如何在字符串中添加所有值 注意 :这仅适用于大写字母和字符串 public class Test { public static void main(String[] args) { Scanner scannerTest = new Scanner(System.in); System.out.println(“Enter a name here: “); String str = scannerTest.nextLine(); char[] ch = str.toCharArray(); int temp_integer = 64; for (char c […]

Spring 3.1配置:环境未注入

我在春季3.1配置中使用以下内容: @Configuration @EnableTransactionManagement public class DataConfig { @Inject private Environment env; @Inject private DataSource dataSource; // @Bean public SpringLiquibase liquibase() { SpringLiquibase b = new SpringLiquibase(); b.setDataSource(dataSource); b.setChangeLog(“classpath:META-INF/db-changelog-master.xml”); b.setContexts(“test, production”); return b; } @Bean public EntityManagerFactory entityManagerFactory() { LocalContainerEntityManagerFactoryBean b = new LocalContainerEntityManagerFactoryBean(); b.setDataSource(dataSource); HibernateJpaVendorAdapter h = new HibernateJpaVendorAdapter(); h.setShowSql(env.getProperty(“jpa.showSql”, Boolean.class)); h.setDatabasePlatform(env.getProperty(“jpa.database”)); b.setJpaVendorAdapter(h); return (EntityManagerFactory) […]

IntelliJ :(键盘快捷键)跳转到下一个/上一个建议

我知道如何跳转到下一个和上一个错误 ( F2 ,参见SO Link , jetbrains.com ),但有没有办法轻松地在建议之间跳转? 如果可能的话,我真的很想有一个键盘快捷方式 ,因为我目前正在学习Kotlin和IntelliJ经常对如何改进代码有很好的建议。 如果没有键盘快捷键可以在建议之间跳转,那么至少还有其他方法吗? 建议我指的是以下内容(忽略“废话代码”)):

为什么我必须在@Constructor注释注释的Spring配置类中有一个默认构造函数?

我正在攻读Spring Core认证,并且根据所提供的学习内容,我有这个问题,但我无法给出答案。 为什么必须在@Configuration注释类中使用默认构造函数? 我没有将任何构造函数声明为@Configuration批注注释的配置类。 默认构造函数是超类inheritance的构造函数? 或者是什么? 为什么我必须有一个默认的构造函数,我不能覆盖它? TNX

线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:资源路径中找不到jnidispatch(/ com / sun /jna/win32-x86/jnidispatch.dll)

我有一个小的测试程序,可以在JBuilder 6调试器中完美运行。 当我创建一个.jar文件并运行它时,我收到一个错误 >java -jar testadll.jar Start of DLL test Exception in thread “main” java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun /jna/win32-x86/jnidispatch.dll) not found in resource path at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:708) at com.sun.jna.Native.loadNativeLibrary(Native.java:685) at com.sun.jna.Native.(Native.java:109) at testadll.TestThisDLL$PenniesLib.(TestThisDLL.java:24) at testadll.TestThisDLL.main(TestThisDLL.java:33) 我搜索了我的驱动器,它上面没有jnidispatch.dll。 该计划是 package testadll; import com.sun.jna.Library; import com.sun.jna.Native; //import com.sun.jna.NativeLong; import com.sun.jna.Platform; import com.sun.jna.win32.StdCallLibrary; //import com.sun.jna.*; public class TestThisDLL { public interface […]

JApplet未运行:

当DrawOvalInputs.html运行并调用DrawOvalInputs的类文件时,我的JApplet产生错误。 到目前为止,我只能将它作为一个实际的应用程序(这就是为什么主要是在一个块引用)。 我的这个程序的目标是能够运行.html文件来启动JSPlet,在Java控制台上使用中等安全设置,但无论我做了什么,它都无法正常运行。 在来到这里之前,我已经浏览了很多页面和搜索。 遗憾的是,我无法想象这个JApplet,所以如果有人能指导我朝着正确的方向前进,我会非常感激! 我的代码如下: DrawOvalInputs.java package drawovalapplet; import java.awt.BorderLayout; import java.awt.Frame; import java.awt.Graphics; import javax.swing.JApplet; import javax.swing.JOptionPane; /** * This applet inputs a number of values, and then computes the size of * an oval with those given values. * * @author [Redacted] * @version 2014-05-02, [Redacted] */ public class DrawOvalInputs extends JApplet […]

在Java中取消装箱长

在某些代码中我看到了这个: private void compute(Long a, Long b, Long c) { long result = a-(b+c); … 将结果存储在原始long而不是与其操作数对应的Long对象中似乎有点奇怪。 是否有任何理由将结果存储为原语?

在Java中将UTC时间转换为本地时区

我知道这个话题已被打死,但在搜索了几个小时之后我不得不问这个问题。 我的问题:根据客户端应用程序(iphone)的当前时区对服务器上的日期进行计算。 客户端应用程序会在几秒钟内告诉服务器它的时区离GMT有多远。 我想使用此信息对服务器中的日期进行计算。 服务器上的日期都存储为UTC时间。 因此,我希望在将UTC Date对象转换为此本地时区后获得它的HOUR。 我目前的尝试: int hours = (int) Math.floor(secondsFromGMT / (60.0 * 60.0)); int mins = (int) Math.floor((secondsFromGMT – (hours * 60.0 * 60.0)) / 60.0); String sign = hours > 0 ? “+” : “-“; Calendar now = Calendar.getInstance(); TimeZone t = TimeZone.getTimeZone(“GMT” + sign + hours + “:” + […]

Java 8中throwMerger的替代方案

我正在实现使用合并function的自己的收集器。 不幸的是,对于我的一些情况,我不能重用抛出IllegalStateException的以下JDK合并函数。 java.util.stream.Collectors#throwingMerger 它发生的原因是它具有私有访问修饰符,并且来自其他(非内部)类的访问受到限制。 但是,javadoc说: 这可用于强制假设所收集的元素是不同的 但是,正如我所见,java doc已经过时了。 它不能使用。 问题是JDK是否为java开发人员提供了类似function的访问权限(类似方法,常量等),还是应该自己编写?