编程面试题

  • Java中的IS -A关系和HAS-A关系有什么区别?

    IS-A关系是继承。继承的类称为子类或子类。另一方面,HAS-A关系是组成。 在OOP中,IS-A关系是完全继承。这意味着子类是父类的一种。例如,苹果是水果。因此,您将扩展水果以获得苹果。 class Apple extends Fruit { } 另一方面,组合意味着创建引用了其他对象的实例。例如,一个房间有一张桌子。因此,您将创建一个教室,然后在该教室

  • 一段时间内运行代码的更好方法

    如果您使用的是Java5或更高版本,请考虑ScheduledThreadPoolExecutor和a href="http:download.oracle.comjavase6docs

  • 从Android / Java将Base64上传到RoR Carrierwave

    终于解决了问题!我希望这个答案可以帮助其他尝试解决此问题的人,因为没有足够的资源。令我惊讶的是,我发现其他人也想这样做。我对Carrierwave初始化文件的原始更改似乎已死胡同。 最终的结果是在控制器中创建了上传的图像对象,然后将其注入到参数中。 对于此特定示例,我们将获取一个base64文件(我假设您具有,因为JSON不支持嵌入文件),并将其另存为系统中的临时文件,然后创建该UploadedFile对象,最

  • Java的简单自然语言处理启动程序

    您说您需要“解析”每个句子。您可能已经知道这一点,但是为了明确起见,在NLP中,术语“解析”通常意味着恢复某种分层的语法结构。最常见的类型是构成结构(例如,通过上下文无关的语法)和依赖结构。 如果需要层次结构,建议您考虑从解析器开始。我知道的大多数解析器在解析过程中都包含POS标记,并且可能提供比有限状态POS标记器更高的准确性标记(Caveat- 与依赖解析器相比,我对构成解析器更为熟悉。某些或大多数依赖解析器可能会需

  • 使用sun.misc.Unsafe?强制释放直接由ByteBuffer分配的本地内存的示例?

    sun.misc.Unsafe由于分配的本机内存的基址是java.nio.DirectByteBuffer构造函数的局部变量,因此使用几乎是不可能的。 实际上,您可以使用以下代码强制释放本机内存: import sun.misc.Cleaner; import java.lang.reflect.Field; import java.nio.

  • 是-Xdebug的存在,还是仅在单步执行代码时,Java应用程序会变慢吗?

    首先,要严格回答您的问题(至少如其标题所述),-Xdebug仅在5.0之前的JVM中使用JVMDI在 VM中启用调试支持 。因此,它本身并没有太大作用。此外,JVMDI是因为5.0不赞成赞成a href="http:java.sun.co

  • 在Eclipse IDE中使用Maven / m2e从.proto自动生成Java

    对于protobuf-maven-plugin 感谢sergei-ivanov在https:github.co

  • 是否有类似LINQ for Java的东西?

    看一下Scala,它是功能强大的功能编程语言,但与Java类似,并且在Java平台上运行。 在Scala中,可以使用与LINQ基本相同的代码结构,尽管C#或VB中不存在特殊的查询理解语法。 编辑: 这是Scala查询功能的示例: Get a

  • 如何使用Java Mail发送iCal会议请求并接收响应

    所以我解决了这个问题,这是我发现的: 1-您必须更新到Java Mail API 1.4.2,才能使一切正常运行 2-编写消息的文本日历部分,如下所示: package com.xx.xx; import java.util.Properties; import javax.mail.*; import javax.mail.internet.InternetAddres

  • AES-256和初始化向量加密

    IV不应仅由密码生成。 IV的观点是,即使使用相同的密钥和明文,也要重复使用,否则会产生不同的密文。如果IV仅由密码确定地生成,则每次都会获得相同的密文。在引用的示例中, 盐 是随机选择的,因此即使使用相同的密码也会生成新的密钥。 只需使用随机数生成器选择IV。这就是密码在内部执行的操作。 我想强调的是,您必须将IV(如果使用第一种方法)或盐(如

  • 如何从CPython调用Java对象和函数?

    最简单的事情是 为您的Java“函数”编写一个简单的CLI。(没有这样的东西,所以我假设您实际上是指Java类的方法功能。) public class ExposeAMethod { public static void main String args[] { TheClassToExpose

  • Java 8流:基于不同的属性多次映射同一对象

    我认为您的备选方案2和3可以重写为更清楚: 备选方案2 : MapString, Customer res2 = customers.stream .flatMap c - Stream.ofc.first, c.last .mapk - new AbstractMap.Simp

  • 如何学习Java Webservices

    用Java编写Web服务的标准方法是使用Apache Axis。 如果要生成Web服务客户端,则需要外部Web服务的WSDL(.xsd,.wsdl等),然后可以使用wsdl2java(或者最好是axis- ant提供的ANT任务)来进行生成用于进行通信的代码和模型。 如果要在服务器端生成Web服务,则可以使用Java2WSDL将Java模型转换为Web服务实现,尽管必须在服务器端生成的Impl类

  • 如何使用VIM / GVIM调试Java应用程序?

    最好的选择似乎是集成命令行调试器jdb,一种解决方案是yavdb,另一种解决方案是JavaKit。

  • 关于在对象的构造函数完成之前对对象的引用

    (在有关构造函数和对象发布的JLS中)没有矛盾吗? 我相信这些是不矛盾的稍微不同的问题。 JLS引用是关于将对象引用存储在构造函数完成之前 其他线程 可以看到它的地方。例如,在构造函数中,您不应将对象放入static其他线程使用的字段中,也不应分叉线程。

  • 可以在Java 8中扩展枚举吗?

    您使设计过于复杂。如果您愿意接受default只能在实例上调用方法,那么整个代码可能如下所示: interface ReverseLookupSupportE extends EnumE { ClassE getDeclaringClass; default E lookupString name {

  • 为什么ArrayList的add()和add(int index,E)复杂度要按固定时间摊销?为什么不为add()设置O(1),为add(intindex,E)设置O(n)?

    用Oracle的术语(默示的)和谈论List “ 添加方法 ”(同义词-“ 附加方法 ”)始终表示boolean addE “ 插入方法 ”总是意味着boolean addint index, E 当Oracle写的时候 bl

  • Java:如何获取Iterator 从字符串

    一种选择是使用番石榴: ImmutableListCharacter chars = Lists.charactersOfsomeString; UnmodifiableListIteratorCharacter iter = chars.listIterator

  • 如何在运行时以编程方式添加Log4J2追加器?

    编辑:有关log4j2的最新版本,请参阅下方答案 我给他们留下了不希望您这样做的印象,但这对我有用: if arg[0].equals"log" { org.apache.logging.log4j.Logger logger = org.apache.logging.log4j.LogManager.getLogger"loggerNameFromXMLConfig"

  • REST服务上的身份验证令牌有什么意义

    它确实取决于场景- 在不了解API的情况下很难说出来-但“身份验证令牌”的使用远非通用,很正确,许多API不需要(也不使用)它们。许多API只是要求在每次请求时都发送一个API密钥(通常通过HTTPS来防止它被拦截),或者需要一个API密钥来识别用户,还需要带有“秘密密钥”的数字签名来证明用户的身份(请参阅使用大多数API时,为什么它们需要两种类型的身份验证,即密钥和密钥?)。 用户名密码在公共API中不常用,

  • 使用ProGuard混淆私有字段

    从此获得: 如何告诉ProGuard保留私有字段而不指定每个字段 根据ProGuard文档,通配符匹配任何字段。 最重要的是,您可以使用取反符(!)。(a href=

  • 为什么在Java构造函数中必须首先委派给其他构造函数?

    我觉得这很丑陋,但这可以帮助我避免重复代码。以下是我想做的事情,但是在Java中是非法的… 您还可以通过使用返回新对象的静态工厂方法来解决此限制: public static BigFraction valueOfBigDecimal d { computate numerator and denominator

  • 开始运行jar文件时如何设置-Xmx?

    尝试java -Xmx1024m文件名。 我找到了这个选项,Java选项-Xmx代表什么?并在例如启动Netbeans时使用它。 这样使用 java -Xmx1024m -jar JavaApplication.jar info: -Xmxn指定内存分配池的最大大小(以字节为单位)。此值必

  • Java中的包和目录之间的区别

    还有包和目录之间的关系,但它是一个 你 必须保持。如果您的类位于“ mypackage1.mypackage2”中,则意味着该java命令将期望在名为“ mypackage1 \ mypackage2”的目录结构(假定使用“ backwards” Windows表示法)中找到该类,并进一步嵌入该目录结构在名称中的目录中(我们将其称为“ myjava”)

  • 如何使用 检查多个角色?

    春季安全性中有一个特殊的安全性表达: hasAnyRole(角色列表) -如果已授予用户指定的任何角色(以逗号分隔的字符串 列表形式) ,则为true。 我从未使用过它,但我认为它正是您所需要的。 用法示例: security:authorize acc

  • 使用受信任的证书签名jar文件以进行JWS部署

    我想我终于按照以下程序做到了: 通过其网站界面在Chrome中安装了Certum提供的证书 从Chrome将私钥导出为.pfx(设置,管理证书,导出,导出私钥,PKCS#12等)。 使用KeyTool GUI(keytools的Java前端GUI)来创建完整的p12:导入Certum根证书作为受信任的证书,导入中间证书作为受信任的证书,导入我的.pfx作为密钥对

  • JSF如何找到用@ManagedBean注释的bean?

    我的问题是,JSF实现如何找到使用@ManagedBean注释的所有类? 它会扫描类路径中的所有类吗?还是有一种方法实际上可以“查询” JVM中的带注释的类? 首先a href="http:grepcode.comfilerepo1.maven.orgmaven2org.glassfishjavax.faces2.

  • 使用eclipse进行单人项目的版本控制?

    b CVCS和DVCS完全不同 c Eclipse当前正在将其所有项目移至Git(并且正在EGit

  • 在Java中使用System.nanoTime()时,为什么要使用t1-t0 <0,而不是t1

    纳米时间不是“实时”时间,它只是一个计数器,在发生某些未指定的事件(可能是计算机已启动)时,将从某个未指定的数字开始递增。 它将溢出,并在某些时候变为负值。如果您t0就在它溢出之前(即非常大的正数),而您就在它溢出t1之后(非常大的负数),那么t1 t0(即您的条件是错误的,因为t1在t0…

  • 如何计算C ++或Java中的方差,中位数和标准差?

    public class Statistics { double[] data; int size; public Statisticsdouble[] data { this.data = data; size = data.length; } double getMean { double su

  • 使用Spring + Hibernate的多租户:“为多租户配置了SessionFactory,但未指定租户标识符”

    前瞻性:尽管我接受了(将)包含代码的答案,但如果您认为这很有用,请提高Darren的答案。他是我完全能够解决此问题的原因。 好吧,我们开始.... 正如Darren所指出的,这确实是SessionFactory错误地实例化Session的问题。如果要手动实例化会话,则没有问题。例如: sessionFactory.withOptions.tenantIde

  • 我需要一个简单的命令行程序来使用XSL样式表转换XML。

    您是否尝试过’ xsltproc ‘?它可能已经安装了。 http:xmlsoft.orgXSLTxsltproc2.html

  • 如何在Ubuntu 18.04.2 LTS上使Java FX与OpenJDK 8一起运行?

    来自的提示 https:github.comJabRefhelp.jabref.orgissues204 帮助了。命令:

  • 带有圆角的Android Spannablecontent

    在阅读了有关C#转换器的帮助之后,我想到了这个。我仍然需要做一些调整,但是如果有人也在寻找类似的答案。 public class RoundedBackgroundSpan extends ReplacementSpan { @Override public int getSizePaint paint, CharSequence text, int start, int end, Paint

  • 什么是好的开源Java SE JTA TransactionManager实现?

    我推荐Bitronix。在使用任何其他事务管理器之前,建议您进行彻底的测试。测试就像在交易的每个阶段都中断各种机器的电源一样。您希望事务性在发生故障时保护您。令人惊讶的是,有多少交易管理器未能正确实现恢复。 Bitronix确实需要JNDI,它通常是在Java EE容器中为您提供的,但是它们包括一个简单的嵌入式实现,该实现将在Javab

  • 在切入点中获取带注释的参数

    我围绕着另一个不同但相似的问题的其他答案对解决方案进行了建模。 MethodSignature signature = MethodSignature joinPoint.getSignature; String methodName = signature.getMethod.getName; Class?[] parameterTypes = signature.getMeth

  • -Xmx和Runtime.maxMemory为什么不一致

    差异似乎是由垃圾收集器的幸存者空间的大小引起的。 如docs中-Xmx所述,该标志控制内存分配池的最大大小。内存分配池的堆部分分为Eden,Survivor和Tenured空间。正如描述的这个答案,有两个幸存者的区域,只有其中之一是可在任何给

  • Singleton和Static Utility类

    我将静态实用程序类用于 将在许多不同上下文中调用的共享函数 -例如,类似于java.util.Math中的数学函数。假设这些函数是“纯”函数(即,不操纵任何状态或访问除给出的参数以外的任何数据),这是一种适当的模式。 我很少使用单例,尤其是尝试避免全局单例。它们遭受了与全局变量相关的所有常见问题。它们使测试变得困难,并且除非您的单例也不变,否则它们会带来全局状态的问题。我发现它们

  • Android:当您的应用在后台运行时,在通知上使用AUTO-CANCEL

    因此,显然您 确实 需要一个待定的意图。 在Android的通知管理器中,我收到了一个没有意图的通知,我找到了一个解决方案,该解决方案可以将当前活动的应用程序作为待处理的意图(这样,您不必启动自己的活动即可关闭该通知)。 我只添加了以下两行代码(设置自动取消后): PendingIntent notifyPIntent = PendingIntent

  • 为什么匿名类不能访问其封闭类的变量?

    这来自早期版本的Java内部类规范。 链接腐烂的官方规范URL(例如从VM spec 2.14中引用)已消失:a href="http:java.sun.comproductsjdk1.1docs