在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
new调用函数时,引擎自动将新对象的__proto__指向该函数的prototype;具体执行四步:创建空对象、绑定__proto__、以新对象为this调用函数、按返回值决定最终实例。

当你用 new 调用一个函数时,JavaScript 引擎会自动完成原型绑定:新对象的 __proto__ 指向该函数的 prototype 对象。
new 操作的四步原型绑定机制
执行 new Foo() 时,引擎内部按顺序做四件事:
- 创建一个空对象(即实例)
- 将该对象的
__proto__指向Foo.prototype - 以这个新对象为
this,调用Foo函数 - 若构造函数返回对象,则返回该对象;否则返回新创建的实例
prototype 和 __proto__ 的对应关系
Foo.prototype 是函数独有的属性,供所有实例共享方法;而每个实例的 __proto__ 是隐式原型链入口。它们通过 new 建立关联:
function Person(name) { this.name = name; }<br>Person.prototype.sayHi = function() { return 'Hi, ' + this.name; };<br>const p = new Person('Alice');<br>console.log(p.__proto__ === Person.prototype); // true
手动模拟 new 的原型绑定逻辑
可以用普通函数模拟 new 的核心行为,重点就是设置 __proto__:
- 创建空对象
obj = {} - 设置
obj.__proto__ = Constructor.prototype - 执行
Constructor.call(obj, ...args) - 返回
obj(除非构造函数显式返回对象)
注意 constructor 属性不是自动维护的
Foo.prototype.constructor 默认指向 Foo,但如果你重写整个 prototype,这个指向会丢失:
Foo.prototype = { sayHi() {} }; // 此时 constructor 指向 Object
需手动修复:Foo.prototype.constructor = Foo;
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










