JAVA 实例 技术教程文章

java – 允许在其他地方引用匿名内部类实例时对类进行垃圾回收?【代码】

我有一个A类:public class A {private B b = new B() { public void method() { do something } };public B getB() { return b; } }public interface B { void method(); }实例b具有其外部类的实例的隐式引用(可以由此引用).现在另一个对象通过getter方法获取对此b的引用.由于引用,该b不能被垃圾收集. 有没有办法获得允许封闭A实例的垃圾收集的可能性,可能是通过重置匿名内部类中的显式引用?解决方法:技术上可行:public class H...

Java8新特性Stream流实例详解

什么是Stream流? Stream流是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。 Stream的优点:声明性,可复合,可并行。这三个特性使得stream操作更简洁,更灵活,更高效。 Stream的操作有两个特点:可以多个操作链接起来运行,内部迭代。 Stream可分为并行流与串行流,Stream API 可以声明性地通过 parallel() 与sequential() 在并行流与顺序流之间进行切换。串行流就不必再细说了,并行流主要是为了为了适应目前多核...

java – spring-context是否支持bean实例上的JSR-330限定符?【代码】

Spring有自己的Qualifier注释,我认为它等同于javax.inject.Named注释,而javax.inject.Named注释又是JSR-330中的具体限定符. 那么,我想知道Spring的哪个版本(如果有的话)支持Qualifier? 这是我的示例用法,遗憾的是它不适用于spring-context 3.0.5:@Retention(RUNTIME) @javax.inject.Qualifier public @interface Version {String value();}@Configuration public class MyConfig {@Bean("book-12") @Version("a") Book book12a()...

java – 为什么我不能将jvisualvm附加到从osx内部启动的tomcat实例?【代码】

我从netbeans里面开始tomcat.我想监视tomcat实例上的堆使用情况,以便启动jVisualVM.但是,该过程未列出.有任何想法吗?解决方法:您使用的是Java版本6u24吗?然后你可能成为this bug的受害者,这将在6u25修复(简而言之,jVisualVM无法找到你的进程’hsperfdata). 否则,您必须通过JMX启用监控: 将以下JVM参数传递给Tomcat:-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.j...

java – Spring中的多个Bean实例【代码】

我想知道是否可以在Spring中的列表中指定相同bean的x量.例如,不要使用带有id的bean:s??tage1,stage2,… stageN,如下所示:<bean id="stage1" class="Stageclass"/> <bean id="stage2" class="Stageclass"/><bean id="stages" class="java.util.ArrayList"><constructor-arg><list><ref bean="stage1" /><ref bean="stage2" /> </list></constructor-arg> </bean>是否可以做以下事情?:<bean id="stage1" class="S...

Java:实现一个实例化特定类型集合的泛型方法【代码】

我想实现一个类似于以下内容的泛型方法:private <T> void addToSize(ArrayList<T> list, Class<T> type, int size) {int currentSize = list.size();for(int i = currentSize; i < size; i++) {try {list.add(type.newInstance());} catch (InstantiationException e) {logger.error("", e);} catch (IllegalAccessException e) {logger.error("", e);}} }上面的方法适用于这样的事情:ArrayList<Integer> test = new ArrayList<I...

java – 从流程实例获取变量映射【代码】

有没有办法从流程实例获取变量映射,或者我必须使用执行,使用执行将无法帮助我总是获取流程实例的变量映射,因为一个流程实例可能有多个执行解决方法:我遇到过类似的问题.您需要执行才能获得变量映射.正如您所说,给定流程实例可以有多个执行.因此,您需要找到变量所在的根执行.我写了一些代码来查找root执行.我已经针对具有多个嵌套调用活动的进程测试了它.我没有尝试过它来反对子流程,但我认为你可以让它工作:ExecutionEntity execu...

Java优化:局部变量与实例变量【代码】

在Java中,如果我有很多本地对象,如果我将它们定义为实例变量,它会运行得更快吗?例如,如果多次调用我的func1(),比如在循环中调用,那么每次调用函数时,JVM是否会继续实例化并垃圾收集list2?相反,我应该重用相同的list1对象来防止垃圾收集和实例化开销吗?class A {List list1 = new ArrayList();private void func1() {list1.clear();// add new objects list1List list2 = new ArrayList();// add new objects to list2} }优化器是...

java – 构建并运行Apache Stanbol实例 – 失败【代码】

遵循以下说明:stanbol build and run stanbol instance 执行时我们总是遇到以下错误:% mvn clean install[错误]无法在项目org.apache.stanbol.commons.owl上执行目标org.apache.maven.plugins:maven-surefire-plugin:2.16:test(default-test):存在测试失败. 我们假设它与此有关: SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”.SLF4J:默认为无操作(NOP)记录器实现SLF4J:有关详细信息,请参阅http://www.slf4j.or...

如果object不是java中的某个实例,是否会抛出一个标准异常?【代码】

假设我有以下内容:public interface Foo {... }public class Gin {... }public class Fizz {... }public class Buzz {public Foo getAFoo() {...}public void test() {Foo myfoo = getAFoo();if (myFoo instanceof Bar) {Bar myBar = (Bar) myFoo;//do something more} else {//throw new something exception}} }这是合理的编程吗?是否有一个内置的异常,test()可以抛出或我应该为此创建自己的异常类?解决方法:虽然有点基于意见...

java – 重新启动GAE实例而无需重新部署

我目前正在运行(免费)Google App Engine实例,我需要手动重启.但是,在我的项目的“实例”选项卡中,它只是为我提供了“查看日志”或“关闭”的选项. 关闭实例不是一个选项,因为我不想手动将应用程序重新部署到google appspot.这不是一个选项,因为我需要从多个位置(甚至在路上)这样做,我的项目位于一台台式计算机上. 我希望能够重新启动实例的原因是因为我的Java应用程序中的缓存.我缓存某些用户和数据,以便我很少需要调用数据存储区....

java – 如何使用参数创建泛型类型的实例【代码】

我有下课.public class SomeClass<T extends CustomView> { public void someMethod() {T t; // = new T(context) ...compile error!// I want instance of SomeType that have parameter(context) of constructor.t.go();} }我想用构造函数的参数创建泛型类型T的实例. 我尝试过TypeToken,Class< T>,newInstance等,但没有成功.我想要一些帮助.谢谢您的回答.解决方法:你有两个主要的选择. 反射 这种方式不是静态类型安全的.也就是说...

java – junit – 测试从未实例化的类的私有方法【代码】

所以我们的堆栈是在Spring上,并且只能从UI更改中调用类向导.在xhtml上它的调用方式如下:`<.....onchange="changeValue()" value="wizard.type.name">`该类永远不会在代码中的任何地方实例化,并且该类中唯一的构造函数是:public Wizard(){}并说getName()调用私有方法getWizardWeapon() – 我如何在一个单独的项目中测试junit中的getWizardWeapon()(比如TestWizard但是在同一个工作区中)?解决方法:您不应该测试私有方法.测试应该只...

java – 如何限制迭代器只返回子类的实例?【代码】

我有一些实现可迭代的基类public class EntityCollection implements Iterable<Entity> {protected List<Entity> entities;public EntityCollection() {entities = new ArrayList<Entity>();}public Iterator<Entity> iterator() {return entities.iterator();}... etc这是子类.public class HeroCollection extends EntityCollection {public void doSomeThing() { ... }我想做以下事情:HeroCollection theParty = new HeroColle...

java – 一个方法“引用特定类型的任意对象的实例方法”如何解析任意对象?

参见英文答案 > Instance Method Reference and Lambda Parameters 2个oracle Java 8 documentation定义了4种类型的方法引用,而不是Lambda表达式.我想要理解的是一种方法引用,描述为:“引用特定类型的任意对象的实例方法”,写为ContainingType :: methodName. 我不确定我是否遗漏了一些东西,但对我而言似乎更像是:“引用功能接口的抽象方法的第一个参数,假设它是ContainingType类型”.我试图...

java – 手动实例化@InjectMock带注释的字段【代码】

我已经浏览了一些博客,以了解Mockito注释如何工作的基础知识. 但是,我怀疑何时可以手动实例化用@InjectMocks注释的字段,即@InjectMocks A a = new A();什么时候依靠MockitoAnnotations.initMocks()功能来做同样的事情:@InjectMocks A a;这取决于我们用来运行测试用例的JunitTestRunner还是依赖于Mockito框架版本?解决方法:这取决于你是否正在使用(声明)跑步者. 如果你使用跑步者,你不需要自己调用MockitoAnnotations.initMocks()...

java – 在同一个StringBuilder实例上调用toString时的不同输出【代码】

我正在测试Strings,我提出了以下代码:public static void main(String[] args){StringBuilder sb1 = new StringBuilder("Cuba");String str1 = sb1.toString();// n1System.out.println(str1 == str2); }在n1,如果我放置:String str2 = sb1.toString();我弄错了.但是,如果我放置:String str2 = str1;我明白了. 我不确定为什么会发生这种情况:两个代码都指的是同一个实例,因此两个输出都必须为true. 知道为什么两个输出都不同吗...

java – 在父级和子级中初始化实例变量【代码】

我有以下Java代码public class Base {private static boolean goo = true;protected static boolean foo() {goo = !goo;return goo;}public String bar = "Base:" + foo();public static void main(String[] args) {Base base = new Sub();System.out.println(base.bar);} }public class Sub extends Base {public String bar = "Sub:" + foo(); }而且我被问到它会打印什么.在测试之后,答案似乎是Base:false,但我真的无法理解为什...

java.lang.LinkageError:加载器约束违规:loader(org / apache / catalina / loader / WebappClassLoader的实例)【代码】

Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/projectname]] Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name “javax/servlet/ServletContext” org.apache.catalina.LifecycleException: Failed to start component [Stand...

java – 无法获取驱动程序实例【代码】

我是Spring(Boot)的新手,并试图获得与HSQLDB服务器的池化数据库连接. 的pom.xml<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --> </parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><...