原GCC版本号:4.4.7. 目标:升级GCC到4.8.2.以支持C++11. yum install gcc-c++ 获取GCC 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz. 解压缩:tar -xf gcc-4.8.2.tar.gz: 进入到文件夹gcc-4.8.2,执行:./contrib/download_prerequisites.这个奇妙的脚本文件会帮我们下载.配置.安装依赖库,…
前言 之所以会研究这个东西,是我在网上找了一下各个语言的执行效率比较.好吧,我承认这是个无聊的东西,不过看看总是无妨,然而我惊讶的发现,有些测试声称Java,C,Nodejs是处在同一个效率级别参见链接.这个让我很是惊讶,因为在我的理解中,像nodejs这种解释语言,每一个对象应该都是一个key-value字典结构,那么每一个属性查找的速度就会被C这种编译语言甩开一条街. 那么,nodejs的属性查找是怎么实现的? 附 我有很多定义说的不太准确的,大家理解意思就行..别揪着一两个名词不放,求高抬…
Node.js 线程你理解的可能是错的 本文代码运行环境 系统:MacOS High Sierra Node.js:10.3.0 复制代码 Node.js是单线程的,那么Node.js启动后线程数是1? 答案:Node.js启动后线程数并不是1,以下面代码为例 const http = require('http'); http.createServer((req, res) => { res.end('hello'); }).listen(8000, () => { console.log(…
前言 JavaScript绝对是最火的编程语言之一,一直具有很大的用户群,随着在服务端的使用(NodeJs),更是爆发了极强的生命力.编程语言分为编译型语言和解释型语言两类,编译型语言在执行之前要先进行完全编译,而解释型语言一边编译一边执行,很明显解释型语言的执行速度是慢于编译型语言的,而JavaScript就是一种解释型脚本语言,支持动态类型.弱类型.基于原型的语言,内置支持类型.鉴于JavaScript都是在前端执行,而且需要及时响应用户,这就要求JavaScript可以快速的解析及执行.…
引用网址: https://blog.csdn.net/swimming_in_it_/article/details/78869549 前言 JavaScript绝对是最火的编程语言之一,一直具有很大的用户群,随着在服务端的使用(NodeJs),更是爆发了极强的生命力.编程语言分为编译型语言和解释型语言两类,编译型语言在执行之前要先进行完全编译,而解释型语言一边编译一边执行,很明显解释型语言的执行速度是慢于编译型语言的,而JavaScript就是一种解释型脚本语言,支持动态类型.弱类型.基于原…
摘要: 性能彪悍的V8引擎. <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一等公民是什么意思呢? JavaScript深入浅出第3课:什么是垃圾回收算法? JavaScript深入浅出第4课:V8是如何工作的? 最近,JavaScript生态系统又多了2个非常硬核的项目. 大神Fabrice Bellard发布了一个新的JS引擎QuickJS,可以将JavaScript源码转换为C语言…
Motivation JavaScript 是一款拥有「自动垃圾回收」功能的编程语言. 市面上具有这样功能的语言,一般都是拥有相对应的虚拟机的,像 Java的JVM ,C#的CLR ,PHP的Zend. 虚拟机一般实现了代码解析,内存的管理.布局.垃圾回收等功能. 不像C/C++这种没有虚拟机的语言,它们需要手动管理内存. C/C++语言编译后的文件,是可以直接运行的. 我认为学习一门开发语言,除了知道一些语法上的使用,各种API的调用以外.学习相应的虚拟机也是很有必要的.而 JavaScrip…
原本打算是把node源码看得差不多了再去深入V8的,但是这两者基本上没办法分开讲. 与express是基于node的封装不同,node是基于V8的一个应用,源码内容已经渗透到V8层面,因此这章简述一下我目前理解的V8引擎吧. 首先需要理解的是V8是一个JS代码运行平台,可以将JS代码编译执行. 本节就非常浅显的讲一下V8内部一些常见类,以及一个运行JS代码的简单demo. (由于研究V8引擎原理的人非常多,本人学识浅薄,可以去参考别人的博客) 参考资料: 1.很多大佬的博客 2.V8引擎API文…
本机环境是win7+vs2010(本来想用2012的,但是发现默认的项目是2010的) 1.首先下载V8的源码 安装好svn,并在cmd下能使用svn help: svn下载地址(安装包):http://download.csdn.net/detail/zengraoli/5651551 使用svn检出命令,check out V8项目: svn checkout http://v8.googlecode.com/svn/trunk/  v8  (末尾的V8为保存目录的相对地址,可以先cd到合适…
基于Nodejs生态圈的TypeScript+React开发入门教程   概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能JavaScript脚本运行环境,内部基于Chrome V8脚本引擎.它相当于把在浏览器中执行JavaScript脚本的功能抽取出来,作为一个单独的程序,可在桌面端命令行等环境中使用. NPM是什么 NPM是nodejs包管理器(nodejs package manager),目前已为全球最大的开源脚本…