技术文章类别

 所有技术文章

  • 使用Spring Security 3哈希密码

    以编程方式,您可以按照以下步骤进行操作: 在application- context.xml(在web.xml下的contextConfigLocation定义)文件中定义bean(此示例使用md5)。 bean class="org.springframework.security.authentication.enc

  • LinkedList:删除对象

    其他人提到有效点,通常这不是您如何remove从集合中获取对象。但是,在这种情况下,因为您break一旦退出循环就可以了remove。 但是,如果要在之后继续迭代remove,则需要使用迭代器。否则,您将获得ConcurrentModificationException,或更普遍的情况是未定义的行为。

  • 如何从多个文件收集spring属性以在单个bean上使用

    使用此表示法可以指定多个文件: bean id="rdbmPropertiesPlacholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" lazy-init="false" property name="locations" l

  • 将Spring Security与JPA一起使用

    基本上,您可能需要实现UserDetailsService自己。 因此,例如,您将拥有一个User实体,并且您的a href="http:

  • 如何在Java中打开和操作Word文档/模板?

    我知道距发布此问题已经很长时间了,我说我会在完成后发布解决方案。就是这样 希望有一天能对某人有所帮助。这是一个完整的工作类,您所要做的就是将其放入您的应用程序,并将TEMPLATE_DIRECTORY_ROOT目录和.docx模板放入您的根目录中。 用法很简单。您将占位符(键)放入.docx文件中,然后传递文件名和包含该文件对应键值对的Map。 请享用! im

  • GZIP压缩到字节数组

    问题是您没有关闭GZIPOutputStream。在关闭它之前,输出将是不完整的。 您只需要 在 读取字节数组 之前 将其关闭即可。您需要重新排列finally块以实现此目的。 import java.io.*; import java.util.zip.*; import java.nio.charset.

  • TYPE_INT_RGB和TYPE_INT_ARGB的格式

    的TYPE_INT_ARGB代表颜色为int(4个字节)用的24-31位,红色通道alpha通道在16-23,绿色在8-15和蓝色在0-7。 以相同的方式将TYPE_INT_RGBColor表示为int(4个字节)int的int TYPE_INT_ARGB,但将忽略Alpha通道(或24-31

  • C ++或Java中的类型转换和类型转换之间有什么区别?

    类型 转换 将变量引用的值(内存块)视为与声明该变量的类型不同的类型。 类型 转换 实际上是在对该值进行转换。 在许多语言中, 某些 强制转换(通常是数字强制转换)的确会导致转换(这会因语言而异),但大多数情况下只是“将X当作Y处理”。 像人类语言的大多数方面一样,不幸

  • Lambda只能与功能接口一起使用吗?

    否。没有办法“克服”这一问题。功能接口必须只有一种抽象方法。您的界面有两个: interface IntfT { public T get1T arg1; public T get2T arg1; } 注意:您不需要注释中提到的界面注释。但是,@FunctionalInterface如果您的接口不是有效的功能接

  • 用Java转换的懒类?

    类型擦除:泛型仅是一种语法功能,编译器将其删除(出于兼容性原因),并 在需要时 用强制转换代替。 在运行时,该方法C get不知道类型C(这就是为什么无法实例化的原因ne

  • lucene良好实践和线程安全

    IndexWriter,IndexReader并且根据api javadoc IndexSearcher 是 线程安全的: 注意: IndexSearcher 实例是完全线程安全的,这意味着多个线程可以同时调用其任何方法 注意: s

  • Maven,Proguard和组装问题

    这是对我有用的配置 plugin groupIdcom.pyx4megroupId artifactIdproguard-maven-pluginartifactId executions execution phase

  • FileWrite BufferedWriter和PrintWriter结合

    大概他们之所以使用a是FileWriter因为他们想写入文件。双方BufferedWriter并PrintWriter必须得到另一位作家写- 你需要 一些 最终目的地。 (我个人不喜欢,FileWriter因为它不允许您指定编码。我更喜欢使用FileOutputStreamco

  • Spring 3.1 Environment不适用于用户属性文件

    PropertySourcesPlaceholderConfigurer直接读取属性文件(就像在Spring 3.0中PropertyPlaceholderConfigurer所做的那样),它只是一个后处理器,不会改变在Spring上下文中使用属性的方式- 在这种情况下,属性仅可用作bean定义占位符。 使用Environment的是PropertySourcesPlaceholderConfig

  • 请解释Java内存模型中阐明的初始化安全性

    初始化安全性允许对象在其完全构造(初始化)状态下被外部线程看到。前提是该对象不应过早发布。在其构造函数中。一旦确保这一点,JMM就要求对声明为的字段进行某些操作final。首先,final保证所有对象字段都可以由处于完全初始化状态的外部线程看到。这听起来并不简单。 考虑一个类: class A { List list; A {

  • 如果名称空间声明位于SOAP信封上,如何使用JAXB解组SOAP响应?

    您可以使用StAX解析器来解析SOAP消息,然后将其前进XMLStreamReader到getNumberResponse元素,并使用带有类参数的unmarshal方法。Java SE 6中包含一个StAX解析器,但是您需要为Java SE 5下载一个StAX解析器。Woodstox是流行的S

  • 向连接到Wi-Fi网络的所有设备发送通知

    没有标准的方法可以向连接到Wi-Fi网络的所有设备发送(推送)消息。如果有办法的话,很容易找到规范并指出如何完成。不幸的是,很难证明没有东西。 如您所清楚认识到的,如果在您的设备上运行的浏览器或运行的应用程序中打开了您控制的适当页面,则可以这样做。您可以开发一个框架,用户必须登录该框架并保持页面打开状态,或者应用程序正在运行,才能连接到Wi- Fi。 假设您控制了路由器,则实际上可以编写代码来拦

  • Java中的无参数构造函数和默认构造函数之间的区别

    该default构造函数是一个无参数的构造函数,代表您的Java编译器插入; 它包含default对super;(not supper)的调用,这是默认行为。如果实现任何构造函数,则不再收到默认的构造函数。 a href="http:docs.oracle.comjavasespecsjls

  • 新的Runnable()但没有新线程?

    Runnable通常用于提供线程应运行的代码,但Runnable它本身与线程无关。它只是一个带有run方法的对象。 在Android中,Handler该类可用于要求框架稍后在 同一 线程上而不是在另一个线程上运行某些代码。 Runnable用于提供稍后应运行的代码。br

  • 增量读取大文件的最快方法

    假设您需要一次将整个文件读入内存(就像您当前正在做的那样),那么读取较小的块和NIO都不会对您有所帮助。 实际上,您最好读取较大的块-常规IO代码会自动为您完成这些工作。 您的NIO代码目前较慢,因为您一次只能读取一个字节(使用buffer.get;)。 如果要分块处理(例如,在流之间传输),这是在没有NIO的情况下进行处理的标准方法: c

  • Spring JPA(休眠)没有类型为javax.persistence.EntityManagerFactory的合格Bean

    您想要EntityManager注入,但在字段上没有任何注入注释,无论如何,“ factory”是错误的限定词。使用注释您的字段@PersistenceContext,unitName如果需要,使用来区分多个持久性单元。 编辑问题的答案: 不包含XML文件,因为您从Application

  • 解析化学式

    假设正确将其大写,则方程中的每个符号都与该正则表达式匹配: [A-Z][a-z]*\d* (对于受到化学攻击的元素,元素的符号始终为大写字母,后跟可选的小写字母或两个小写字母,例如汞的汞) 您可以像这样捕获元素符号和组中的数字: [A-Z][a-z]*\d* 所以是的,从理论上讲

  • 在Java中从double转换为float

    根据 Java语言规范的 第5.1.3节: 从double到float的原始转换变窄由IEEE 754舍入规则(第4.2.4节)控制。这种转换可能会失去精度,但也会失去范围,导致非零双精度浮

  • 如果JVM在执行GC时一直在移动对象,那么它如何解析引用?

    如果您真的对垃圾收集器的工作方式感兴趣,我可以推荐理查德·琼斯的两本有关垃圾收集的书。链接参考在这里。这不是专门关于Java垃圾收集的。 (我有一本旧书的副本,而新书在我的购物清单上。) 这是复制收集器如何处理此问题的简单版本。 复制收集器通

  • 注释处理器,生成编译器错误

    你可能想要processingEnv.getMessager.printMessageKind.ERROR, "method wasn't public and final", element。 Messager

  • 休眠查询以选择多个值

    这可以。您唯一需要了解的是它将返回Object []如下列表: Query q = session.createQuery"select e.id, e.firstName from Employee e"; ListObject[] employees= ListObject[]q.list; forObjec

  • 创建两个线程,一个显示奇数,其他显示偶数

    我只是更改一些细节(无需在此处使用模运算符…): public class Mythread { public static void mainString[] args { Runnable r = new Runnable1; Thread t = new Threadr; Runnable r2 = new Runnable2;

  • 为什么在垃圾收集中使长寿命的对象有所作为?

    大多数Java应用程序都会创建Java对象,然后很快将其丢弃。您可以在方法中创建一些对象,然后一旦退出该方法,所有对象都会死亡。大多数应用程序都是以这种方式运行的,并且大多数人倾向于以这种方式编写其应用程序的代码。Java堆大致分为三部分,永久的,老的(长寿)一代和年轻的(短寿)一代。Young gen进一步细分为S1,S2和Eden。这些只是堆。 大多数对象都是在年轻一代中创建的。这里的想法是,由于对象的死亡率

  • 圆与矩形的交点面积

    给定2个交点: *圆内有 *0个顶点 :圆形线段的面积 XXXXX

  • Glassfish 3上可以使用Java 8吗?

    不,这将是不可能的(目前,稍后可能会出现解决方法)。 我用今天发布的最终Java 8 JDK尝试了Glassfish 3.1.1和Glassfish 3.1.2.2。它甚至没有启动服务器,引发了一些OSGI异常。 正如您对问题的评论所显示的,它甚至不适用于Glassfish 4.0的早期版本。 2015年更新: 看起来有一种方

  • 在Maven编译期间如何忽略Java Source目录?

    我最近从使用flakey maven-exec-plugin方法生成javadoc工具的原始源切换为使用lombok-maven-plugin 我的设定 中的所有来源 srcmainjava 生成的源进入 targetgenerated-sourcesdelombok 最初,

  • Java集合/地图套用方法是否等效?

    对于Java 8的lambda,这是一个衬里: map.replaceAllk, v - v.trim; 出于历史的考虑,这是一个没有lambda的版本: public void trimValuesMap?, String map { for Map.Entry?, String

  • 用Java增长数组的最有效内存方式?

    有没有比创建一个新数组并复制所有值更有效的方法来增长大型数组?喜欢,将其与新的连接起来吗? 不会。而且可能没有语言可以保证在不复制的情况下总是能够增长数组。为数组分配空间并执行其他操作后,很可能在数组结尾之后立即在内存中保留其他对象。到那时,从根本上讲,如果不复制数组就无法增长数组。 将固定大小的数组存储在另一个数组

  • 如何更改SlidingTabLayout的文本颜色?

    1)首先在res( res color)下创建color文件夹 2)在 res color文件夹下创建xml文件selector.xml ?xml version="1.0" encoding="utf-8"? selector xmlns:android="http:schemas.android.comapkresandroid"

  • 管道的蚂蚁运行命令

    管道(|)仅可用于Shell脚本。您将其作为参数传递给Java进程。 因此,您需要执行一个Shell脚本。您可以通过执行(说)bash -c并将上面的内容作为shell语句传递来做到这一点(尽管是 内联的 ,您可以编写一个单独的脚本文件,但这似乎有点麻烦) exec executable="bash" <

  • 如何从uri确定文件的文件扩展名

    首先,我想确保您也知道无法找到URI链接的文件类型,因为以符号结尾的链接.jpg可能会让您访问.exe文件(由于符号链接和.htaccess,URL尤其如此)文件),因此,如果您要限制允许的文件类型,那么从URI 获取 真正的 扩展名并不是一个坚决的解决方案。因此,我假设您只是想知道文件基于URI的扩展名,即使它不是完全值得信赖的。 您可以使用

  • 编译Java时使用多个内核/处理器

    我不知道有什么方法可以告诉蚂蚁本身有效利用多个内核。但是您可以告诉ant使用Eclipse Compiler

  • 检查数字是否为泛数字的最快算法?

    C#,17毫秒,如果您真的要 检查 。 class Program { static bool IsPandigitalint n { int digits = 0; int count = 0; int tmp; for ; n 0; n = 10, ++count { if tm

  • 如何查找字符串数组的长度?

    由于car尚未初始化,因此没有长度,其值为null。但是,编译器甚至不允许您按 原样 编译该代码,从而引发以下错误: 变量car可能尚未初始化 。 您需要先对其进行初始化,然后才能使用.length: String car[] = new String

  • 类加载器问题-如何确定要加载的库版本(jar文件)

    如果您恰好在使用JBoss,则有一个MBean(类加载器存储库iirc),您可以在其中请求已加载特定类的所有类加载器。 如果所有其他方法均失败,则始终存在“ java -verbose:class”,它将为每个要加载的类文件打印jar的位置。