草庐IT

instance-method-call

全部标签

java微优化: combine set of boolean instance variables to bit vector based on int

我们有一个包含很多实例的类,遇到了内存问题。因此,我们尽量减少这个类的内存需求。一种想法如下。该类有许多boolean实例变量,在天真的实现中,每个实例变量都会占用一个词。可以考虑将它们组合成一个存储在int中的微型位vector,这样它们的组合内存需求就是一个字。但我怀疑JavaVM无论如何都会进行这种优化,因此手动执行它不会获得任何额外的节省。对吧? 最佳答案 boolean值使用1个字节的内存(在热点上)。您可以使用替代方案:一个BitSet:每个boolean值大约使用1位+类本身的开销、对BitSet的引用、对BitSet

Java8 : Is there a way to get an instance method reference from a class method reference?

例如,如果我有这样的界面:publicinterfaceFooBar{Bfoo(Aa);Bbar(Aa);}有没有办法像FooBar::bar那样获取类级别的方法引用?并获取实例方法引用?即。如果我有FooBarmyFooBarInstance;BiFunction,A,B>barFunction=FooBar::bar;有什么简单的方法可以得到Function与我定义的实例相匹配的实例FunctionmyBarFunction=myFooBarInstance::bar; 最佳答案 您想要做的在函数编程世界中被称为“部分函数应用程

java - 单元测试 : Call @PostConstruct after defining mocked behaviour

我有两个类:publicMyService{@AutowiredprivateMyDaomyDao;privateListlist;@PostConstructprivatevoidinit(){list=myDao.getItems();}}现在我想在单元测试中包含MyService,因此我将模拟行为MyDao。XML:单元测试:@ContextConfiguration("/test-context.xml")@RunWith(SpringJUnit4ClassRunner.class)publicclassMyServiceTest{@AutowiredMyServicemySe

java.sql.SQLException : Io exception: Got minus one from a read call during JDBC connection with oracle 异常

嗨,我是java的新手,当我尝试将oracle与我的java示例代码连接时,我遇到了上述异常我的代码是importjava.sql.*;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassDbConnectivityextendsHttpSer

java - 更智能的 Eclipse "Open Call Hierarchy"?

如果我在Eclipse中有一个Java项目,我可以右键单击方法名称并“打开调用层次结构”。假设我有两个接口(interface)A和B,它们都指定了方法x()。我是否可以让Eclipse以更智能的方式使用“OpenCallHierarchy”,以便只显示A对x()的调用而不显示B的调用? 最佳答案 Eclipse应该已经这样做了。如果您想对其进行测试,请转到您的A界面,选择x()方法并在其上运行“OpenCallHierarchy”。对接口(interface)B中的x()方法执行相同的操作。你应该得到不同的代码位置,除非你有一个实

java - Spring 启动 : 404 error when calling JSP using controller

使用SpringToolSuite运行我的项目时出现以下错误,但万一我的问题是我已经将适当的依赖项添加到pom.XML文件中。那么可能是什么问题呢?我的pom.XML文件依赖如下,org.apache.tomcat.embedtomcat-embed-jasperprovidedorg.springframework.bootspring-boot-starter-tomcat2.1.3.RELEASE我的ControllerApplicationController.java如下,packagecom.example.demo.controller;importorg.springf

java - 什么时候使用 Callable 对象在 Java Executor 中调用 call() 方法?

这是来自example的一些示例代码.我需要知道的是call()何时在可调用对象上被调用?是什么触发了它?publicclassCallableExample{publicstaticclassWordLengthCallableimplementsCallable{privateStringword;publicWordLengthCallable(Stringword){this.word=word;}publicIntegercall(){returnInteger.valueOf(word.length());}}publicstaticvoidmain(Stringargs[

java - 有人可以解释 "Note: This method should be called under AWT tree lock."吗?

我正在尝试让我的程序读取以类似问卷的形式输入的答案。为此,我计划使用getComponents()获取所需的答案字段(例如,文本字段,单选按钮等),然后使用诸如getText()之类的方法读取答案。我从未使用过getComponents(),而只是在学习Java/Swing/AWT。getComponents()文档中的上述警告使我感到恐惧,因为我不知道什么是“树锁”,或者在哪里可以找到它。谷歌一无所获。即使事实证明getComponents()对于我的问题来说是不合适的解决方案,为了学习,我仍然希望我的问题得到解答。谢谢!:) 最佳答案

java - Spring 启动 1.4 : Executing Method after Liquibase finished

我有一个使用Liquibase的基于SpringBoot1.4.0的项目。是否可以在liquibase完成后执行方法?类似Bean后处理器的东西?我想做的是在应用程序以开发模式启动时向我的数据库添加一些数据。在开发模式下,应用程序使用内存中的h2数据库,因此liquibase必须在我写入数据之前创建表。 最佳答案 SpringBoot自动配置一个名为liquibase的SpringLiquibasebean。任何依赖于这个bean的bean都将在Liquibase完成后创建。例如,您可以使用@PostConstruct来填充数据库:

Java 8 方法引用 : how to determine which method to take?

假设我们有以下类:publicclassNameCreator{publicStringcreateName(Stringlastname){returnlastname;}publicStringcreateName(Stringlastname,StringfirstName){returnlastname+""+firstname}...}如果我想通过Java8方法引用调用它:NameCreator::createName我会得到错误:CannotresolvemethodcreateName如何定义要调用哪些方法? 最佳答案