RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-189648

Burence's questions

Martin Hope
Burence
Asked: 2020-02-22 02:46:19 +0000 UTC

以 HashMap.get 为例算法的平均时间复杂度

  • 1

充其量,HashMap可以在常数时间内获得一个元素O(1)。

在最坏的情况下,假设篮子被组织成一个链表,HashMap可以在线性时间内从中获得一个元素O(n)。

HashMap 从average中获取一个元素的复杂度是多少?以及如何确定这个值?

java
  • 1 个回答
  • 10 Views
Martin Hope
Burence
Asked: 2020-02-15 06:36:45 +0000 UTC

标记清除垃圾收集算法

  • 5

据我了解,垃圾收集有两种基本方法:

  1. 复制收藏家
  2. 标记和扫描

这篇文章中描述了这两种算法。根据第二种算法,文章作者写道:

  • 对象在内存中分配
  • 需要运行GC
  • 申请暂停
  • 收集器遍历对象树,标记存活对象
  • 收集器遍历整个内存,找到所有未标记的内存块,将它们存储在“空闲列表”中
  • 当新对象开始分配时,它们被分配到“空闲列表”中可用的内存

如果我没理解错的话,那么需要删除的对象就转移到了“空闲列表”中。但实际上,这些对象的删除在哪里呢?还是它们没有被明确删除,而是在创建新对象时被简单地覆盖?

java
  • 2 个回答
  • 10 Views
Martin Hope
Burence
Asked: 2020-02-14 01:05:38 +0000 UTC

基于DCL的单例

  • 4

有这样一种基于双重检查锁定的单例实现(第 2 项):

public class Singleton {
    private static volatile Singleton instance;

    public static Singleton getInstance() {
        Singleton localInstance = instance;
        if (localInstance == null) {
            synchronized (Singleton.class) {
                localInstance = instance;
                if (localInstance == null) {
                    instance = localInstance = new Singleton();
                }
            }
        }
        return localInstance;
    }
}

问题1:这里有什么用localInstance?为什么不这样做:

public class Singleton {
    private static volatile Singleton instance;

    public static Singleton getInstance() {
        if (instance == null) {
            synchronized (Singleton.class) {
                if (instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}

?

我有一个猜测:读取volatile-field 比读取常规字段或局部变量要昂贵一些,这就是为什么在这里使用局部变量。如果我是对的,有人可以更详细地描绘这一刻——我将不胜感激。

问题2:为什么不在这个类中声明私有构造函数?实际上,如果它不存在,您可以在代码中的某处显式创建此类的实例。

java
  • 2 个回答
  • 10 Views
Martin Hope
Burence
Asked: 2020-02-13 03:35:02 +0000 UTC

BroadcastReceiver 和 Activity 生命周期

  • 2

有一些BroadcastReceiver在 activate 方法中onStart注册并在onStop.

有一个服务发送一个意图,它应该捕获给定的BroadcastReceiver一个并在活动中显示来自它的数据,它是它的类字段。

如果服务在屏幕旋转的那一刻发送了一个意图,即在接收器被停用但尚未注册的时候,那么来自服务的数据将不再达到激活(如果用户会发生类似情况只是在下载过程中最小化应用程序)。

请告诉我如何正确处理这种情况。


附言。也许在这种情况下,服务和活动之间的一些其他通信方式会起作用。为了更具体和简化任务,它看起来像这样:

在活动中,我们按下按钮,启动一项服务,从 Internet 下载文本并将此文本返回到显示它的活动。主要目标是保证数据从服务到活动的传递。

这个任务很常见,我相信很多人已经解决了它,但由于某种原因我找不到好的解决方案。

java
  • 1 个回答
  • 10 Views
Martin Hope
Burence
Asked: 2020-02-09 07:39:08 +0000 UTC

布尔大小

  • 19

对于除 type 之外的所有原始数据类型boolean,Java 都有一个唯一定义的大小。

类型的大小boolean,据我了解,取决于特定虚拟机的实现。

问题:为什么boolean没有明确确定类型的大小?

java
  • 3 个回答
  • 10 Views
Martin Hope
Burence
Asked: 2020-12-03 10:17:35 +0000 UTC

ScrollView 内的 CardView 上的边距

  • 0

你好。

有CardView,里面有TextView。自我CardView包裹在ScrollView:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="50dp"
        android:layout_marginLeft="50dp">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorAccent"
            android:text="здесь большой текст"/>

    </android.support.v7.widget.CardView>

</ScrollView>

正如您从标记代码中看到的那样,CardView左边距和右边距已添加 - 它们确实正确显示。

它需要添加到CardView顶部和底部的边距。

添加android:layout_marginTop到CardView导致在顶部添加边距,但在这种情况下ScrollView它不会将内容滚动到底部。

添加android:layout_marginBottom到CardView根本不会进行任何更改。

请告诉我如何正确添加这些字段。

附言。标记实际上要复杂得多,只是一个最小的可重现示例。

android
  • 1 个回答
  • 10 Views
Martin Hope
Burence
Asked: 2020-11-11 09:34:21 +0000 UTC

AsyncTask vs IntentService vs 做网络时的其他东西

  • 3

有一些应用程序,根据用户的请求,从网络上下载一些数据并显示出来。此应用程序中的网络请求通过AsyncTask.

鉴于许多人断然建议在使用AsyncTaskInternet 时不要使用它(而是向服务发出网络请求),因此出现了这个问题。

再来一点:

该应用程序的本质是显示来自多个来源的(文本)新闻列表。

现在是如何实现的:

有一个Navigation Drawer显示站点列表的活动,通过单击某个菜单项,会出现一个包含 的片段RecyclerView,其中AsyncTask使用加载来自所选站点的数据。

当滚动RecyclerView到某个元素时,它会启动将信息AsyncTask加载RecyclerView到下一部分等等(一种Endless RecyclerView)。

当您选择另一个菜单项时,会出现另一个片段,但具有相同的操作原理(数据只是从另一个来源加载)。

创建每个片段时,它都会被执行setRetainInstance(true),也就是说,当设备配置更改时,来自它的数据AsyncTask将安全地返回到所需的片段。

从站点中提取必要信息的过程使用Jsoup.

问题:

这个应用程序的架构有什么问题?(就使用AsyncTask和一般而言)。

使用这个特定任务是好的做法AsyncTask吗?还是值得将网络工作转移到服务上?(我知道并非所有类型的服务都不能在主线程中工作)。

但是如果你还需要把网络搬到一个服务上,那么如果你需要加载数据,启动服务,加载数据,返回数据给片段,完成服务?所以每一次?

老实说,虽然它在每个角落都说AsyncTask它不好,但我看不出有任何明确的理由让网络成为这个特定应用程序的服务。但是既然很多人都说了,那我就有点不明白了。请给我解释一下。

事实上,AsyncTask它是为短期任务而设计的,但我加载了非常少量的数据(文本),最后AsyncTask它只需要几秒钟就可以完成。

据我了解,该服务的主要目的是执行长时间的后台任务。

我再重复一次——我并不是说在这种情况下最好的解决方案是使用AsyncTask,但我没有看到任何反对使用它的论据。

或者也许还有其他一些更正确的架构解决方案来完成这项任务?

尽管我阅读了 Internet(我阅读了很多),但对于描述类似内容的链接(也许我错过了),以及您对这个主题的回答和对这个问题的看法,我都会很高兴。

java
  • 2 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5