首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Coder2021
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
JS | NodeJS和JS
也就是基本语法是一样的。但功能完全不一样。 且nodejs可以单独运行,JavaScript需要基于HTML和浏览器。 编译型:通过编译器,将代码一次性“翻译”成可被该平台硬件执行的机器语言。编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行。(c\c++\go) 优…
Golang | 静态编译
在使用动态链接库的时候并不会把动态库的代码全部copy到生成的程序中,而是在程序运行的时候再去加载对应的代码,所以使用同一个动态库的程序可以共用一份代码,而且当你对动态库进行升级的时候,也不用去修改使用它的代码。 需要注意的是,目前go的动态链接库(plugin)只支持linu…
NG | Module
如果你往该特性模块中加入过任何服务提供商,AppModule 也同样会知道它,其它模块中也一样。不过,NgModule 并不会暴露出它们的组件。 如果模块同时定义了 providers(服务)和 declarations(组件、指令、管道),那么,当你同时在多个特性模块中加载此…
NG | 观察者模式
用处:在需要进行事件处理、异步编程和处理多个值的时候,可观察对象相对其它技术有着显著的优点。 一个观察者(Observer)通过subscribe()方法订阅一个可观察对象(Observable)。 订阅之后观察者(Obsever)对可观察者(Observable)发射的数据或…
DB | 连接池
并发一定快吗?不一定哦,每个CPU核心同一时刻只能运行一个线程而已。就单核CPU而言,多线程并发并不一定比串行快; 给定一颗CPU核心,其顺序执行A和B永远比通过时间分片“同时”执行A和B要快,这是一条计算机科学的基本法则。 一旦线程的数量超过了CPU核心的数量,再增加线程数系…
Golang | 插件化方案
动态加载, 也称热加载, 每次升级时不用重新编译整个工程,重新部署服务, 而是添加插件时进行动态更新。这对于很多比较重型的服务来说非常重要。 Go插件是使用-buildmode = plugin标记编译的一个包, 用于生成一个共享对象(.so)库文件。 Go包中的导出的函数和变…
Golang | HttpRouter
httprouter谈不上是一个框架,它的性能非常优秀。完全可以用来代替默认的 ServeMux。 所以比较适合对性能要求高,路由相对简单扁平的业务,或者作为高层HTTP框架的内部模块。 httproute内部通过实现一个trie树来提高性能。 核心代码就是golang标准库中…
Golang | GMP模型
用户级线程内核的切换由用户态程序自己控制内核切换(通过系统调用来获得内核提供的服务),不需要内核干涉,少了进出内核态的消耗,但不能很好的利用多核Cpu。 由内核进行管理,线程切换将会消耗较多资源。对于多核CPU,可进行多线程并行运行; 缺点:线程切换时,比较消耗资源。因为需要保…
Linux | 文件目录操作
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。 每个inode节点的大小,一般是128字节或256字节。**inode节点的总数,在格式化…
OS | IO模型
将数据从内核缓冲区拷贝到应用进程缓冲区。 有数据了,可以读了,是读事件。 数据区满了就没法写了,当数据区有空间了,可以写了,是写事件。 非阻塞(non-blocking)IO:数据没准备好时,会返回错误给你,不会阻塞你。所以你需要不断轮询,看数据是否准备好了;(浪费CPU) 当…
下一页
个人成就
文章被点赞
25
文章被阅读
54,059
掘力值
827
关注了
5
关注者
15
收藏集
7
关注标签
13
加入于
2019-07-30