编程面试题

  • 高性能JMS消息传递

    1)首先,Spring JMS的开销是使用JmsTemplate通过下面的缓存机制发送消息。本质上,JmsTemplate将对您发送的每条消息执行以下操作: 建立连接 建立工作阶段 创建生产者 建立讯息 发信息 闭幕会议 紧密连接 可

  • Firebase访问令牌是否自动刷新?

    onIdTokenChanged每当ID令牌更改时都会触发。如果ID令牌过期,则不会触发。如果刷新了新的ID令牌,新用户登录或现有用户退出,则会触发。 Firebase会根据需要自动刷新。例如,如果您使用实时数据库或Firestore,它们将在令牌过期后自动刷新令牌,因为它们需要持久连接和ID令牌。这将导致该侦听器触发。 getIdToken 将缓存未过期

  • Java线程缓存何时刷新?

    这在JLS的 Threads and Locks 部分中进行了描述。 根据同步顺序定义何时需要线程从主存储器读取线程,并且该线程发生在顺序之前。基本上说,为了使 读取 产生最后 写入 的值,需

  • JDK 1.7 Throwable`addSuppressed()`方法

    一般而言,addSuppressed当我们以某种方式 并行 执行会产生异常的情况时,应使用Throwable 方法 ,该情况会 被抑制 。我发现了两个例子; 当调用代码将看到原始异常(在try或catch块中)以及在finally块中发生的异常时,使用try-with-resource块(try-finally块)。

  • 在Eclipse中为我的Java应用程序创建exe?

    如果您只是想知道如何在Eclipse IDE外部运行应用程序,则不需要exe。在菜单中寻找“导出JAR”选项。 如果导出正确完成(生成了MANIFEST),则应该能够通过双击JAR文件或从命令行使用“ java -jar FILENAME.jar”来运行JAR文件。请注意,这是与平台无关的格式。

  • SSLHandshakeException:没有通用的密码套件

    javax.net.ssl.SSLHandshakeException: no cipher suites in common 这有两个原因: 服务器没有私钥和证书,并且可能根本没有密钥库。在这种情况下,它只能使用不安全的匿名密码套件(默认情况下已禁用),并且应该保持这种状态。因此,没有可以同意与客户端一起使用的密码套件。

  • 如何将Ant编译器更改为JDK 1.6

    我认为Ant compiler属性只是要知道编译器支持哪些属性。在javac一般属性或选项传递到编译器target。 您甚至不需要安装Java 6编译器。

  • 解析日期时无法从TemporalAccessor获取ZonedDateTime

    您忘记设置时间了。 如果将我的答案与代码进行比较,您会注意到唯一的区别是时间信息丢失。一个ZonedDateTime包含时间信息,并从当前的格式不处理它,实例ZonedDateTime不能形成即可。 您还可以在包含以下内容的stacktrace中看到它 Caused by: java.time.DateTimeExceptio

  • Lambda引发异常

    我的方法是从lambda 偷偷地 将其抛出,但是要小心,使该send方法在其throws子句中声明它。使用我在这里发布的Exceptional课程: public Server sendString message throws IOException { sessions.parallelSt

  • 获取目录中按上次修改排序的文件?

    并没有真正的“简便方法”,但是有可能: ListPath files = new ArrayList; tryDirectoryStreamPath stream = Files.newDirectoryStreamdir { forPath p : stream { files.addp; } } Collec

  • 如何使用Java恢复已删除的文件?

    要恢复已删除的文件,需要了解底层文件系统的实现方式,因此您需要做一些阅读工作,然后才能到达任何地方。 从理论上讲,是的,您绝对可以使用纯Java来做到这一点。您只需要了解如何绕过文件系统从原始磁盘读取数据即可。在Unix系统上,这很简单:将设备节点作为文件打开(您需要root权限)并进行读取。在Windows上,可能有类似的过程。最糟糕的是,您将不得不使用C或C++创建一个帮助程序库来为您读取数据。

  • 使用Jena TDB在本地加载DBpedia吗?

    要让Jena在本地建立索引: ** The Constant tdbDirectory. * public static final String tdbDirectory = "C:\\TDBLoadGeoCoordinatesAndLabels"; ** The Constant dbdump0. * public static final String dbdump0 = "C:\\Users\\

  • 用Java语言添加或修改关键字

    一种使用相当复杂的工具链并被认为是“过大杀伤力”的方法,但是不如编写自己的编译器那么费力: 从http:www.antlr.orgdownload.html下载ANTLR4a href="http:www.

  • 是否可以查看Java类文件的字节码

    我一直在研究具有颜色编码字节码输出模式的反编译器(我发现它比javap更具可读性)。它还可以输出Java代码或中间的“字节码AST”。

  • 如何覆盖HttpURLConnection中的HTTP标头“主机”?

    最后一条评论解决了我的问题: System.setProperty"sun.net.http.allowRestrictedHeaders", "true" 或在VM启动时: -Dsun.net.http.allowRestrictedHeaders=true

  • JTable可点击列排序:排序对单元格的内容进行排序,但是不更新单元格格式吗?

    您必须将行索引从“视图”转换为“模型” int modelRow = convertRowIndexToModelrow;

  • Java Sound API在您的计算机上找到哪些输出和记录端口?

    我从来没有弄过声音API,这是一件好事。谢谢。 从戴尔笔记本电脑: Mixer: Direct Audio Device: DirectSound Playback [Primary Sound Driver] Mixer: Direct Audio Device: DirectSound Playb

  • 如何在打印的字符串周围添加“”引号?

    因为双引号 分隔 字符串值,所以您自然必须对它们进行转义以编写文字双引号,但是您可以这样做, 而不必 像这样转义: System.out.println'"' + s + '"'; 此处,双引号字符(")已被编码为char值。我发现这种样式比“笨拙”的反斜杠方法更容易阅读。但是,这种方

  • JDBC-语句,PreparedStatement,CallableStatement和缓存

    声明与PreparedStatement 使用PreparedStatement可以提高性能,但它取决于数据库。 使用PreparedStatement可以避免SQL注入。PreparedStatement如何避免或阻止SQL注入? 使用setInt,setString和prepareStatement更好地进行类型检查

  • 如何从Servlet访问托管bean和会话bean

    JSF使用托管bean名称作为键,将会话范围的托管bean存储为会话属性。因此,以下内容应该可以工作(假设JSF在会话中之前已经创建了bean): MyBean myBean = MyBean request.getSession.getAttribute"myBean"; 就是说,我觉得您在寻找错误的解决方案。您也可以按照以下步骤操作:

  • Java“ for”语句实现可防止垃圾收集

    增强的for所述 ,javac正在生成综合变量,因此对于如下代码: void fooString[] data { for String s : data; } javac大约生成: for String[] arr$ = data, len$ = arr$.length, i$ = 0;

  • 在每个请求中都会重新创建复合组件中的支持Bean

    这里有一个主要的误解。那不是支持豆。这是一个支持组件。 JSF UI组件实例不在视图范围内,而是在请求范围内。它们会在渲染响应结束时销毁(将其状态保存到JSF视图状态之后),并在视图构建期间进行重新创建(并且它们的状态将从JSF视图状态恢复)。 您已将有状态属性分配为组件的实例变量。这是不对的。您应该将它们显式存储在JSF状态。正确的方法是让getter和setter委托给a href="ht

  • 如何按字母顺序对字符串进行排序java

    Arrays.sort如果先将字符放入数组中,则可以使用进行此操作。(为了使用不区分大小写的自定义比较器,它必须是Character对象数组,而不是char基元。) put the characters into an array Character[] chars = new Character[str.length]; f

  • 与集合相等且可比

    似乎这在(粗体的)JavaDoc中有TreeSet很好的记录: 注意,如果要正确实现接口,则由一个集合(无论是否提供显式比较器)维护的顺序 必须与equals一致S

  • FileInputStream不适用于相对路径

    在一开始会使得绝对路径,而不是相对的。 尝试移除前导,因此请更换: InputStream is = new FileInputStream"filessomefile.txt"; 与: InputStream is = new FileInputStream

  • eclipse将Java代码样式设置存储到哪些文件?

    如果您尚未设置“项目特定设置”,则位于 workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.ui.prefs 如果您具有“项目特定设置”,则位于项目的“ .settings”目录中。 profile k

  • 为什么Java不会将int []自动装箱为Integer []

    区别在于int[]本身是Object,而是Integer[]对Integer对象的引用数组。 Arrays.asListT...

  • (Java / Android)计算2个日期之间的天数,并以特定格式显示结果

    * * Returns a string that describes the number of days * between dateOne and dateTwo. * public String getDateDiffStringDate dateOne, Date dateTwo { long timeOne = dateO

  • 使用Java使用openssl解密进行AES加密

    Java的SecretKeySpec使用密码ASCII直接字节密钥字节,而OpenSSL的-pass pass:...方法 导出 使用从密码键密钥导出函数,以密码转变成以安全的方式的关键。您可以尝试在Java中执行相同的密钥

  • 在OS X Java应用程序中处理自定义URL方案

    对于目标C,可以在这里找到答案:通过注册的URL方案启动OSX应用程序时,如何访问完整的URL? Java的解决方案是将ObjC代码重写为纯C,然后借助下的一组类将其转换为Java org.eclipse.swt.internal.cocoa.*。 作为ObjC到C转换的参考,我们需要Apple的a href="https:developer.apple.comlibrary

  • 将FileWriter的编码设置为UTF-8

    Java具有广泛的,内容丰富的文档。保留书签。遇到困难时,请先参考它。您会发现它经常有用。 在这种情况下,FileWriter的a href="http:d

  • 使用ThreadPoolExecutor,如何获取在线程池中运行的线程的名称?

    创建一个重写beforeExecute方法的ThreadPoolExecutor。 private final ThreadPoolExecutor executor = new ThreadPoolExecutor new ThreadPoolExecutor10, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueueRunnable>

  • 如果仅在类中重写hashCode()并在Set中使用它,会发生什么情况?

    James Large答案是错误的,或者是误导性的(部分错误也是如此)。我会解释。 如果两个对象根据其equals()方法相等,则它们还必须具有相同的哈希码。如果两个对象具有相同的哈希码,则它们也不必相等。 这是java.util.Object文档中的实际措辞: 如果根据equals(Object)方法两个对象相等,则在两个对象中的每个对象上

  • 如何在Java中自动裁剪图像白色边框?

    如果要使白色部分不可见,最好的方法是使用图像滤镜并使白色像素透明,@ PhiLho 在此处讨论了一些很好的示例,如果要调整图像大小以免边框没有白色颜色,您可以通过四个简单的循环来完成此操作,我为您编写的这个小方法可以解决问题,请注意,它仅裁剪图像的上部,其余部分可以编写, private Image getCroppedImageString address throws IOExce

  • Spring Boot Application-什么是任何其余API端点的默认超时时间或用于控制所有端点超时的简单配置

    我同意上述所有选项,并在我的Spring Boot应用程序中尝试了以下选项。现在工作正常。下面是作为Bean的代码示例。现在只需要到我需要的@Autowire RestTemplate任何地方java class。 @Bean public RestTemplate restTemplate

  • 初始化接口?

    诀窍是要意识到您不是在“创建”,“实例化”或“初始化”接口。您只是将变量定义为您知道实现该接口的对象。 你基本上是告诉其他程序员对这个代码,该方法的其余部分,你只对事实感兴趣的工作即myDoc是一个Doc(即,一些满足Doc接口)。这可以使编程变得更简单,因为IDE的自动完成功能现在只会向您显示此接口定义的方法,而不是a Simpl

  • Guava ForwardingList用法示例

    ForwardingList(后者a href="http:guava- libraries.googlecode.comsvntrunkjavadoccomgooglec

  • 用于Java的OAuth Google API无法模拟用户

    cPanel文档有点误导,因为它涉及启用使用者密钥,然后将域添加到Manage API Client Access屏幕。这似乎对gdata api有效,而不对新的Google Drive api有效。通过按照其他问题中的建议添加客户端ID并授予对Drive范围的访问权限,我现在可以模拟用户。

  • Universal-Image-Loader:错误的位图附加到ImageView

    对于ListViews,GridViews和其他在其适配器中用于视图重用的列表, 应调用.resetViewBeforeLoadingDisplayImageOptions以防止这种效果。 另外文档说: 只需配置一次即可初始化ImageLoader 你

  • 读取/写入xBASE(DBASE 3-5 / DBF)文件

    您可以尝试一下此库: http:dans-dbf-lib.sourceforge.net 它是开源(GPL)和纯Java。