进程与线程的区别,早已经成为了经典问题.自线程概念诞生起,关于这个问题的讨论就没有停止过.无论是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.一般程序员而言,搞清楚二者的概念,在工作实际中去运用成为了焦点.而资深工程师则在考虑系统层面如何实现两种技术及其各自的性能和实现代价.以至于到今天,Linux内核还在持续更新完善(关于进程和线程的实现模块也是内核完善的任务之一). 0.首先,简要了解一下进程和线程.对于操作系统而言,进程是核心之核心,整个现代操作系统的根本,就是以进…
知乎上总结: "linux使用的1:1的线程模型,在内核中是不区分线程和进程的,都是可运行的任务而已.fork调用clone(最少的共享),pthread_create也是调用clone(最大共享).fork创建会比pthread_create多消耗一点点,因为要拷贝tables和cow mapping.但是其实差别真的很细微,这些在内核开发者的努力下已经变的很小了. 再来说说contex switch的cost吧.线程的context switch是要比process小一些,因为线程共享了大部…
1.概念的区别 进程:是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配的基本单位,也是调度运行的基本单位.一个进程中可以包含多个线程. 线程:是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的.可以独立运行的基本单位,除运行中必不可少的资源外,基本上不拥有自己的系统资源. 2.成立要素 进程四大要素: (1)一段可供进程执行的程序 (2)独立的内核堆栈空间 (3)进程控制块 (4)独立的存储空间:即拥有专有的用户空间 线程只有上述前三条,并不具备独立的存储空间. 3…
FHS 标准 FHS(Filesystem Hierarchy Standard),文件系统层次化标准,该标准规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途. 发布此标准的主要目的就是为了让用户清楚地了解每个目录应该存放什么类型的文件. Linux一级目录及其作用 /etc目录 mysql配置文件路径: /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld_safe] socket = /var/run/mysqld/mys…
apt安装 sudo apt-get update sudo apt-get install mysql-server root@192:/sys/fs/cgroup# apt-get install mysql-server Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be insta…
进程:进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集.从内核的观点看,进程的目的就是担当分配系统资源(CPU时间.内存等)的基本单位. 线程:线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源. "进程——资源分配的最小单位,线程——程序执行的最小单位" 进程有独立的地址空间,…
前言 查漏补缺,查漏补缺,你不知道哪里漏了,怎么补缺呢?本文属于[Android面试查漏补缺]系列文章第一篇,持续更新中,感兴趣的朋友可以[关注+收藏]哦~ 本系列文章是对自己的前段时间面试经历的总结.其实本来自己是不太想继续写关于面试题的文章了,因为社区内很多这类的文章,但是如果每个地方翻一下,又不方便自己回顾,所以还是决定写下本文供自己巩固,也给大家一个参考. 一.题目层次 面试中提到安卓的事件分发,我们一般都能说到从 Activity -> Window -> DecorView -&g…
趁着神志清醒赶紧写一下. 多次考试暴露出各种问题.新的知识点先不去搞了,最近多做一些不擅长的类型的题查漏补缺一下吧. 唔,首先是比较考验思维的类型,我智商太低又刷题少不会什么套路,只能最近赶紧赶一下进度… 1.DP,各种DP.斜率优化,树形DP,区间DP,状压DP,计数DP,背包,插头DP… 2.概率和期望问题. 3.其它数学问题,包括一些知识点的补全. 4.你好,高斯消元. 5.折半搜索. 6.线段树分治. 然后是一些基础性的或者模板性的我没有好好学或者没学的东西. 1.矩阵问题.尤其我还不会…
Flutter 基础知识查漏补缺 Hot reload原理 热重载分为这几个步骤 扫描项目改动:检查是否有新增,删除或者改动,直到找到上次编译后发生改变的dart代码 增量编译:找到改变的dart代码,将其转化为增量支持动态编译的dart kernel 推送更新:热重载模块将增量更新的代码通过HTTP端口发送到在虚拟机上的Dart VM 代码合并:Dart Vm收到增量的dart kernel代码,将其与原有的dart vm代码合并,并加载新的dart kernel代码 widget重建:在确认…
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司,事情不算多,于是拿起<CSS权威指南>进行"基础复习"+"查漏补缺",本篇文章主要是总结了些自己认为CSS中值的注意的几个知识点(本文知识点仅限本书范围内,若要讲CSS全部样式,那本兽还是选择慢慢懵逼去~). 选择器 这里要说明的是类选择器的嵌套选择与多类…
Linux进程或线程绑定到CPU 为了让程序拥有更好的性能,有时候需要将进程或线程绑定到特定的CPU,这样可以减少调度的开销和保护关键进程或线程. 进程绑定到CPU Linux提供一个接口,可以将进程绑定到特定的CPU: #include <sched.h> int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask); int sched_getaffinity(pid_t pid, size_t cpu…
进程与线程 參考:http://www.cnblogs.com/blueclue/archive/2010/07/16/1778855.html 首先比較Linux进程和线程的创建的差别,以此展开: 创建进程:(1)调用fork(),为子进程新建内核栈.pthread_info和task_struct,复制父进程的大部分的參数,採用写时复制(copy-on-write)辅助父进程的资源,改动子进程如pid.ppid等重要资源.(2)调用exec()为子进程分配地址空间,加载运行程序. 创建线程:…
js基础查漏补缺: 1. NaN != NaN: 复制数组可以用slice: 数组的sort.reverse等方法都会改变自身: Map是一组键值对的结构,Set是key的集合: Array.Map.Set都属于iterable类型,可用for...of遍历: 2. rest参数只能写在最后,前面用...标识: 一个函数接收另一个函数作为参数称之为高阶函数,比如map.reduce.filter.sort: arr.map(String) 将数组元素都变为string类型: // 数组去重 ar…
明确EF建立的数据库和对象之间的关系 EF也是一种ORM技术框架, 将对象模型和关系型数据库的数据结构对应起来,开发人员不在利用sql去操作数据相关结构和数据.以下是EF建立的数据库和对象之间关系 关系数据库 对象 数据库 DbContext类 表 DbContext中的DbSet<实体类名> 表间的关联 实体类之间的关联 字段 实体类的公有属性 单条数据 单个实体类的对象 约束(主键.外键默认值) 实体类中的特性 了解EDM( 实体数据模型) EF使用概念模型. 映射和存储模型.三个模型来描…
看到一个总结的知识: 感觉很全面的知识梳理,自己在github上总结了计算机网络笔记就很累了,猜想思维导图的方式一定花费了作者很大的精力,特共享出来.原文:java基础思维导图 自己学习的查漏补缺如下,原文:java基础思维导图:  不常用到的运算符: ^ : 按照位异或运算,不同为1,相同为0: >>>    :     无符号右移,忽略符号位,空位都以0补齐 String中的方法: concat(不是concnect):连接新的字符串 int lastIndexOf():返回子字符串…
week1查漏补缺 经过第一周的学习后,在蓝墨云班课上做了一套31道题的小测试,下面是对测试题中遇到的错误的分析和总结: 一.背记题 不属于Java后继技术的是? Ptyhon Java后继技术有? JDBC.JSP.XML.Java EE等 不属于Java集成开发而环境的是? PyCharm Java集成开发环境有? NetBean.MyEclipse.IntelliJ IDEA等 Java源文件扩展名,字节码扩展名? .java . .class Java的三大特性? 面向对象.平台无关.动…
/******************************************************************************** * Linux 进程.线程运行在指定CPU核上 * 说明: * affinity参数决定了进程.线程是否可在CPU多核之间切换,当然,并不是说就不进行 * 线程切换. * * 2017-9-22 深圳 龙华樟坑村 曾剑锋 *********************************************************…
从2014.6.30 開始工作算起. 如今已经是第416天了.不止不觉.时间过的真快. 通过对之前工作的总结.发现,你的知识面.会决定你面对问题时的态度.过程和结果. 简单来讲.知识面拓展了,你才干有很多其它的备选方法,才更有可能选择到一条最最有效的路. 趁如今正好有时间,时机又正好,開始我的技术总结补缺之路吧. 參考教材<疯狂iOS讲义>. 主要原因是.知识比較全面,涉及面比較广.适合查漏补缺. 開始吧.看我能坚持多久.…
目录 查漏补缺笔记2019/05/19 文件格式后缀 丢失修改,脏读,不可重复读 超键,候选键,主键 构S(Stmcture)/完整性I(Integrity)/数据操纵M(Malippulation) 关系范式 系统设计 数据库语言 两段协议 SQL联表查询,函数substr,right 查漏补缺笔记2019/05/19 文件格式后缀 数据库文件的扩展名为.DBC 数据表文件的扩展名为 .DBF 表单文件的扩展名为 .SCX 项目文件的扩展名为 .PJX 丢失修改,脏读,不可重复读 事务之间的对…
前言:在前几篇查漏补缺中,其实我们已经涉及到bean生命周期了,本篇内容进行详细分析. 首先看bean实例化过程: 分析: bean实例化开始后 注入对象属性后(前面IOC初始化十几篇文章). 检查激活Aware接口. 执行BeanPostProcessor前置处理 实例化bean,这里会检查InitializingBean和init-method方法. 执行BeanPostProcessor后置处理 注册销毁bean的回调方法(并不是必须). 使用bean. 检查DisposableBean和…
Django 查漏补缺 Django  内容回顾: 一. Http 请求本质: 网络传输,运用socket Django程序: socket 服务端 a. 服务端监听IP和端口 b. 浏览器发送请求 HTTP由两部分组成:请求和响应.当你在Web浏览器中输入一个URL时,浏览器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息.当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据.直到浏览器解析该响应并显示出网…
Mysql查漏补缺 存储引擎 数据库使用存储引擎来进行CRUD的操作,不同的存储引擎提供了不同的功能.Mysql支持的存储引擎有InnoDB.MyISAM.Memory.Merge.Archive.Federated.CSV.BLACKHOLE等,默认使用InnoDB作为存储引擎. 存储引擎列表 功能 MylSAM MEMORY InnoDB Archive 存储限制 256TB RAM 64TB None 支持事务 No No Yes No 支持全文索引 Yes No No No 支持树索引…
Java查漏补缺(3) 继承·抽象类·接口·静态·权限 相关 this与super关键字 this的作用: 调用成员变量(可以用来区分局部变量和成员变量) 调用本类其他成员方法 调用构造方法(需要在方法第一行) 举个栗子: public class Father { String name; public Father() { System.out.println("父类无参构造"); } } public class Son extends Father{ String name;…
Java基础查漏补缺(2) apache和spring都提供了BeanUtils的深度拷贝工具包 +=具有隐形的强制转换 object类的equals()方法容易抛出空指针异常 String a=null; /*使用a.equals(b)抛出异常 优化方法1,若b为常量,即a.equals("test") 此时调用"test".equals(a)可避免空指针错误 优化方法2,使用Objects工具类:java.util.Objects 调用Objects.equal…
Java基础查漏补缺 String str2 = "hello"; String str3 = "hello"; System.out.println(str3==str2);//true Java运行时会维护一个String Pool(String池).String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复.而一般对象不存在这个缓冲池,并且创建的对象仅仅存在于方法的堆栈区. break需要在switch和loop内: (虽然没有这么做过--)…
本文大部分问题来源:50道CSS基础面试题(附答案),外加一些面经. 我对问题进行了分类整理,并给了自己的回答.大部分知识点都有专题链接(来源于本博客相关文章),用于自己前端CSS部分的查漏补缺.虽作为一个面试资料,但感觉也能帮助前端新手梳理CSS的知识点. 开胃餐-两道常见考题 盒子模型 样式与选择器 CSS3 包含块 BFC 中插小点 定位position display与visibility float flexbox overflow 响应式设计 CSS优化 应用 开胃餐x2 用纯CSS…
Asp.Net Core 查漏补缺<一> -- IStartFilter IStartFilter 实现了Configure,如下图一,而Configure方法接受并返回Action<IApplicationBuilder> 如图二,IApplicationBuilder是用于定义配置应用请求管道的. (图一) (图二) 下面就让我们动手尝试一把 1.1 定义中间件类 StartFilterMiddleware public class StartFilterMiddlerware…
前言 学习Go半年之后,我决定重新开始阅读<The Go Programing Language>,对书中涉及重点进行全面讲解,这是Go语言知识查漏补缺系列的文章第二篇,前一篇文章则对应书中一二两章. 我也开源了一个Go语言的学习仓库,有需要的同学可以关注,其中将整理往期精彩文章.以及Go相关电子书等资料. 仓库地址:https://github.com/BaiZe1998/go-learning 第三章.基本数据类型 3.1 整数 负数的%运算 &^(位运算符:and not),x…
在平时工作中,经常会听到应用程序的进程和线程的概念,那么它们两个之间究竟有什么关系或不同呢?一.深入理解进程和线程的区别 1)两者概念 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 线程是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位线程自己基本上不拥有系统资源,只拥有一点 在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线…
程序.进程和线程的区别 程序是一组指令及参数的集合,指令按照既定的逻辑控制计算机运行.进程则是运行着的程序,是操作系统执行的基本单位.线程则是为了节省资源而可以在同一个进程中共享资源的一个执行单位.   程序和进程的区别:     C.C++.Java等语言编写的源程序经相应的编译器编译成可执行文件后,提交给计算机处理器运行.应用程序的运行状态称为进程.进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统维护的资源管理实体.可以从…