小编Jim*_*Jim的帖子

字典式数据结构.这是一个好习惯吗?

我需要一个数据结构来存储不同类型的objects.Eg的String,Boolean和其他类.
是否使用了一个Map<String, Object>使用密钥的地方你得到了相应的对象,假定你知道如何把它作为一个好习惯?
有更好的解决方案吗?

java generics map data-structures

4
推荐指数
1
解决办法
521
查看次数

如果无法解析导入语句会发生什么?

我不清楚以下内容:
JVM在需要时加载一个类,比如延迟初始化,对吧?
现在,如果类A做一个import类的B哪一类B文件系统实际上没有(如B.class被删除的或者未送达或任何原因),
那么就班A得到加载并运行,如果没有类的方法B被称为?
或者A无法运行,因为导入无法解决?
或者A被加载并运行到某一点?

java jvm class classloader

4
推荐指数
1
解决办法
238
查看次数

以下捕获组表示法对Perl意味着什么

在下面为什么条件要评估false

$_ = "aa11bb";  
if(/(.)\111/){  
    print "It matched!\n";  
}  
Run Code Online (Sandbox Code Playgroud)

是否\11\111有特殊含义,因此Perl不能"看" \1

regex perl capture-group

4
推荐指数
2
解决办法
234
查看次数

我怎么能在循环中grep?

我有一个包含单独行文本的文件.

text1
text2
text3
textN
Run Code Online (Sandbox Code Playgroud)

我有一个包含许多文件的目录.我想grep这个特定目录中的每一行.有什么简单的方法可以做到这一点?

linux bash shell perl grep

4
推荐指数
1
解决办法
3万
查看次数

在create table上创建索引

我可以在CREATE TABLE声明中创建索引吗?
即我可以在创建表时为表定义索引吗?我的意思是在create stamement sql命令上创建索引

mysql sql indexing create-table

4
推荐指数
1
解决办法
4042
查看次数

CSV 和带空格的字段

我正在使用Text::CSV_XS创建 CSV 文件。我看到如果一个字段有空格,那么它会在双引号内输出,例如

john,smith,"Some address",,,,bla  
Run Code Online (Sandbox Code Playgroud)

我想知道示例中是否必须使用双引号?或者它是一些配置选项?

csv perl

4
推荐指数
1
解决办法
479
查看次数

什么时候返回数组或哈希,什么时候只引用?

我对以下内容感到困惑.
有时候我会看到这样的例子:

my %hash = get_data();

sub get_data {
    my %data = ();
    # do processing
    return %data;
}
Run Code Online (Sandbox Code Playgroud)

与数组类似.

my @arrays = get_data();

sub get_data {
    my @data = ();
    # do processing
    return @data;
}
Run Code Online (Sandbox Code Playgroud)

我原本以为你不能从函数返回数组或哈希只引用它们.
所以我不明白有什么区别,我们何时应该优先于另一方?
它与垃圾收集或我们选择的数据副本有太大关系吗?

arrays perl hash reference function

4
推荐指数
1
解决办法
454
查看次数

我可以在android中使用的默认图标?

我想要一个列表,在每个项目中我想要一个表示成功/失败的小图标.
是否有任何内置的Android,例如我可以用来显示的默认图标?我假设我需要声明一个ImageView并android:src添加一些作为安装一部分的图像?
我怎样才能做到这一点?

java android android-layout android-imageview

4
推荐指数
1
解决办法
5927
查看次数

git重置后,无法删除无法访问的提交

我有一个小的回购,有几个提交:

* a0fc4f8 (HEAD -> testbranch) added file.txt  
* e6e6a8b (master) hello world now  
* f308f53 Made it echo  
* f705657 Added hello  
* 08a2de3 (tag: initial) initial  
Run Code Online (Sandbox Code Playgroud)

也:

$ git status  
On branch testbranch  
nothing to commit, working directory clean  
Run Code Online (Sandbox Code Playgroud)

我无法理解以下行为.在这种状态下我跑: $ git reset initial
我现在看到:

* e6e6a8b (master) hello world now  
* f308f53 Made it echo  
* f705657 Added hello  
* 08a2de3 (HEAD -> testbranch, tag: initial) initial  
Run Code Online (Sandbox Code Playgroud)

我期待的是:提交a0fc4f8将被删除,因为它无法访问.
发生了什么:
1)做git show a0fc4f8仍然显示提交
2)做git status …

git git-gc git-reset git-branch

4
推荐指数
1
解决办法
498
查看次数

为什么对Context的引用是内存泄漏?

根据Romain Guy的说法,这种代码很容易因内存泄漏而导致

......观点提到了整个活动,因此也提到了你的活动所持有的任何内容; 通常是整个View层次结构及其所有资源.

@Override
protected void onCreate(Bundle state) {
  super.onCreate(state);

  TextView label = new TextView(this);
  label.setText("Leaks are bad");

  setContentView(label);
}  
Run Code Online (Sandbox Code Playgroud)

我不清楚这一点.
假设具有1个活动的应用程序,这是最长寿命的对象,可以根据需要重新创建.这意味着它的所有实例字段(可以且通常是Views)在任何时候都可以为null.
并且任何静态实例字段将与活动本身持续相同的持续时间.
那么我们如何使用上面或下面的代码来获取内存泄漏:

private static Drawable sBackground;

@Override
protected void onCreate(Bundle state) {
  super.onCreate(state);

  TextView label = new TextView(this);
  label.setText("Leaks are bad");

  if (sBackground == null) {
    sBackground = getDrawable(R.drawable.large_bitmap);
  }
  label.setBackgroundDrawable(sBackground);

  setContentView(label);
}
Run Code Online (Sandbox Code Playgroud)

java android memory-leaks android-activity

4
推荐指数
1
解决办法
4810
查看次数