首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【GEE】9、在GEE中生成采样数据【随机采样】

有充分证据表明,食草动物主要以麋鹿为食,会对白杨的再生率产生负面影响,因为白杨倾向于在大型单型林分中生长。因此,这些林分中的白杨再生率可以决定下层的组成。从一个地区排除麋鹿、鹿和奶牛放牧对白杨再生有可观察到的影响,但在了解白杨林下的存在如何影响从初级生产者到大型哺乳动物的地区的整体生物多样性方面所做的工作有限。在本模块中,我们将使用多个数据集和一米分辨率的图像来开发用于理论实地调查研究的采样位置。我们还将建立一个存在/不存在数据集,我们可以用它来训练一个特定区域的白杨覆盖模型。创建这样一个模型的过程可以在模块 7中找到。

04

Java finalize函数与软引用、弱引用、虚引用

它不是C/C++中的析构函数,而是Java刚诞生时为了使C/C++程序员更容易接受它所做出的一个妥协”。也就是说,finalize函数最初被设计的用途是类似于C/C++的析构函数,用于在对象被销毁前最后的内存回收。Java与C/C++的相似性和不同之处在于:在C++中,对象的内存在哪个时刻被回收,是可以明确确定的(假设程序没有缺陷),一旦C++的对象要被回收了,在回收该对象之前对象的析构函数将被调用,在该函数中释放对象占用的内存;在java中,对象的内存在哪个时刻回收,取决于垃圾回收器何时运行,一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法, 并且在下一次垃圾回收动作发生时,才会真正的回收对象占用的内存,由于JVM垃圾回收运行时机是不确定的,因而finalize()的调用具有不确定性。JVM只保证方法会调用,但不保证方法里的任务会被执行完(这块儿可以从Java源码Finalizer.class中得知:在源码中,执行finalize()方法是通过开启一个低优先级的线程来执行的,而finalize()方法在执行过程中的任何异常都会被catch,然后被忽略,因而无法保证finalize方法里的任务会被执行完)。由于执行finalize()的是一个低优先级的线程,既然是一个新的线程,虽然优先级低了点,但也是和垃圾收集器并发执行的,所以垃圾收集器没必要等这个低优先级的线程执行完才继续执行。也就是说,有可能会出现对象被回收之后,那个低优先级的线程才执行finalize()方法。

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券