小编wor*_*cle的帖子

如果SDK中缺少导入的类,Android项目如何编译?

好吧,也许这很简单,但我现在无法理解.

我在Android Studio 1.5.1中导入了google示例项目读卡器,它在compileSdkVerison 23上编译,它可以在我的手机上运行.

然后我走过SDK来源代码android.nfc.tech.BasicTagTechnology,我发现TransceiveResult内部android.nfc.tech.BasicTagTechnology#transceive无法解决然后我发现我的课程TransceiveResult中缺少了这个D:\Android\sdk\platforms\android-23\android.jar,但是在Android源代码中出现D:\Android\sdk\sources\android-23\android\nfc\TransceiveResult.java然后我意识到它可以隐藏在公众面前,而不是出口,实际上是

/**
 * Class used to pipe transceive result from the NFC service.
 *
 * @hide
 */

public final class TransceiveResult implements Parcelable
Run Code Online (Sandbox Code Playgroud)

然后我做了一些随机的事情,在我同步项目后,清理并重建,无效缓存/重启,仍然无法解决TransceiveResult方式,我想知道因为符号已经丢失在SDK中,如何编译项目顺利?

编辑我终于啊哈

我们调用android.nfc.tech.BasicTagTechnology#transceive代码而不是TransceiveResult在编译时我们不需要解决TransceiveResult,我们只需要解析android.nfc.tech.BasicTagTechnology#transceive代码中引用的代码,那时我就迷失了.

android android-build android-sdk-tools android-studio android-studio-import

10
推荐指数
1
解决办法
972
查看次数

即使使用 sudo,netstat 的 PID/程序名称也是破折号

developer@LinuxKernel:~> sudo netstat -elnopt
developer's password:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name    Timer
tcp        0      0 0.0.0.0:10080           0.0.0.0:*               LISTEN      1003       3061421021 -                   off (0.00/0/0)
Run Code Online (Sandbox Code Playgroud)

根据我的经验,我有权限用sudo检查netstat的PID/程序名称,这个怎么解释,内核是2.6.16.60,net-tools 1.6,netstat 1.42

linux sudo netstat

9
推荐指数
1
解决办法
4554
查看次数

为什么IX-lock与InnoDB中的另一个IX-lock兼容?

根据innodb锁定模式 锁定类型兼容性矩阵

    X           IX          S           IS
X   Conflict    Conflict    Conflict    Conflict
IX  Conflict    Compatible  Conflict    Compatible
S   Conflict    Conflict    Compatible  Compatible
IS  Conflict    Compatible  Compatible  Compatible
Run Code Online (Sandbox Code Playgroud)

IX与IX兼容,但事实是如果我们select c1 from z where c1 = 1 for update在会话1中获得一个IX锁,尝试获取IX by select c1 from z where c1 = 1 for update将在会话2中被阻止,所以我认为它们不兼容.我在这里错过了吗?

接受答案后编辑:

SELECT ... FOR UPDATE在一个会话中阻塞SELECT ... FOR UPDATE在另一个会话中的原因是它们不仅要求表级别上的IX锁定而且还要求行级别上的X锁定.这完全是因为X锁.

mysql innodb locking

6
推荐指数
1
解决办法
890
查看次数

为什么/proc文件系统中environ的内容与extern environ指向的内容不同?

我的 C++ apache/cgi 中的 getenv() 给了我奇怪的东西,然后我检查了 /proc/${PID_OF_THE_RUNNING_PROCESS} 内的环境,它们不匹配,我认为它们应该匹配,我想知道 /proc 或它出了什么问题是 getenv() 吗?

shell@kernel # xargs --null --max-args=1 echo < /proc/${PID_OF_THE_RUNNING_PROCESS}/environ 
PATH=/usr/bin:/bin:/usr/sbin:/sbin
LD_LIBRARY_PATH=/usr/local/httpd-2.2.19/lib:
Run Code Online (Sandbox Code Playgroud)

PID_OF_THE_RUNNING_PROCESS 的代码

#include<stdio.h>
extern char **environ;

void run()
{
    char* s = *environ;
    printf("declare -x  all env begin\n");    
    for (int i = 1; NULL != s; ++i) {
        printf("declare -x  %s\n", s);
        s = *(environ+i);
    }
    printf("declare -x  all env end\n");
}
Run Code Online (Sandbox Code Playgroud)

PID_OF_THE_RUNNING_PROCESS 的控制台日志

declare -x  all env begin
declare -x  FCGI_ROLE=RESPONDER
declare -x  UNIQUE_ID=Wvq-Cn8AAAEAAAkmJlsAAAmM
declare -x  HTTP_HOST=www.example.com …
Run Code Online (Sandbox Code Playgroud)

environment environment-variables getenv environ

5
推荐指数
2
解决办法
2904
查看次数

为什么@PostConstruct方法中只有一个线程可以实际启动?

@Component
class Type
{
    @PostConstruct
    private void postConstructor() {

        Runnable threadAlpha = () -> {
            while (true) {
                workWithSomething();
                try {
                    Thread.sleep(1000 * 60);
                } catch (InterruptedException e) {
                }
            }
        };
        Runnable threadBeta = () -> {
            while (true) {
                workWithOtherthing();
                try {
                    Thread.sleep(1000 * 3);
                } catch (InterruptedException e) {
                }
            }
        };
        threadBeta.run();
        threadAlpha.run();
    }
}
Run Code Online (Sandbox Code Playgroud)

使用 spring-framework,我正在努力处理这段代码,问题是只有一个线程实际上可以run()首先调用,另一个线程似乎冻结,如果我将位置切换为:

        threadAlpha.run();
        threadBeta.run();
Run Code Online (Sandbox Code Playgroud)

然后threadBeta就一直没有启动,为什么会出现这样的情况呢?

java multithreading

5
推荐指数
1
解决办法
1595
查看次数

bash中$ {#}背后的故事是什么?

我在bash 4.1.2中遇到了两个字符串的字符串长度操作

第一: 1000000000000000000

developer@kernel ~> echo ${#1000000000000000000}
0
developer@kernel ~> s1=1000000000000000000
developer@kernel ~> echo ${#s1}
19
Run Code Online (Sandbox Code Playgroud)

第二: 10000000000000000000

developer@kernel ~> echo ${#10000000000000000000}
19
developer@kernel ~> s2=10000000000000000000
developer@kernel ~> echo ${#s2}
20
Run Code Online (Sandbox Code Playgroud)

如何解释那些奇怪的行为?

string bash string-length

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

如何更改plantuml中循环组的边框颜色?

看,我在 plantuml 中有一个循环

loop 
    etl -> kafka:
    kafka -> linda:
    linda --> kafka: 
    kafka --> etl:
end
Run Code Online (Sandbox Code Playgroud)

现在我想将循环组的边框颜色从黑色更改为道奇蓝色,两者都不是

skinparam sequence {    
    SequenceGroupBorderColor DodgerBlue
}
Run Code Online (Sandbox Code Playgroud)

也不

skinparam loop {
    SequenceGroupBorderColor DodgerBlue
}
Run Code Online (Sandbox Code Playgroud)

工程,PlantUML的文档工作太差了,我几乎找不到任何细节的东西,如何处理这个工作?

plantuml

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

即使启用了 Web 支持,如何创建仅适用于 Android 和 iOS 的 flutter 项目?

我想创建仅针对 Android 和 IOS 的 flutter 项目。但我的网络支持是在 flutter 中启用的。我不想回到稳定频道来做这件事。任何人都可以帮助我在测试频道本身中做到这一点

flutter

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

oracle 是如何在 1 秒内进行 100 万次插入的

几年前发现oracle可以实现1秒100万次插入,先解释一下这个,我记得在SQL/PLUS交互命令行

set timing on
create table tbl as 
select ROWNUM c1, 
       dbms_random.string('x', 6) c2, 
       sysdate + ROWNUM / 24 / 3600 c3 
  from dual 
connect by level < 1000000
Run Code Online (Sandbox Code Playgroud)

上面的代码将创建一个包含 100 万条记录的表,SQL/PLUS 会给你经过的时间。那是在Windows XP(SP3)PC机上,供应商是Lenovo Think Centre,忘记型号了,硬件性能还不错。

但是我测试了 MySQL PostgreSQL 甚至 sqlite,因为我找不到一个语句来为它们生成数百万个结果,然后我做了一个循环,比如

declare i int default 0;
start transaction;
when i < 1000000
do
    insert into tbl values(i, rand(), now() + interval 1 second);
    set i = i + 1;
end when;
commit;
Run Code Online (Sandbox Code Playgroud)

不完全是这样,但需要几秒钟才能完成,每秒只产生 200~300K,基本相同的硬件,但在 Linux 上

我想知道oracle有什么机制,我确定重点是磁盘的IO,我知道oracle有这个表的一个段(因为没有索引),里面有很多扩展,然后是块,我认为它分配比减少分配频率,批量刷新,更好的内部结构需要更多,但我不确定,我不认为只有这种方式可以做出如此巨大的改进,此外我认为其他rdbms也有这种方式,但是为什么...

mysql sql database oracle postgresql

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

如何理解在python中制作列表中的列表推导?

我有一个元组列表,它将被转换为另一个列表,其中包含列表类型的元素,因为每个元素都是一个列表,我们可以在头部插入自然数.我们来说:

    l = [('c++', 'compiled'), ('python', 'interpreted')]
    lx = []
    for z in xrange(len(l)):
        y = [x for x in l[z]]
        y.insert(0, z)
        lx.append(y)
    print lx
    [[0, 'c++', 'compiled'], [1, 'python', 'interpreted']]
Run Code Online (Sandbox Code Playgroud)

看,完成工作,它以这种方式工作.除以下任何一项外

无论是:

    l = [('c++', 'compiled'), ('python', 'interpreted')]
    lx = []
    for z in xrange(len(l)):
        y = [x for x in l[z]]
        lx.append(y.insert(0, z))
    print lx
    [None, None]
Run Code Online (Sandbox Code Playgroud)

也不:

    l = [('c++', 'compiled'), ('python', 'interpreted')]
    lx = []
    for z in xrange(len(l)):
        y = [x for …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension list

0
推荐指数
1
解决办法
53
查看次数