技术文章类别

 所有技术文章

  • 从条形码扫描器内部获取输入而无需文本框

    由于条形码扫描仪只是一种在读取每个条形码后发送密钥代码和ENTER的设备,因此我将使用密钥侦听器。 final Frame frame = new Frame; frame.setVisibletrue; frame.addKeyListenernew KeyAdapter { @Override public void keyReleasedKeyEvent e {

  • Java字符串-是否获取(但不包括)两个正则表达式之间的所有内容?

    编写这样的正则表达式: "regex1.*regex2" …并从匹配器中拉出中间组(以处理您要使用Pattern.DOTALL的模式中的换行符)。 使用您的示例,我们可

  • JavaFX:在运行时更改应用程序语言

    你可以做这样的事情。正如您在回答中一样,您可能希望将其实现为单例,或者使用DI框架在需要的地方注入单个实例: public class ObservableResourceFactory { private ObjectPropertyResourceBundle resources = new SimpleObjectProperty; public Obj

  • Java X509证书解析和验证

    为了将来参考,我将发布我自己问题的答案(部分至少) OCSP和CRL检查已经在标准Java实现中实现,并且不需要自定义代码或其他提供程序(BC,..)。默认情况下禁用它们。 为此,您必须至少设置两个参数: PKIXParameters or PKIXParameterBuilder params.setRevocationEnabledtrue; Security.se

  • MyBatis插入列表值

    Mapper.xml ?xml version="1.0" encoding="UTF-8"? !DOCTYPE mapper PUBLIC "-mybatis.orgDTD Mapper 3.0EN" "http:mybatis.orgdtdmybatis-3-mapper.dtd" mapper namespace="com.xxxx.sample

  • 图像调整大小质量(Java)

    我已经尝试了所有这些方法-包括这里的技巧,我可以说,最好将ImageMagick与任何接口配合使用,Java的映像库在这方面并不容易。您需要支持多种格式和算法才能正确处理。

  • 在同一编译过程中注释预处理和类生成的Maven示例?

    在网上浏览了大量现有文档后,我想到了以下内容: 需要澄清的是: 为了处理给定项目P上的注释,您首先需要在单独的库S中编译的注释处理器。P应该依赖于S。 在Java 5中实现注释处理与在Java 6中实现绝对不同。 Java 5依赖于apt的单独执行。a href="http:download.oracle

  • Oracle / JDBC:以ISO 8601格式检索TIMESTAMP WITH TIME ZONE值

    由于似乎没有神奇的方法可以做到这一点,因此最简单,最短的方法就是#1。具体来说,这就是所需的所有代码: convert Oracle's hard-coded: '2013-01-02 03:04:05.060708 +9:00' to properly formatted ISO 8601: '2013-01-02T03:04:05.060708 +9:00' String iso = rs.get

  • 在Java中保持宽高比的同时调整图像大小

    您可以查看perils-of-image- getscaledinstance.html,它解释了为什么getScaledInstance应避免在某些答案中使用的原因。 本

  • 如何设计全局分布式事务(无数据库)?JTA可以用于无数据库事务吗?

    没错,由于JTA API提供了XA事务管理器,因此需要两阶段提交支持。 据我所知,Spring本身并不提供事务管理器实现。该JtaTransactionManager中唯一

  • 在Java中拆分并重新加入二进制文件

    我只能在代码中发现2个潜在错误: int fileSize = int ifile.length; 当文件超过2GB时,以上操作将失败,因为int不能容纳更多文件。 newName = fname + ".part" + Integer.toStringnChunks - 1;

  • Jackson反序列化错误处理

    感谢Jackson Jackson的Tatu,我成功解决了我的问题。 对于在Jackson中处理的每个原始类型,我必须

  • Java多线程文件下载性能

    要回答我自己的问题: CPU使用率增加是由于while {}循环正在等待线程完成。事实证明,awaitTermination等待Executor完成是更好的选择: (以及3和4)这似乎是野兽的本质。最后,我通过仔细同步每个下载一块数据的不同线程(好了,特别是将这些块写回到磁盘上)来实现了我想做的事情。

  • 服务层中的已检查异常与未检查异常

    尽管我同意未经检查的异常可以使API更加方便的观点,但我认为这并不是最重要的好处。而是这样的: 抛出未经检查的异常可以帮助您避免严重的错误。 这就是为什么。鉴于十个开发人员被迫处理受检查的异常,您将获得二十种不同的策略来处理它们,其中许多是完全不合适的。以下是一些较常见的错误方法: 吞。 捕获异常并完全忽略它

  • 使用RestTemplate的Spring 4.0.0基本身份验证

    为什么不检查Spring 4 API以查看哪些类实现了所需的接口,即ClientHttpRequestFactory?

  • 编写Java FTP服务器

    让我使用非常有用的 Apache FtpServer 为您编写一个基本示例: FtpServerFactory serverFactory = new FtpServerFactory; ListenerFactory factory = new ListenerFactory; factory.setPort1234; set the port of the l

  • 如何在JVM HotSpot中使用-XX:+ UnlockDiagnosticVMOptions -XX:CompileCommand = print选项

    这些说明适用于Linux(Ubuntu 10.04.4 LTS),但应适用于您的OS。在下载Oracle JDK 7u3并适当设置了您JAVA_HOME和PATH环境变量之后,执行以

  • 带有Retrofit 2的多个转换器

    如果类型不匹配null,Converter.Factory则需要从中返回。将Class?周围保持在一个字段中进行比较。 @Override public ConverterResponseBody, ? fromResponseBodyType type, Annotation[] annotation

  • Hibernate本机SQL查询检索实体和集合

    HHH-2831使用addJoin的本机SQL查询或返回对象数组而不是单个实体 此行为是由一个已知​​的错误引起的。h,应该更努力地搜寻!

  • 如何以编程方式创建具有注入属性的bean定义?

    用途RuntimeBeanReference: values.addPropertyValue"beanProperty", new RuntimeBeanReference"beanName";

  • jdbcTemplate.queryForList(sql,object,classType)的返回类型

    为了将查询的结果集映射到特定的Java类,最好使用RowMapper将结果集中的列转换为对象实例(假设您对在其他地方使用该对象感兴趣)。 有关如何使用行映射器的信息,请参见第12.2.1.1节“使用JDBC进行a href="http:static.sprin

  • 微服务中的会话管理

    让我分享我的看法。 首先,如果您可以使应用程序保持无状态,则请务必采取以下措施:就性能和可伸缩性而言,这将是最佳的解决方案。 现在,如果不可能,那么您应该维护一些分布式会话管理层。 负责身份验证的网关可以生成一些唯一的会话标识符,以后可以将其用作密钥。该密钥可以传播到所有微服务,并且可以是API或其他内容的一部分。 为了访问会话,微服务可以通过键“获取”价值并使用它。p

  • 从Java启动Windows服务

    您可以使用字符串数组来制定命令提示符脚本来启动,停止和检查服务状态: start service String[] script = {"cmd.exe", "c", "sc", "start", SERVICE_NAME}; stop service String[] script = {"cmd.exe", "c", "sc", "stop", SERVICE_NAME}; chec

  • 如何从Java中的URL计算文件大小

    使用HEAD请求,您可以执行以下操作: private static int getFileSizeURL url { URLConnection conn = null; try { conn = url.openConnection; ifconn instanceof HttpURLConnection { HttpUR

  • Android记录在数据库中存在()?

    考虑那mDb是你的SqlLiteDatabase课 public boolean ExistsString _id { Cursor cursor = mDb.rawQuery"select 1 from yourTable where _id=%s", new String[] { _id }; boolean exist

  • 如何以编程方式忘记android中的无线网络?

    的WifiManager源代码,有这样的方法: * * Delete the network in the supplicant config. * * This function is used instead of a sequence of removeNetwork * and saveConfiguration. * * @param config the

  • 如何在Java中的构建时使用注释动态生成代码?

    看看Lombok项目。当您编写时,它会按照您的要求生成代码: public class MyClass { @Getter @Setter private String alias; } 如果您需要的话,它还会做更多的事情。我知道您不要求任何外部工具,但您基本上会重新创建它。 b

  • 在Java中获得文本用户界面(类似ncurses)功能的最佳方法是什么?

    自2010年以来,有Lanterna: Lanterna是一个Java库,允许您在纯文本环境中编写简单的半图形用户界面,这与C库curses非常相似,但功能更多。Lanterna支持与xterm兼容的终端和终端仿真器,例如konsole,gnome- terminal,putty,xterm等。Lanterna的主要优点之一是它不依赖于任何本机库,而是在纯Java中运行100%。

  • Play 2.3.x中的身份验证

    已经存在许多涵盖许多用例的身份验证库。最好使用社区中已建立的东西。 安全社交 -这似乎最受欢迎,有大量文档。(对于Java和Scala) Deadbolt 2-该git repo链接了许多实现示例。似乎更适合Java。b

  • 如何在Java中的过滤器链中跳过过滤器

    您可以在请求中设置一个属性,然后在第二个过滤器中对其进行检查。 public class FirstFilter implements Filter { ... public void doFilterServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain throws

  • Java .class文件的最大大小是多少?

    JVM规范对类文件没有限制,并且由于类文件是可扩展的容器,支持任意的自定义属性,因此您甚至可以根据需要将其最大化。 每个a href="https:docs.oracle.comjavasespecsjvmsse8htmljvms-4.h

  • 使用Telegram API for Java Desktop App?

    本质上,您将必须在ex3ndr telegram-api存储库中GitHub上给出的代码中填写空白。如果您拥有构建的库Jar文件,并且该tl- api-v12.jar文件位于Eclipse项目的Java构建路径中,请查看README 的a href="https:github.comex3ndrtel

  • 在Grails中的哪里放置文本文件,以及如何获取路径

    Grails是一个Java Web应用程序,因此它将被编译成一个sigle文件.war,其中包含所有文件类 etc。大多数Web容器都会解压缩war,但没有任何保证,因此,File以文件形式访问此文件不是一个好主意。 顺便说一句,您可以将文件放入grails-appconf,在这种情况下,文件将放入co

  • C ++(stl)与Java中的迭代器在概念上有区别吗?

    是的,在概念上有很大的不同。C ++使用了不同的迭代器“类”。有些用于随机访问(不同于Java),有些用于前向访问(类似于Java)。尽管其他人也用于写数据(例如与一起使用transform)。 请参阅C ++文档中的迭代器概念: 输入迭代器

  • 由ResultSet支持的Java迭代器

    这是一个坏主意。这种方法要求连接一直保持打开状态,直到读取最后一行为止,并且在DAO层之外,您永远都不知道何时会发生连接,并且您似乎也保持结果集处于打开状态,并且在这种情况下可能会导致资源泄漏和应用程序崩溃连接超时。你不想那样。 正常JDBC的做法是,你购买Connection,Statement并ResultSet在 最短的str

  • GZIPInputStream转换为String

    要从InputStream解码字节,可以使用InputStreamReader。然后,B

  • JUnit:仅使用静态方法测试助手类

    有几种解决方案: 您可以添加一个公共构造函数并从测试中调用它。尽管这没有任何意义,但也不会造成太大的伤害。 创建一个虚拟静态实例(您可以在此处调用私有构造函数)。丑陋,但您可以为该字段命名以传达您的意图(这JUST_TO_SILENCE_COBERTURA是一个好名字)。 您可以让您的测试 e

  • 如何在Java中模拟单个方法

    使用Mockito's间谍机制: A a = new A; A aSpy = Mockito.spya; Mockito.whenaSpy.method1.thenReturn5l; 间谍的使用将为未存根的任何方法调用包装对象的默认行为。 a href="http:javadoc.iopageorg.m

  • 配置Jackson以反序列化单引号(无效)JSON

    它不是有效的JSON,但是您可以告诉Jackson允许它。这是如何做。 String x = "{'candidateId':'k','candEducationId':1,'activitiesSocieties':'Activities for cand1'}"; ObjectMapper mapper = new ObjectMapper; mapper.configureJsonParser.Fea

  • 如何通过在gradle命令行上传递版本属性来设置project.version?

    您无法从命令行覆盖现有项目属性,请在此处查看。因此,请尝试将版本变量重命名为不同于版本的变量,并-P在命令前使用flag进行设置,例如: gradle -PprojVersion=10.2.10