问题内容: 我对内部类和lambda表达式有些困惑,我试图问一个问题,但随后又产生了一个疑问,发布另一个问题可能比评论前一个问题更好。 直截了当:我知道这样的东西不会编译 由于Java如何管理闭包,因为它不是 [有效地]最终的 ,依此类推。 但是,这怎么允许呢? 不等于?在第二种情况下,我是否不会面临“使用过时的变量”的风险? 我的意思是,在后一种情况下,执行后仍然具有过期的副本(即引用旧对象)。
问题内容: 好吧,对于我正在做的事情,我需要增加变量名称,例如,int Taco1 = 23432 ..... int Taco2 = 234235656 ..... int Taco3 = 11111 ....... 但是我需要它是一个像 尝试让我的变量名每次自动递增1,这样它们就不会覆盖自己。如果这不可能,那么我深表歉意。 问题答案: 您不能用Java做到这一点,更重要的是,您不想这样做,因为
问题内容: 我刚刚开发了自己的小型JDBC帮助程序库,并且我已经意识到它将成为维护方面的噩梦。 我不是在寻找像Hibernate这样的成熟ORM,它只是一种轻巧有用的工具,它可以快速使JDBC调用快速传递SQL语句,而不会弄乱被检查的异常,手动关闭资源等。 根据您的经验,您可以推荐一个不错的JDBC帮助程序库吗? 到目前为止,我已经看过了ApacheCommonsDbUtils,它看起来不错。还有
问题内容: 当我运行此代码时,答案是1,我想应该是2。初始化的顺序和每一步中k的值是什么? 编辑1:作为后续的“ k设置为默认值”,那么为什么下一个代码不能编译?出现错误“在定义字段之前无法引用它”。 编辑2:出于某种我不知道的原因,它^可以在其“ Test.k”代替“ k”时使用。 感谢所有的答案。这将满足:D 问题答案: 它们按照您编写它们的顺序执行。如果代码是: 然后输出变为2。 初始化的顺
问题内容: 题 我正在寻找Java内存对象缓存API。有什么建议吗?您过去使用过什么解决方案? 当前 现在,我只是在使用地图: 要求 我需要扩展缓存以包括以下基本功能: 最大尺寸 生存时间 但是,我不需要更复杂的功能,例如: 来自多个进程的访问(缓存服务器) 持久性(到磁盘) 意见建议 内存中缓存: Guava CacheBuilder-活动开发。请参阅此演示文稿。 LRUMap-通过API配置。
问题内容: 即使在今天,我经常在Java变量和方法中看到下划线,例如成员变量(例如“ m_count”或“ _count”)。据我所记得,在这种情况下使用下划线被Sun称为坏样式。 应该使用它们的唯一位置是常量(例如“ public final static int IS_OKAY = 1;”中的常量),因为常量应该全部为大写而不是驼峰式。在这里,下划线应使代码更具可读性。 您认为在Java中使用
问题内容: 我想为我的Java代码(一种单线程,本地,复杂的算法)制定一些性能指标(主要是运行时)。(因此,我不想使用宏基准来衡量JVM的实现。) 有了这个工具,我想 分析复杂性 ,即查看我的代码如何缩放参数n(搜索深度)。(我已经有一个在n中参数化的junit测试。) 如果对代码库进行一些更改会使代码变慢,请进行一些 趋势分析 以得到警告。 为此,我想使用一种工具或框架 进行 统计 ,以最佳方式
问题内容: 从javadocs: 他们所做的描述是相同的…所以有什么区别? 我真的很感谢一些例子。 我正在用Java进行编码,但是我听到对于大多数现代正则表达式实现来说,这个概念是相同的。 问题答案: 贪婪的运算符总是尝试“抓住”尽可能多的输入,而勉强的量词将匹配尽可能少的输入并仍会创建匹配项。 例:
问题内容: 两者之间有什么区别,哪个更好使用?为什么? 问题答案: 是interface,哪里是class,并且此类实现接口。 我希望使用第二种形式,这种形式更通用,即如果您不使用特定于方法的方法,则可以将其类型声明为接口类型。使用第二种形式,将实现从实现更改为实现接口的其他类将变得更加容易。 编辑: 由于许多SO用户都评论了这两种形式都可以是接受或的任何方法的参数。但是当我声明方法时,我更喜欢接
问题内容: 我有一个抽象类,封装和它的一个子类,在包。有一个名为的受保护成员。 在: 上线 和 我收到以下错误: 字段Relation.mStructure不可见 如果我将两个类放在同一包中,则效果很好。谁能解释这个问题? 问题答案: 它有效,但是只有您自己的孩子会尝试访问它 自己的 变量,而不是其他实例的变量(即使它属于同一继承树)。 请参阅以下示例代码以更好地理解它: 如果我们尝试使用进行编译
问题内容: 我对反射库有问题。我试图动态加载实现特定接口的所有类。只要我不在这些类中使用lambda表达式(Java 8),一切就可以正常工作(所有类都已加载)。我尝试升级lib版本,但效果是相同的(java.io.IOException:无效的常量类型:18)。 依赖关系并在pom.xml中构建 没有排除是一样的效果。 码: 如何使用lambda表达式加载类? PS对不起,英语:) 问题答案:
问题内容: 说我有Method1(void),Method2(void)… 有什么方法可以选择其中一个带有变量的方法吗? 问题答案: 使用反射:
问题内容: java中是否允许这样做: 我的问题的关键词是。是否可以允许最终变量随循环的每次运行而变化?我想知道这是因为final说您不能更改变量的值(仅调用),但是我正在使用重新定义整个变量。 它们是两个完全不同的变量,只是具有相同的名称-循环的前一次运行中的变量已经朝着垃圾收集器的方向前进了吗? 问题答案: 是的,允许。该关键字意味着你不能改变的变量的值 的范围之内 。对于循环示例,您可以认为
问题内容: 我是所有内存管理主题的新手,所以有很多我不了解的事情。 我正在尝试将图像缓存在我的应用程序中,但是我在内存消耗方面遇到了麻烦: 所有的Bitmap Chaching代码都可以从此处复制粘贴:http : //developer.android.com/training/displaying- bitmaps/index.html 我调试了代码,并在Eclipse的DDMS视图中检查了堆
问题内容: 假设我有一个这样的课程: 我的应用程序中的许多其他类都在使用这些选项。现在,我只想更改其中一个选项,而仅部署已编译的类。但是,如果将这些字段插入到消费者类中,这将变得不可能,对吗? 是否有任何选项可以禁用内联编译时间常数? 问题答案: 您可以使用String.intern()获得所需的效果,但应注释您的代码,因为对此知之甚少。即 这样可以防止内联编译时间。由于它是指编译器将放入烫发中的