问题标签 [internals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5891 浏览

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

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

0 投票
5 回答
1907 浏览

c++ - 有趣的 C++ 抽象函数

为什么会这样?

当您在c ++中创建抽象类时:从类A继承类B之后的类A(具有纯虚函数)

如果A 类 有一个名为A()的构造函数, 假设我创建了B 类的一个对象 ,那么编译器首先初始化基类,即A 类,然后初始化B 类然后.......?

首先是我们不能访问没有 Object 的任何类的构造函数,那么如果我们不能创建抽象类的对象,它是如何初始化抽象类的构造函数的。

0 投票
2 回答
178 浏览

c# - 内部方法和数据结构。

如果我有一个受保护的方法,我可以传入一个数据类型声明为内部的参数吗?

0 投票
4 回答
1322 浏览

python - CPython 内部结构

GAE 有各种限制,其中之一是最大可分配内存块的大小为 1Mb(现在增加了 10 倍,但这并没有改变问题)。限制意味着不能在 list() 中放置超过一定数量的项目,因为 CPython 会尝试为元素指针分配连续的内存块。拥有巨大的 list()s 可能被认为是不好的编程习惯,但即使程序本身没有创建巨大的结构,CPython 也会在幕后维护一些。

似乎 CPython 正在维护单个全局对象列表或其他东西。即具有许多小对象的应用程序倾向于分配越来越大的单个内存块。

第一个想法是 gc,禁用它会稍微改变应用程序的行为,但仍然保留了一些结构。

遇到此问题的最简单的简短应用程序是:

谁能告诉我如何防止 CPython 在应用程序中有许多对象时分配巨大的内部结构?

0 投票
4 回答
21374 浏览

windows - csrss.exe 进程有什么作用?

Windows 上的 csrss.exe(客户端/服务器运行时服务器子系统)的用途是什么?

也许有人可以给出一个很好的解释或指向文档的指针?不幸的是,在搜索 Windows 的核心进程时,Google 的结果非常嘈杂。

我问的原因是我从我的服务应用程序中得到了一个 BSOD,这似乎与 csrss.exe 进程有关,至少这是内存转储分析显示的内容:

编辑:已经谢谢你的好答案,但我实际上不需要关于我的服务的帮助,我只是想对这项服务的目的有一些基本的了解。

0 投票
2 回答
622 浏览

c# - WPF 内部:为什么 UserControl 覆盖 AdjustBranchSource?

通过使用反射器,您可以看到 WPF UserControl 正在覆盖 AdjustBranchSource。

我自己的问题与该问题引起的不一致有关。当元素基于用户控件内部或外部时。Source 参数的行为不同。令我惊讶的是,源应该始终是 RoutedEvent 的目标元素。

问题是为什么要这样实施?

0 投票
4 回答
552 浏览

unix - 进程调度问题

例如,等待磁盘 I/O 完成的进程将在与正在传输的数据对应的缓冲区头的地址上休眠。当磁盘驱动程序的中断例程注意到传输完成时,它会在缓冲区头上调用唤醒。中断使用内核堆栈来处理当时正在运行的任何进程,并且从该系统进程中完成唤醒。

您能否解释一下我强调的段落中的最后一行。它是关于唤醒一直在等待某些事件发生并因此已经休眠的进程。这一段来自高尔文。顺便问一下,你能推荐一些学习unix操作系统的好书或链接吗?

谢谢。

0 投票
9 回答
11121 浏览

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

所以假设你想学习一些关于数据库内部的东西。什么是最好的源代码?最好买的书?

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

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

0 投票
1 回答
690 浏览

streaming - 如何拦截高级 GDI 绘制命令?

我正在尝试制作一个允许远程访问其他应用程序(在不同机器上运行)的应用程序。这个想法是让用户透明地访问某些应用程序,我基本上有两个选择:

  • 应用程序流
  • 拦截绘图命令并在客户端重现它们

(当然,输入是从客户端重定向到服务器的)

我有一个带有应用程序流的工作版本,但我不知道如何通过挂钩 Win API 来做到这一点......

有任何想法吗 ?

0 投票
5 回答
3955 浏览

java - 弱引用是如何实现的?

我想知道弱引用在内部是如何工作的,例如在 .NET 或 Java 中。我的两个总体想法是:

  1. “侵入式” - 将弱引用列表添加到最顶级的类(对象类)。然后,当一个对象被销毁时,所有的弱引用都可以被迭代并设置为空。
  2. “非侵入式”——维护对象指向弱引用列表的哈希表。当弱引用 A 被创建到对象 B 时,哈希表中会修改或创建一个条目,其键是指向 B 的指针。
  3. “脏” - 为每个对象存储一个特殊的哈希值,当对象被销毁时,该值将归零。弱引用将复制该哈希值并将其与对象的值进行比较以检查对象是否处于活动状态。但是,当直接使用时,这会导致访问冲突错误,因此我认为需要有一个具有该哈希值的附加对象。

这些解决方案中的任何一个看起来既干净又高效。有谁知道它实际上是如何完成的?