标签: internals

当您更改目录时,RVM如何检测?

RVM可以做的一件事就是当你更改目录,查找.rvmrc并根据该文件的内容更改当前的Ruby版本和gemset时注意到这一点.只要您更改到该目录并相应地输出消息,它就会进行此更改.

它如何检测当前工作目录中的更改?我可以想象一种非常粗暴的方法:运行一个以当前用户身份运行的守护进程,并不断检查结果pwd.但我确信这不是它的作用.

另一种方法可能是别名cd来更改目录,但.rvmrc如果有指示,还要检查并更改gemsets.

是否存在用于更改目录的Unix系统挂钩,或者是否存在RVM正在使用的其他技巧?

internals rvm

24
推荐指数
1
解决办法
3665
查看次数

Spring Framework和其他IoC容器的内部结构

我一直在使用spring一段时间,但我总是想知道它是如何工作的,更具体地说,它们如何加载和编织只用接口或@annotation标记的bean /类.

对于xml声明,很容易看出spring如何预处理我的bean(它们是在spring读取的xml上下文中声明的),但是对于仅标注注释的类,我看不出它是如何工作的,因为我没有将任何代理传递给jvm左右.

我相信有一些Java/JVM钩子允许你通过某种标准预处理类,但我无法在文档上找到任何东西.

有人能指点我一些文件吗?这与java.lang.instrument.ClassFileTransformer API有关吗?

java spring jvm internals

22
推荐指数
1
解决办法
2万
查看次数

我在哪里可以找到有关Javascript引擎内部的信息?

我正在寻找关于Javascript引擎内部的书籍/文章/论文,以及关于JVM内部,CLR内部等的许多参考书.我可以(并且可能会)查看JavaScriptCore和V8/Chromium的源代码,但如果那里有一本书或其他"导游"文档,我宁愿先阅读它们.谢谢.

javascript documentation internals

22
推荐指数
3
解决办法
5644
查看次数

数据库内部 - 从哪里开始?

所以,让我们说你想学习一些关于数据库内部的东西.什么是最好的源代码?最好买的书?

我前几天和一个好友谈论这件事,他推荐:
计算机编程艺术,第3卷:排序和搜索

还有哪些书可以帮助我了解所有文件IO和内存问题,页面,锁定等等?

database theory internals

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

OCaml内部:例外

我很想知道如何在OCaml运行时处理异常以使它们如此轻量级.他们使用setjmp/longjmp还是在每个函数中返回一个特殊值,然后传播它?

在我看来,longjmp会给系统带来一点压力,但只有当引发异常时,检查每个函数的返回值才需要在调用函数后检查每个值和每个值,这在我看来会很多检查和跳跃,似乎表现最差.

通过查看OCaml如何与C接口(http://caml.inria.fr/pub/docs/manual-ocaml/manual032.html#toc142),并查看callback.h,似乎通过使用标记异常对象的内存对齐(#define Is_exception_result(v)(((v)&3)== 2)).这似乎表明它的实现不使用longjmp并在每次函数调用后检查每个函数结果.是吗?或者C函数已经尝试捕获任何异常,然后将其转换为这种格式?

谢谢!

compiler-construction ocaml exception internals longjmp

21
推荐指数
1
解决办法
1952
查看次数

在PHP中,为什么"或die()"工作,但"或返回"不工作?

在PHP中,您可以通过or die在遇到某些错误时调用exit 来处理错误,如下所示:

$handle = fopen($location, "r") or die("Couldn't get handle");
Run Code Online (Sandbox Code Playgroud)

使用die()不是处理错误的好方法.我宁愿返回一个错误代码,以便父函数可以决定做什么,而不是只是不正确地结束脚本并向用户显示错误.

然而,PHP显示错误,当我尝试更换or die使用or return,这样的:

$handle = fopen($location, "r") or return 0;
Run Code Online (Sandbox Code Playgroud)

为什么or die()工作,但不是or return 0

php error-handling return internals parse-error

21
推荐指数
1
解决办法
4803
查看次数

C#中的静态构造函数/初始化程序的顺序

在使用C#应用程序时,我只是注意到在几个地方静态初始化程序彼此依赖,如下所示:

static private List<int> a = new List<int>() { 0 };
static private List<int> b = new List<int>() { a[0] };
Run Code Online (Sandbox Code Playgroud)

没有做任何有用的特殊工作.这只是运气吗?C#有解决这个问题的规则吗?

编辑:( re:Panos)在一个文件中,词汇顺序似乎是王道?跨文件怎么样?

看起来我尝试了这样的周期性依赖:

static private List<int> a = new List<int>() { b[0] };
static private List<int> b = new List<int>() { a[0] };
Run Code Online (Sandbox Code Playgroud)

并且该程序没有运行相同(测试套装全面失败,我没有看得更远).

c# dependencies static internals

20
推荐指数
2
解决办法
9069
查看次数

.NET:值类型继承 - 技术限制?

我想知道为什么.NET值类型不支持继承(忽略接口实现)有任何技术原因...我不能乍一看为什么值类型不允许单基类继承的原因.

(我的意思是,可以说,如果你最终得到一个巨大的继承层次结构,那么值类型的继承会很糟糕,但我主要想知道是否有任何运行时限制而不是实际限制.)

谢谢.

.net c# runtime internals value-type

20
推荐指数
2
解决办法
3180
查看次数

文本片段的名称在哪里?

根据预期用途,传统汇编程序和更高级别的编译器可与多个内存一起使用.因此,存在数据段,堆栈段,bss和文本段.文本段也称为代码段.

文字段?对于机器代码

我已经问过我能找到的所有老手,像机器代码那样难以理解的东西被称为"文本段".他们每个人都同意这一点,这就是所谓的,但他们似乎都没有对它感到惊讶.没有人可以提供解释.

这是您通过启发我们来炫耀您的极客历史知识的机会.

compiler-construction history internals

19
推荐指数
2
解决办法
2412
查看次数

为什么Single()不会在找到多个元素时直接返回?

我在Enumerable.Single方法中发现(大致)这个代码,同时用一些反编译器检查它:

foreach (TSource current in source)
{
    if (predicate(current))
    {
        result = current;
        num += 1L;
    }
}

if (num > 1L)
{
     throw Error.MoreThanOneMatch();
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它会在投掷之前循环遍历所有项目.它为什么不打破num > 1

.net c# linq internals

18
推荐指数
1
解决办法
366
查看次数