技术文章类别

 所有技术文章

  • 使用预定义值填充哈希图(java)

    我将在设置HashMap时进行初始化 例如 private static final MapString, String m = new HashMapString, String {{ put"RC", "T1"; put"AC", "T1"; }}; 然后,您将确保在您的代码中一起设置了所有内容

  • 在@Table(name =“ tableName”)中-将“ tableName”设为JPA中的变量

    您可以这样做,如果您担心的话,我想。 从未尝试过,这只是一个疯狂的猜测 。但这是通常的做法-我遵循​​“命名查询”;是的,这完全是另一回事。 @Entity @Tablename = Database.tableName public class Database implements Serializable { public static final String

  • Java InputStream编码/字符集

    如果要保留 字节 值,最好不要使用Reader。要以文本表示任意二进制数据并将其稍后转换回二进制数据,应使用base16或base64编码。 但是,要说明发生了什么,请在调用时s.getBytes使用 默认 字符编码,该编码显然不包括Unicode字符U + 00E5。 如果您打电话到s.getBytes"ISO-8859-1"

  • 仅在适合视口的情况下启用JTable的自动调整大小

    doLayout当您在水平滚动条不可见的情况下尝试增加列的大小时,默认逻辑似乎不起作用,因此我摆脱了默认逻辑,只接受了列的宽度,而没有尝试对其进行调整。 import javax.swing.*; import javax.swing.table.*; public class TestTable { private static Object[][] data = new

  • cvc-complex-type.2.4.c:匹配的通配符很严格,但是找不到元素“ mvc:annotation-driven”错误的声明

    你有这个: xmlns:mvc="http:www.springframework.orgschemamvc" 但您在这里没有提及它: xsi:schemaLocation=" http:www.springframework.orgschemabeans http:www.springframework.org

  • Java,Unicode,UTF-8和Windows命令提示符

    代码页65001损坏。在65001下运行时,MS C运行时stdio函数返回的字节读取和写入的计数不正确,这会导致类似这样的奇怪行为。 它不是可修复的-您不能从使用C stdlib字节I O函数(包括Java)的应用程序中可靠地使用Windows控制台进行Unicode I O。您可以通过调用Win32 API函数WriteConsoleW来破解它,以将Unicode内容直接发送到控制台,但是随后您就不得

  • 使用Java 8在文件中查找模式

    我希望有更多类似的东西,以避免两次匹配模式: Pattern p = Pattern.compile"name: '[^']*'"; lines.mapp::matcher .filterMatcher::matches .findFirst .ifPresentmatcher - System.out.printlnmatcher.group1

  • Spring Boot:@Value始终返回null

    您不能在静态变量上使用@Value。您必须将其标记为非静态,或者在此处查看将值注入静态变量的方法: h

  • JScrollPane和JList自动滚动

    添加新邮件时,使用尺寸与邮件窗格的首选大小相同scrollRectToVisible的a href="http:java.sun.comjavase6docsapi

  • 为什么不能重新启动Java Thread对象?

    我知道不可能重新启动使用的Java Thread对象,但是我找不到为什么不允许这样做的解释。即使可以保证线程已完成(请参见下面的示例代码)。 我的看法是,线程可能直接绑定到实际的 本机 资源(出于效率或其他约束),而 本机 资源可以在某些操作系统中重新启动,而在其他操作系统中则不能重新启动。如果Java语言的设计者允许重新

  • 如何获得对失败的Java File对象调用的有意义的消息(mkdir,重命名,删除)

    您可以调用本机方法,并以这种方式获取正确的错误代码。例如,c函数 mkdir具有错误代码,例如EEXIST和ENOSPC。您可以使用JNA轻松访问这些本机函数。如果支持* nix和Windows,则需要创建此代码的两

  • 在Java中使用2个小数位打印整数

    int x = 100; DecimalFormat df = new DecimalFormat"#.00"; Set your desired format here. System.out.printlndf.formatx100.0;

  • SELECT count(*)FROM表上的Android SQLite Cursor超出范围异常

    你错过了 mcursor.moveToFirst; public void count{ SQLiteDatabase db = table.getWritableDatabase; String count = "SELECT count* FROM table"; Cursor mcursor = db.rawQuerycount, null; mcurs

  • Java和Tomcat 7的基本数据库连接池

    这是错误的方法。 Tomcat已经有一个连接池,您可以通过目录context.xml中的进行配置和设置,而无需任何代码conf。 在这里定义它之后,您要做的就是在代码中查找JNDI DataSource。对所有内容进行硬编码(并重新发明轮子)是一个非常糟糕的主意。 要了解如何配置JNDI数据源,请查看手册:a href="http:to

  • 使用ZipFileSystem压缩大型文件夹会导致OutOfMemoryError

    我查看了ZipFileSystem.java,我相信找到了内存消耗的来源。默认情况下,该实现将ByteArrayOutputStream用作压缩文件的缓冲区,这意味着它受分配给JVM的内存量的限制。 我们可以使用一个(未记录的)环境变量来使实现使用临时文件("useTempFile")。它是这样的: MapString, Object&

  • break语句是跳出循环还是仅跳出if语句?

    那将打破for循环。实际上,break只有在谈论时才有意义loops,因为它们从根本上打破了loop,而continue只有到下一个了iteration。

  • 修改传递给方法的对象的最佳实践是什么

    简单的答案 如其他答案所述,您可以简单地调用setter方法。 更多的哲学答案 通常,在除对象创建范围之外的范围内对对象进行突变可能很危险: a href="http:en.wikipedia.orgwikiFunctional

  • Maven:如何在Eclipse中包含jar,而这些jar在存储库中不可用?

    在公共Maven存储库中找不到所有库,例如您自己的库或专有库。无论如何,首先您可以搜索Maven信息库,也许其中一些。 如果它们确实不存在,并且您不想安装Nexus或Artifact

  • 为什么Math.pow(x,y)算作Double?

    您必须这样做: int levelMeal = int 5*Math.pow2,level-1; ^ this is a cast 如您在a href="http:docs.oracle.comjavase7docsapijavalangMath.html#pow%28double,

  • 如何强制对super方法进行多态调用?

    如果派生类无法调用超类,这是引发异常的一种方法: public class Base { private boolean called; public Base { doesn't have to be the c'tor; works elsewhere as well called = false; init; if !calle

  • 同步功能如何在Java中工作?

    在后台,它使用两个操作码monitorenter和monitorexit字节码级别,它们在JVM全局级别上获取释放对象引用上的锁定。我强烈建议您阅读Java虚拟机如何执行线程同步。

  • 关闭挂钩与终结器方法

    有没有保证终结将 永远 运行。finalize当对象被垃圾回收时被调用。但是,程序运行时,垃圾收集器可能不会收集任何东西。 相反,当jvm正常退出时,将运行关闭挂钩。因此即使这也不是100%保证的,但也很接近。只有极少数情况下不运行关闭挂钩。 编辑 我查找了没有执行关闭挂钩的情况 关闭挂钩 em

  • 跟踪Java进程时出现很多SIGSEGV

    因为这是Java,所以这意味着您的JVM正在使用SIGSEGV。常见用途包括 空指针取消引用-JVM捕获SIGSEGV到地址0并将其转换为NullPointerExceptions 垃圾回收写入障碍-很少更改的页面被标记为只读,而SEGV捕获对它们的写入。这样,垃圾收集器不必一直重新扫描所有内存。

  • 模拟基于反射的呼叫

    您需要一个Method对象和一个Class对象。根据您的评论,Mockito无法模拟方法,因此您需要一个真正的方法。我还没有测试过,但是我相信这会起作用。代替: whenmockContext.getMethod.getName.thenReturn"someMethod"; whenmockContext.getMethod.getDeclaringClass.getName.t

  • 编译后的Java 8 lambda表达式向后兼容Java运行时的早期版本吗?

    通常,Javac编译器不可能使用高于目标JVM级别的源级别。因此答案是否定的。

  • 查找文件存储的目录

    在找到更好的解决方案之前,请先做以下临时工作: public Path getRootPathFileStore fs throws IOException { Path media = Paths.get"media"; if media.isAbsolute Files.existsmedia { Linux try Dire

  • Java 8默认方法与抽象类中的非抽象方法

    如果抽象子类的具体子类被super()覆盖,则抽象类中的非抽象方法将被调用。因此,存在多种可能性。如果不重写method,则将执行超类方法。如果我们在具体的子类方法中使用super(),则将执行被超类方法覆盖的方法。 Java 8接口的默认方法完全不同。它为开发人员提供了选择是否在实现类中实现该方法的选择。如果未实现该功能,则 仅 会执行默认方法。 可能的用例:

  • 在Eclipse中的单独JVM中运行每个JUnit测试?

    如果在Eclipse中使用Ant,则可以将JUnit任务设置为为每个测试派生一个新的JVM进程,以提供隔离。 http:ant.apache.orgmanualTasksjunit.html

  • Java克隆抽象对象

    您可以尝试使用反射: public abstract class AClonable implements Cloneable{ private String val; public AClonable{ } public AClonableString s{ val=s; } public String toString{ return val; } @Override

  • 如何删除字符串中的方括号字符(java)

    要删除 _ 所有标点符号_ ,包括所有方括号,大括号和方括号…,按问题是: String test = "watching tv at home"; test = test.replaceAll"\\p{P}","";

  • 如何创建播放heroku procfile?

    您需要在项目的根目录中创建一个名为Procfile的文件,对于Play,它应包含 web: play run --http.port=$PORT $PLAY_OPTS 然后,当您部署应用程序时,将在启动应用程序时由heroku设置$ PORT和$ PLAY_OPTS。

  • Android:如何获取用户的性别和年龄?

    您应该使用interface Person,您将拥有所有需要了解的有关用户的信息。(通过getGender和getBirthday(或ge

  • SSL Java java.io.IOException:无效的密钥库格式

    您的档案无效。您必须导入一个JKS密钥库文件,而不是txt文件。您必须使用keytool创建密钥库文件,然后导入该文件。

  • 通过JSch的SSH隧道

    SOCKSjsch上的代理设置允许您连接到远程端上 正在运行的 代理服务器。一个sshd在远程端将 不 被视为一个SOCKS代理。您需要做的是建立一个本地端口,该本地端口转发到您要隧道连接到的计算机上的ssh端口,然后使用api建立与此系统的辅助ssh连接。 我以您的示例为例,并对其进

  • 等待Java中的计时器完成

    您最好使用ScheduledExecutorService而不是Timer来安排您的定期任务。ScheduledExecutorService提供了一个shutdown()方法,该方法将执行所有待处理的任务。然后,您可以调用awaitTermi

  • Postgres异常:查询未返回任何结果。

    该代码非常适合我运行PostgreSQL 8.1及其驱动程序。也许它可以作为查找您的问题的模板。 您需要一个名为PERSON的表,其中包含PERSON_ID,FIRST_NAME和LAST_NAME列。我将PERSON_ID设置为自动递增的主键。 package persistence; import java.sql.*; import java.util.*; public class

  • 集合emptyList / singleton / singletonList / List / Set toArray

    T T[] toArrayT[] aCollection上的方法很奇怪,因为它试图同时实现两个目的。 首先,让我们看一下toArray。这将从集合中获取元素,并将其返回到中Object[]。也就是说,返回数组的组件类型始终为Object。这很有用,但不能满足其他几个用例: 1)如果可能

  • 向Gradle添加其他测试套件

    “集成” sourceSet尚未配置其编译和运行时类路径。这就是为什么它无法从您的主要源集中找到类的原因。您可以通过以下方式配置编译和运行时类路径: sourceSets { integTest { java.srcDir file'srcintegration-testjava' resources.srcDir file'srcintegration-tes

  • Android:从应用程序中的多个活动访问单个数据库?

    我认为内容提供者很复杂,如果您不与非您自己的活动共享,则不需要它。因此,我建议您首先使用单例类。然后,如果您有更多时间或需要它,请去内容提供商。 我已经成功地使用了一个单例达6个月,没有太多困难。(虽然我确实很小心地使其成为单例,但只有一个实例一次加载了数据) 辛格尔顿 优点:易于实施 优点:因为我使用了公共实例,所以可以轻松实现缓存,从而使应用程序不

  • Android / Java正则表达式从子字符串中删除多余的零

    更新测试用例答案 使用以下正则表达式: String rx = "-?0+\\.0+\\b|\\.0+\\b|\\b0+?=\\.\\d*[1-9]|\\b0+?=[1-9]\\d*\\.|\\.\\d*?0+\\b"; 并替换为$1$2。参见a href="https:regex101.comrtS8