- 第十章 程序的内存布局 堆 栈和函数调用 11-28
- 网友最爱的单片机攻略:fopen函数的使用方法 11-28
- 虚拟内存和物理内存的区别和联系,你真的了解? 11-28
- U9 管理系统软件 11-28
- 原理上搞懂LVS的DR和NAT模式的缺陷,不看小心踩 11-28
- 两行代码就能构建一个简单的web静态服务器! 11-28
- 什么是 Apache Spark?大数据分析平台如是 11-28
- Apache使用fcgi方式与PHP结合 11-28
- shiro入门 11-28
- Python那些事——从 Zero 到 Hero , 11-28
第十章 程序的内存布局 堆 栈和函数调用
发布者: superzhang | 发布时间:2017-11-2810.1 程序的内存布局
linux进程地址空间布局
windows进程地址空间布局
栈,也被称作堆栈,就是先进先出的数据结构,FIFO。初学者请查看我的用ruby实现算法:
(题外话:很奇妙的事情是,当我学了栈之后,我觉得我的学习计算机的过程就是一个栈的数据结构:读一本书时,遇到不懂的问题,记下读到的页数,就去查第二本书,读到一半又发现了不懂的
网友最爱的单片机攻略:fopen函数的使用方法
发布者: superzhang | 发布时间:2017-11-28fopen属于文件操作,这部分在c语言放在了最后讲解,关于文件操作还有打开、关闭、读写。关于文件操作的重要性,可能有很多人没有对它重视,因为51单片机用不到文件操作,但是在Linux下,文件操作是非常重要,占有举足轻重的地位,下面我将给大家介绍fopen使用以及我使用过程中所遇到的困难和注意事项。
文件操作:在Linux当中,一切皆文件,我们要打开的设备都是文件。文件操作用到了一个很重要的指针类型,就是 文件指针FILE*,所有对文件的操作都通过它来完成。
缓冲区:输入输出的数据并不是一下子就到电脑的内存、显示器中,而是先存放到缓存区,然后程序从缓存区里面读取数据。
fopen函数的格式为 FILE *fopen(路径,操作符)
嵌入式应用领域
举个例子:假如我们要在/share/info下建立一个id.dat文件,那么我们就可以这样来写
FILE *p;
p = f
虚拟内存和物理内存的区别和联系,你真的了解?
发布者: superzhang | 发布时间:2017-11-28在计算机的远古时代其实还没有虚存机制,程序指令所访问的内存地址就是物理内存地址. 也就是不得不把程序的全部装进内存当中,然后运行 . .
首先我们知道的物理内存其实就是插在计算机主板内存槽上的实际物理内存,CPU可以直接进行寻址. 物理内存的容量是固定的,但是寻址空间却取
决于cpu地址线条数,如32位机,则寻址空间为2^32 = 4G.所以最大支持4G的寻址空间.即使我们插入了16G的内存条,我们也只是拥有4G内存.我们其
实发现无论好多事物只要是一个一成不变的就会慢慢的出现各种问题,然后就得找到它的解决方法.这不物理内存也出现问题了.现在假设没有虚存机
制,我们要运行一个程序,就不得不把程序的全部装入内存当中,然后运行.这个时候就会出现问题.
1.现在有多个程序需要运行,但是内存空间不足了,就需要将其他程序暂时拷贝到硬盘当中,然后将新的程序装入
内存运行.由于大量的数据装入装出,内存的使用效率会十分Low.
2.由于程序都是直接访问物理内存的,所以一个进程可以修改其他进程的内存数据,甚至修改内核地址空间中的数据
3.因为内存地址是随机分配的,所以程序运行的地址也是不正确的.
我们可以看出来,"微笑三连"的无奈了吧. 这就是早期没有虚存机制的无奈.但是我们怎么会被困难
U9 管理系统软件
发布者: superzhang | 发布时间:2017-11-28RedHat有3种软件包,严格来说, 2种:
① RPM = Red Hat Packages manager RPM是RedHat Package Manager( RedHat软件包管理工具) 的缩写, 这种文件格式名称虽然打上了RedHat的标志, 但是其原始设计理念是开放式的,现在包括OpenLinux、 S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。 RPM文件在Linux系统中的安装最为简便。
yum = yellow update manager 它底层也是rpm,它解决了包依赖关系。
如果a, b互相依赖,可同时安装,或--force强制安装。
rpm是基于本地数据库,查询远比yum快! 。
[root@desktop6 ~]# ls /var/lib/rpm
② 源码包,安装三步曲: ./config; make; make install
③ shell脚本。严格地说,它不属于软件包。
一、查看软件清单:
问题1、lvs的DR模式和NAT模式核心缺陷有哪些?
DR模式的缺陷
1:Realserver和 lvs的vip提供服务的端口必须一致。
也就是说:vip的端口对外端口为 80,但后端服务的真实端口为8080,通过lvs的DR模式是实
两行代码就能构建一个简单的web静态服务器!
发布者: superzhang | 发布时间:2017-11-28Web是基于http协议的一个服务,Golang提供一个net/http包,通过这个包可以快速构建一个web服务,同时可以很简单地对web的路由,静态文件等数据进行配置与操作。
首先,我们先看一个简单例子,我们在浏览器上面输入http://127.0.0.1:1023,然后能看的我们想输出的一些信息。我们先写main函数,如下:
server
然后写我们的逻辑函数sayInfo,如下:
sayInfo
然后就直接运行程序,在浏览器上面输入127.0.0.1:1023就可以了
什么是 Apache Spark?大数据分析平台如是说
发布者: superzhang | 发布时间:2017-11-28自从 Apache Spark 2009 年在 U.C. Berkeley 的 AMPLab 默默诞生以来,它已经成为这个世界上最重要的分布式大数据框架之一。Spark 可以用多种方式部署,它为 Java、Scala、Python,和 R 编程语言提供了本地绑定,并且支持 SQL、流数据、机器学习,和图处理。你将会发现它被银行、电信公司、游戏公司、政府,和所有如 Apple、Facebook、IBM,和 Microsoft 等主要的科技巨头公司使用。
非常好,Spark 可以运行在一个只需要在你集群中的每台机器上安装 Apache Spark 框架和 JVM 的独立集群模式。然而,你将更有可能做的是,希望利用资源或集群管理系统来帮你按需分配工作。 在企业中,这通常意味着在 Hadoop YARN (这是 Cloudera 和 Hortonworks 分配运行 Spark 任务的方式 )上运行。尽管 work 是在增加了本地支持的 Kubernetes 上执行,但是 Apache Spark 也可
Apache使用fcgi方式与PHP结合
发布者: superzhang | 发布时间:2017-11-28FCGI全称Fast Common Gateway Interface(快速通用网关协议),是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本,FastCGI致力于减少网页服务器与CGI程序之间交互的开销,从而使服务器可以同时处理更多的网页请求。
早期的CGI技术使外部程序与Web服务器之间交互成为可能,但CGI程序运行在独立的进程中,并对每个Web请求创建一个进程,这种方法非常容易实现,但效率很差,难以扩展。面对大量请求,进程的大量创建和消亡使操作系统性能大大下降,此外由于地址空间无法共享,也限制了资源重用。
FastCGI使用持续的(守护)进程来处理一连串的请求,这些进程由FastCGI服务器管理,而不是web服务器。当进来一个请求时,web服务器把环境变量和这个页面请求通过一个socket比如FastCGI进程与web服务器(都位于本地)或者一个TCP connection(FastCGI进程在远端的server farm)传递给FastCGI进程。
FPM介绍
FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。
具体特性和安装方式可以参照官方网站:FastCGI 进程管理器(FPM)
开始
shiro入门
发布者: superzhang | 发布时间:2017-11-28Apache Shiro 是 Java 的一个安全(权限)框架。相比于spring security 更加简单,而且够用。
• Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在
JavaSE 环境,也可以用在 JavaEE 环境。
• Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、 缓存
等。
• 下载:http://shiro.apache.org/
•Authentication:身份认证/登录,验证用户是不是拥有相应的身份;
• Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用
户是否能进行什么操作,如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户
对某个资源是否具有某个权限;
• Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有
信息都在会话中;会话
Python那些事——从 Zero 到 Hero ,一文掌握 Python
发布者: superzhang | 发布时间:2017-11-28第一个问题,什么是 Python ?根据 Python 之父 Guido van Rossum 的话,Python 是:
一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法。
对于我来说,学习 Python 的首要原因是,Python 是一种可以优雅编程的语言。它能够简单自然地写出代码和实现我的想法。
另一个原因是我们可以将 Python 用在很多地方:数据科学、Web 开发和机器学习等都可以使用 Python 来开发。Quora、Pinterest 和 Spotify 都使用 Python 来进行他们的后端 Web 开发。那么让我们来学习一下 Python 吧。
Python 基础1.变量
你可以把变量想象成一个用来存储值的单词。我们看个例子。
Python 中定义一个变量并为它赋值是很容易的。假如你想存储数字 1 到变量 “one” ,让我们试试看:
