编程面试题

  • 具有相同名称的Java实例变量和方法

    是的,这很好,主要是因为在语法上,它们的用法不同。

  • JVM -XX:+ StringCache参数?

    我还没有找到一个甚至可以接受这个假定参数的JVM-所以我想没有太多要说的了。

  • 如何在Java中设置鼠标的位置?

    您需要使用机器人 此类用于生成本机系统输入事件,用于测试自动化,自运行演示以及需要控制鼠标和键盘的其他应用程序。Robot的主要目的是促进Java平台实现的自动化测试。 使用类生成输入事件与将事件发布到AWT事件队列或AWT组件不同,因

  • 等效于Reflection.Emit的Java

    除了达林的出色答案(+1)外,ASM也值得一试。

  • 具有无限队列的ThreadPoolExecutor不创建新线程

    此博客文章介绍了a href="https:github.comkimchykimchy.github.comblobmaster_posts2008-11-23-juc- exec

  • 在Java中,程序之间共享静态类成员吗?

    在Java中,程序之间共享静态类成员吗? 一个类由其全名和加载该类的类加载器定义。如果同一类位于同一JVM进程内,并且两个程序通过同一类加载器加载了该类,则将共享静态成员。类加载规则极为重要。 我想不,不是,因为每个进程当然都有自己的内存空间。 如果您使用两个单独的J

  • 从键以特定表达式开头的Map中获取所有值的最快方法

    如果您使用NavigableMap(例如TreeMap),则可以利用基础树数据结构的好处,并执行以下操作(非常Ol

  • 如何从货币代码获取NumberFormat实例?

    我不确定我是否理解正确,但是您可以尝试执行以下操作: public class CurrencyTest { @Test public void testGetNumberFormatForCurrencyCode { NumberFormat format = NumberFormat.getInstance; format.setMaximumF

  • 如何在Mac OSX上降级JRE / JDK?

    如果您的计算机上没有旧版本的JDK,则需要使用GUI并下载Java更新程序。我能找到的最接近的版本是用于Mac OS 10.5的Java 1.6.0_15(您没有提到您正在运行的Mac OS X版本): Java for Mac OS X 10.5更新5 对于Mac OS X 10.6,我看不

  • java.io.IOException:服务器返回HTTP响应代码505

    Tomcat中存在一些URL包含空格的问题。要解决此问题,您需要使用编码网址URLEncoder。 示例(注意空格): String url="http:example.orgtest test2index.html"; String encodedURL=java.net.URLEncoder.encodeurl,"UTF-8"; System.out.p

  • 为什么在Java float比较中使用Float.floatToIntBits()?

    解释中可以找到a href="http:books.google.com.aubooks?id=ZZOiqZQIbRMCdq=effective+javapg=PP1ots=UZMZ2siN25sig=kR0n73DHJOn-D77qGj0wOxAxiZwhl=ensa=Xoi=book_resultresnum=1ct=result#v=onepa

  • 来自有效Java的防御性副本

    您违反了OO编程的两个规则: 不要跟陌生人说话 封装 请注意,这些规则只是规则,它们有时甚至可能被破坏。 但是,如果某个对象拥有某些数据,并且该对象应该保证其拥有的对象具有某些不变性,则它不应将其可变的内部数据结构暴露给外部。因此,需要防御性副本。 另一个经常使用的习惯用法是返回可变数据结构的不可修改的视图:

  • java.lang.NoClassDefFoundError:com / sun / istack / localization / Localizable?

    在com.sun.istack.localization.Localizable即将上课的地方加罐子。 同样存在于 jaxb-core-2.2.X and jaxb-impl-2.2.X. 尝试将这些jar添加到服务器库中,或将其与war文件捆绑在一起。 谢谢

  • Java:JPanel中的垂直对齐

    使用GridBagLayout具有默认约束的。这是一个小的演示代码: import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import j

  • 将完整的Maven远程存储库下载到本地存储库?

    从http:maven.apache.orgcommunity.html: 做个好行者 内置于Maven核心体系结构中的公共存储库的概念使其必然以社区为中心。

  • Java-是否可以对正在执行方法的对象进行垃圾收集?

    如果正在执行对象方法,则意味着某人拥有该引用。因此,不,在执行方法时无法对对象进行GC处理。

  • 如何使用Jsoup提取单独的文本节点?

    几种方法。这实际上取决于文档本身以及给定的HTML标记是否一致。在此特定示例中,您可以获取td的子节点Element#childNodes,然后分别测试每个节点是否为a href="http:jsoup.orgapidoc

  • JDBC DatabaseMetaData.getColumns()返回重复的列

    在oracle中,Connection.getMetaData返回 整个 数据库的元数据,而不仅仅是您碰巧要连接到的架构。因此,当您提供null的前两个参数时meta.getColumns,您并不仅要过滤模式的结果。 您需要将Oracle模式的名称提供给的前两个参数之一meta.getColumns

  • 使用varargs参数调用重载方法时出现Nashorn错误

    作为为Nashorn编写过载解决机制的人,我总是着迷于人们遇到的极端情况。无论好坏,这都是最终被调用的方式: Nashorn的重载方法解析尽可能地模仿Java语言规范(JLS),但也允许特定于JavaScript的转换。JLS说,当选择一种方法来调用重载名称时, 只有 在没有适用的固定arity方法时, 才 可以考虑使用可变arity方法进行调用。通常,从Java调用code

  • ArrayList警告-警告:[unchecked]对add(E)的未经检查的调用,也不会运行文件

    更改此行 private List listOfPrimeNumbers; add a member variable for the ArrayList 至 private ListInteger listOfPrimeNumbers; add a member variable for the ArrayLis

  • 等待一个Runnable完成,然后再运行另一个Runnable

    您可以使用wait和notify方法。 为此,需要有一些全局可访问的对象,该对象此时的程序中其他任何东西都未使用其锁定。我假设列表创建者Runnable本身可以扮演这个角色。 因此,您可以将以下内容添加到创建列表的Runnable类中: private boolean lis

  • 如何使用Firebase 1.0.2忽略对象模型的新字段

    Firebase 1.0.3已发布,现在使用Jackson 2.2.2,因此注释@JsonIgnore是必经之路。 编辑:截至2017年,Firebase不再使用Jackson。正确的注释是@Exc

  • 如何在Eclipse中将Java属性文件添加到我的Java项目中

    如果您在当前工作目录中有属性文件,它应该可以正常工作,就像在Unix中一样。另一种办法是增加你的属性文件到classpath和获取使用的InputStream this.getClass.getClassLoader.getResourceAsStream"xxxxx.properties"; 更多a href="http:viralpatel.netblogs200910loa

  • 从哈希图中删除具有给定值的所有项目

    hmap.values.removeAllCollections.singleton"Two"; 编辑: 这种简洁方法的(显着)缺点是您基本上被迫发表评论,说出类似 remove"Two" would only remove the first one 否则,一些好心的工程师将有一天会尝

  • 如何将文件添加到Jar文件中?

    请记住,JAR文件是ZIP文件。 只需使用一些ZIP库。

  • 参数字符串为null时,int compareTo()应该返回什么?

    是的,允许null实例字段没有问题- 只要确保已定义其排序顺序即可。最自然的做法是将其放在所有真实字符串之前或之后,但是您可以在这里做任何事情,只要始终如一。(例如,您可以排序null为"null"。) 这是单个成员的示例实现: class Example implements Comparable&l

  • 自sdk工具更新以来,Android项目在eclipse中引用了“普通” java项目

    在提供的链接 @clamp中,包含以下句子: 现在,该容器还将填充“图书馆项目”引用的纯Java项目。 这意味着,我们可以将空库项目用作android项目和常规

  • 使用Java中的getter方法将元素添加到List是一种不好的做法吗?

    我认为做这样的事情不是一个特别好的做法: myObj.getMyList.addx; 因为您是以非只读方式公开私有类变量的,所以我确实经常看到它(我正在看着您,自动生成的类)。我会争辩说,不是这样做,而是返回一个不可修改的列表,并允许该类的用户通过显式方法添加到列表中: public class MyClass{ privat

  • 哪个更好:让Java执行自动装箱或使用valueOf()

    它们在内部无论如何都是相等的,因此请使用第一个变体。很有可能,将来的编译器优化可能会使第一个优化在未来更快。

  • 比较双数与零

    最简单的epsilon检查是 ifMath.absvalue ERROR 一个更复杂的与价值成正比的 ifMath.absvalue ERROR_FACTOR * Math.maxMath.absa, Math.absb 在您的特定情况下,您可

  • Maven报告中的JUnit输出

    我相信您可以System.out使用maven surefire插件配置键 redirectTestOutputToFile重定向 测试的输出(),然后在中找到输出targetsurefire-reports 在a href="http:maven.apache.orgpluginsmaven-surefire-pl

  • 加载大图像而没有OutOfMemoryError

    看一眼: http:developer.android.comreferenc

  • spring数据jpa限制pagesize,如何设置为maxSize

    与Spring MVC结合使用时,可以将PageableDefaults注解与value = Integer.MAX_VALUElike public String showUsersModel model, @PageableDefaultspageNumber = 0, value = Integer.MAX_VALUE Pageable pag

  • Android:实作ViewHolder

    这是因为a ViewHolder不是 来自 Android SDK 的类,而是您自己创建的。根据我的发现,a ViewHolder是一种存储视图(通常为ListVie

  • Java如何在单个IF语句中处理多个条件

    是的,Java(类似于其他主流语言)使用 惰性评估 短路,这意味着它的评估尽可能少。 这意味着以下代码是完全安全的: ifp != null p.getAge 10 另外,a || b从不评估b是否a

  • 使用Hibernate / JPA逐个排除@Embedded属性中的字段

    我认为注释无法通过嵌入对象中的地址“忽略”字段。 一种解决方法是创建不带电子邮件的基本类型地址,并使用字段电子邮件创建ExtendedAddress(地址的子类)。

  • 将实例字段分配给局部变量

    为了稍微扩展一下Michael的答案,我希望它可以确保该keySet方法永不返回null,而且还可以提供所提到的性能优势。 给出以下代码: public SetK keySet { return keySet == null ? keySet = new KeySet : keySet; } cod

  • Maven拒绝从远程存储库下载aar打包的依赖项

    使用Android包装,例如packagingapkpackaging。 如果Maven无法下载工件,它将在构建生命周期中更快地抱怨。问题是工件已下载但未使用。aar它不是标准的Maven工件,因此Maven不知道如何处理它。使用它需要带有扩展名的第三方插件,因此使用android- maven-plugin。阅读其

  • Swing应用程序的OnExit事件?

    Runtime.getRuntime.addShutdownHooknew Thread { @Override public void run { updateZonas; db.close; } }; 适用于任何Java应用程序(Swing AWT Console) b

  • 根据安全策略创建Java沙箱

    据我所知,仍然是运行安全检查的SecurityManager。但是现在看来,它委托给了AccessController。 首先,您需要打开安全管理器: -Djava.security.manager 如果您忽略此参数,则不会有沙箱。 其次,您需要告诉在哪里可以找到策略文件: -Djava.security.policy = 这会将您的权限添