技术文章类别

 所有技术文章

  • 什么是Java的最佳安装工具?

    在MS Windows中,NSIS很棒,它是免费的,并且OSS 参考:具有自动JRE安装的Java启动器 div

  • 扩展Java ArrayList

    该答案中的任何内容均不阻止扩展ArrayList;出现语法问题。存在类扩展,因此我们可以重用代码。 扩展类的通常反对意见是“赞成继承而不是继承”的讨论。扩展并非总是首选的机制,但它取决于您的实际工作。 根据要求编辑组成示例。 c

  • 没有方法的接口

    为什么Java引入一些没有定义方法的接口? 这称为标记或标记接口。这些不用于任何用途或操作。这些方法用于标记或标记类。这样就可以确定someclass是否是这些类的子级。 关于第二个

  • 为什么软件包名称通常以“ com”开头

    这只是一个名称空间定义,以避免类名的冲突。这com.domain.package.Class是已建立的Java约定,其中名称空间相反由公司域限定。

  • toString实现的最佳标准样式是什么?

    就我个人而言,我发现混合使用它[]并{}不太容易立即获得层次结构的视图。 我喜欢这种格式(并且已经在很多地方看到它使用过): SimpleClassName[prop1=value, prop2=value] SimpleClassName[prop1=value, prop2=NestedObject[prop3=value]] code

  • 为什么Java.lang.Object不实现可序列化接口?

    可序列化类的所有子类型本身都是可序列化的。 换句话说:您曾经创建,曾经或将要创建的 所有 类都可以序列化。transient仅排除字段,不包括整个类。 DataSource如果此特定DataSource实现的创建者忘记创建此类字段,则这是

  • 如何给可调用线程命名?

    您可以使用重载方法: java.util.concurrent.Executors.newCachedThreadPoolThreadFactory 这可以让您通过 java.util.concurrent.ThreadFactory 应该允许您通过以下方式设置线程的名称java.util

  • 如何在Java中居中Graphics.drawString()?

    我用这个问题的答案。 我使用的代码如下所示: ** * Draw a String centered in the middle of a Rectangle. * * @param g The Graphics instance. * @param text The String to draw. * @param rect The Rectangle to center the

  • 如何接受JNDI / LDAP连接的自签名证书?

    根据JNDI文档,似乎可以设置自定义 SSLSocketFactory a href="http:download.oracle.comjavase1.5.0docsguidejndijndi-l

  • “ Throws”有什么作用?它有什么帮助?

    您可以使用和如您所说 在 方法 内 管理异常。在这种情况下,您无需使用。例如:try``catch``throws public void myMethod { try { * Code that might throw an exception * } catch SpaceInvadersException excep

  • 在Java 8中使用分隔符连接字符串值以处理null和空字符串?

    String joined = Stream.ofval1, val2, val3, val4 .filters - s != null !s.isEmpty .collectCollectors.joining“,”;

  • 如何使用Java API使用“喜欢”查询mongodb?

    您需要传递一个JavaRegEx实例(java.util.regex.Pattern): BasicDBObject q = new BasicDBObject; q.put"name", java.util.regex.Patte

  • Java使用哪种编码使用UTF-8或UTF-16?

    人物是人类文化中的图形实体。当计算机需要处理文本时,它将使用这些字符的字节 表示形式 。所使用的确切表示形式称为 编码 。 有许多编码可以表示相同的字符-通过Unicode字符集,或通过其他字符集(例如各种ISO-8859编码或JIS X 0208)。 在内部,Java使用UTF-16。这意味着每个字符可以由两个字节的一个或两个序列表示。您所使用的字符最糟的是

  • 为什么String switch语句不支持null大小写?

    正如damryfbfnetsi 在评论中指出的那样,JLS§14.11具有以下注释: 禁止将其null用作开关标签,以防止他人编写永远无法执行的代码。如果switch表达式是引用

  • 将SSL证书导入Eclipse

    可能您想在JRE的trustcacerts中导入一个“伪” SSL证书,以避免证书无效的问题。是不是 正如乔恩所说,您可以使用keytool来完成这项工作: keytool -import -alias provi

  • 为什么在Java中不使用const关键字?

    您能看到关闭请求的原因吗,Sun是否提供任何解释? 是。Sun在请求本身中提供了三个为什么不对a href="http:bugs.sun.combugdatabaseview_bug.do?bug_id=4211

  • 将列表作为varargs传入

    刚过去things.toArraynew Thing[things.size]。

  • 在MongoDB中实现数据版本控制的方法

    深入探讨这个问题时,第一个大问题是“您如何存储变更集”? 差吗? 完整记录副本? 我个人的方法是存储差异。因为这些差异的显示确实是一个特殊的动作,所以我会将差异放入另一个“历史”集合中。 我将使用其他集合来节省内存空间。通常,您不希望简单查询的完整历史记录。因此,通过将历史记录保留在对象之外,您还可以在查询该数据时将其保留在通常访问的内存之外。 为了使我的生活更

  • 如何在NetBeans项目产生的jar中的清单文件中设置Main类

    我将对建议的解决方案进行总结,并为我提供帮助! 阅读此错误报告后: NetBeans 6.8为Java库项目创建jar的方式中的错误。 在我的项目根目录中创建manifest.mf文件 编辑manifest.m

  • ----。jar Netbeans中的“无主要清单属性”

    希望清单文件中有问题。一些基本的检查可能会解决您的问题。 它应该在 META-INFMANIFEST.MF 内容应该有 Main-Class:com.MyCompany.App 如果使用任何IDE,则应该有一个将项目导出为的选项runnable jar,您可以利用该选项让IDE处理正确的清单。 ul

  • Mac OS X Mavericks中的多个Java安装

    指定Eclipse的JVM您可以在Eclipse使用指定的JDK版 本在eclipse.ini。这将解决启动Eclipse的问题。 -vm LibraryJavaJavaVirtualMachinesjdk1.7.0_51.jdkContents

  • Java WebApp:如何实现Web Bug(1x1像素)?

    简单的方法是将日期时间戳添加到JSP中的图像。这将防止图像被缓存。 % java.util.Date dt = new java.util.Date ; % img src="invisible.jpg?%=dt.getTime %" width="1" height="1" 在访问日志中,您可以计算jpg-输出应为

  • 为什么不使用Double或Float表示货币?

    因为浮点数和双精度数不能准确表示我们用于赚钱的基数10的倍数。这个问题不仅仅针对Java,而且还针对任何使用base 2浮点类型的编程语言。 在基数10中,您可以将10.25编写为1025 * 10 -2(整数乘以10的幂)。IEEE-754浮点数是不同的,但是考虑它们的一种非常简单的方法是乘以2的幂。例如,您可能正在查看164 * 2 -4(整数乘以2的幂),它也等于10.25。这不是数字在内存中的表示方式,但是数学含义是相同

  • 如何正确覆盖克隆方法?

    您绝对必须使用clone吗?大多数人都同意Javaclone是坏的。 Josh Bloch谈设计-复制构造函数与克隆 如果您已经阅读了我书中有关克隆的文章,尤其是您在两行之间阅读的话,您会知道我认为它clone已经被深深

  • websocket vs rest API实时数据?

    您所描述的最有效的操作是使用客户端和服务器之间的webSocket连接,只有在价格发生有意义的变化或达到最小值时,才让服务器通过webSocket将更新的价格信息直接发送给客户端。时间的流逝,价格已经改变。 这可能比让客户不断要求新的价格变化要有效得多,并且新信息到达客户的时间可能会更及时。 因此,如果您对新价格级别的信息以多快的速度到达客户端感兴趣,则webSocket可以更及时地将其到达客户端,因为服务器可

  • 对于推送通知,是否必须使用websocket?

    如果客户端是浏览器,则标准浏览器可以通过Ajax(例如http)请求或webSocket连接来连接服务器的仅有两种方式。因此,如果您希望客户从外界得到一些通知,则必须使用这两种机制之一。 HTTP请求是暂时的。 客户端请求服务器,服务器响应。HTTP请求非常适合客户端从服务器请求信息。它们不擅长服务器向客户端发送信息,因为通常客户端未连接。在某些黑客和变通办法中,客户端会按一定间隔“轮询”服务器,甚至服务器甚至会使用运行时间更长

  • 如何在Spring Boot中添加过滤器类?

    如果您要设置第三方过滤器,则可以使用FilterRegistrationBean。例如相当于web.xml filter filter-nameSomeFilterfilter-name filter-classcom.somecompany.SomeFilterfilter-class fil

  • ava中的构造函数重载-最佳实践

    虽然没有“官方指导方针”,但我遵循亲干原则。使重载构造函数尽可能简单,最简单的方法是它们只调用this(…)。只需要检查一次参数。 public class Simple { public Simple { thisnull; } public SimpleResource r { thisr, null; } publ

  • 如何判断封闭路径是否包含给定点?

    本android.graphics.Path类没有这样的方法。Canvas类确实具有可以设置为路径的剪切区域,无法针对某个点对其进行测试。您可以尝试Canvas.quickReject,针对单点矩形(或1x1Rect)进行测试。我不知道这是否真的会检查路径还是仅检查封闭的矩形。 Region类显然只跟踪包含的矩形。 您可以考虑将每个区域绘制到一个8位的alpha层位图中,并在每个区域中Path填入自己的“颜色”

  • 如何在Java中将字节大小转换为人类可读的格式?

    有趣的事实:此处发布的原始代码段是有史以来复制最多的Java代码段,并且存在缺陷。它是固定的,但变得混乱。 本文全文:有史以来复制最多的Stack Overflow片段存在缺陷! 来源:a hre

  • 如何使用Java 5获取主机的mac地址?

    Java 5中的标准方法是启动一个本机进程来运行ipconfig或ifconfig解析OutputStream以获得您的答案。 例如: private String getMacAddress throws IOException { String command = “ipconfig all”; Process pid = Runtime.getRuntime.ex

  • 为Java音频应用程序调整GC

    您提供的日志太小,无法提供真实的分析结果,但它说,由于旧发电机已基本满,它花了200毫秒完成了很少的时间。这意味着您的堆太小或发生内存泄漏。在这种情况下,您没有太多可以调整GC算法的操作。因此,本回复的其余部分是关于如何在消除内存泄漏或拥有更大堆之后如何从应用程序中获取更多信息和或如何调整GC。 在很大程度上,低停顿意味着您将竭尽所能将这些收藏仅保留为年轻收藏。 您确实确实需要在开始和结束编写时准确记录日志,

  • Java CMS GC行为

    使用CMS时,您不能仅仅忽略幸存者空间。CMS不是紧凑的收集器,这意味着如果您(或JVM)错误地确定了使用期限阈值,则您将缓慢地将对象放空到使用期限,这将增加使用期限片段的比率,这将延长强制执行CMS的时间,因为没有足够的连续可用空间来处理从幸存者空间升为保有权的提升,这将强制执行完整的gc周期而没有提前警告,因此这是1 STW暂停中的全部。这需要多长时间取决于堆的大小,但很可能会发生一件事,它将比正常的eden集合长几个数量级。

  • 绿线与非绿线

    维基百科文章“绿色线程”对此进行了很好的解释。 绿色线程是“用户级线程”。它们是由“普通”用户级进程而不是内核调度的。因此,它们可用于在不提供该功能的平台上模拟多线程。 特别是在Java上下文中,绿色线程已成为过去。请参见《JDK 1.1 for Solaris开发人员指南》。(这是关于Solaris的,但是不再使用绿色线程的事实对于通常的平台是有效的)。 从版本1.3开始,在Linux的Su

  • Spring Security:使用特殊的URL参数忽略登录页面

    在Spring Security中,您要涵盖的场景在参考手册的“预身份验证场景”一章中进行了描述。 基本上,您必须: 通过扩展AbstractPreAuthenticatedProcessingFilter或选择其实现之一来创建自定义过滤器, 注册自定义过滤器custom-filter position="PRE_AUTH_FILT

  • 从集合中获取并行流

    基本上,默认实现Collection.parallelStream不会创建并行流。实现看起来像这样: default StreamE parallelStream { return StreamSupport.streamspliterator, true; } 但这是默认方法,对于某些实现类也提供另一种实现来

  • 我如何使用警报管理器获得工作日重复警报?

    为此使用广播接收器和Sqlite数据库。 public class MyReceiver extends BroadcastReceiver { DBAdapter mDba; SQLiteDatabase mDb; Ringtone rt; MediaPlayer mp; AlertDialog.Builder alertbox; Context ctx;

  • 特定工作日的Android通知直接关闭

    这样吧 if updateTime.getTimeInMillis System.currentTimeMillis || updateTime.beforenew GregorianCalendar { updateTime.setCalendar.HOUR_OF_DAY, hourOfDay + 2

  • 如何在Android上重复警报工作日

    请尝试此代码。已在我的应用中成功运行 if chk_monday.isChecked { forday2; } else if chk_tuesday.isChecked { forday3; } else if

  • 在Java中迭代字符串的字符最简单/最好/最正确的方法是什么?

    我使用for循环来迭代字符串,并使用它charAt来获取每个字符以进行检查。由于String是通过数组实现的,因此该charAt方法是恒定时间操作。 String s = "...stuff..."; for int i = 0; i s.length; i++{ char c = s.charAti;