我有一个可能分配大量数据的java类。
我编写了一个 junit 测试,应该检查内存泄漏,类似于下面的代码。
不幸的是测试失败了。
@Test
public void shoudNotMemoryLeak()
{
Runtime runtime = Runtime.getRuntime();
// make shure that gc has collected all
System.gc ();
System.runFinalization ();
// memory before creating my sut
long memoryUsedBefore = runtime.freeMemory();
long memoryUsedAfter = 0;
// this consumes memory
StringBuilder sut = new StringBuilder("hello world");
// make memory available to gc
sut = null;
// make shure that gc has collected all
System.gc ();
System.runFinalization ();
// memory after creating my sut
memoryUsedAfter = runtime.freeMemory(); …Run Code Online (Sandbox Code Playgroud) 为了获得dotnet中的子项目的数量,有时我不得不问一个属性Lenght有时我要问一个属性Count.
这种区别有什么理由吗?
例:
int[] a; if (a.Length == 0) ....
IList<int> b; if (b.Count == 0) ....
Run Code Online (Sandbox Code Playgroud)
注意IEnumerable Count()和Length之间的区别听起来相似,但不回答Length和Count之间的语义
我试图使用Fluent-Nibernate和需要Observable集合的wpf(实现INotifyCollectionChanged接口).
在uNHAddins:NHibernate的非官方插件我找到了
uNhAddIns.WPF.Collections.Types.ObservableListType<T>
Run Code Online (Sandbox Code Playgroud)
实现INotifyCollectionChanged.它可以像这样在Fluent-Nibernate中配置
namespace FluentNHibernateTutorial.Mappings
{
public class StoreMap : ClassMap<Store>
{
public StoreMap()
{
Id(x => x.Id);
Map(x => x.Name);
HasManyToMany(x => x.Products)
.CollectionType<uNhAddIns.WPF.Collections.Types
.ObservableListType<Product>>()
.Cascade.All()
.Table("StoreProduct");
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何使用Fluent-Nibernate 实现一个总是使用ObservableListType作为默认IList实现的约定?
更新:完美的解决方案可以替代Fluent-NHibernate-Automapper
collections wpf nhibernate-mapping fluent-nhibernate nhibernate-collections
有两个班级
1) AppCompatActivity
2) GestureDetectorCompat.
Run Code Online (Sandbox Code Playgroud)
根据 android 文档,这些类是为旧的 android 平台提供支持的。我想知道这是如何工作的。尽管 GestureDetector 和 GestureDetectorCompat 具有相同的 API。GestureDetectorCompat 如何在不存在 GestureDetector 的旧平台上工作?
当我为Android 2.2编写第一个Android应用程序时,我的活动不得不使用,extends AppCompatActivity因为片段在Android 2.2中不可用。
如今,许多为Android 4.0和更高版本编写的应用extends AppCompatActivity代替了extends Activity。由于Android 4支持片段和样式,因此仍然需要使用AppCompatActivity吗?
Android Studio向导还会为生成代码AppCompatActivity。
注意:这个问题通常与“ AppCompat” 无关(例如对Android 6权限的支持,它仅与活动和片段处理有关。
[更新]我什么真正的问题是关于concreate什么下的Android 4.0版本的AppCompatActivity活动可以比Android的4.0 Actrivity做例子if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.XXX)不能做。我发现AppCompatActivity添加了get / setSupportXXXX
到目前为止,我得到的唯一具体示例是使用Material Design视图。
我正在编写一些代码,由于Java 溢出,因此Year_2038_problem会在2038年1月19日之后停止工作,Date所以我可以创建一个junit测试,该测试在2036年开始失败,给我2年的时间来修复它。
首先要创建一个失败的测试,我又增加了25年的时间,并且对测试没有失败感到惊讶。
@Test
public void warn2038Overflow() {
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, 25);
// today is 2019 plus 25 years becomes 2044 which should overflow
assertEquals("No calendar overflow", true,
c.getTimeInMillis() > 0l);
}
Run Code Online (Sandbox Code Playgroud)
有什么线索为什么这不会失败?
我正在将Android-Studio-3.4.1与java-1.8.0_152(64位)结合使用,并具有'junit:junit:4.12'和'androidx.test:runner:1.1.0'