1.内存接口概念 S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚(GPA-GPH)),有串口控制器 (接有TXD RXD引脚),有memory controller内存控制器,有Nand控制器等... 1.不同类型的控制器: (1)GPIO控制器属于门电路,不涉及到时序,相对简单. (2)串口控制器属于协议类接口,类似的协议类接口还有iic.iis.spi等. (3)前面的GPIO/门电路接口.协议类接口,都不会把地址输出到外部设备,仅仅只是将地址写入到相应的控制器. 接下来的内…
##DAY3 自定义视图.视图控制器.视图控制器指定视图.loadView. viewDidLoad.MVC.屏幕旋转.内存警告 #pragma mark ———————自定义视图的步骤 ——————————— 自定义视图的步骤: 1)明确该视图内部有什么控件,并且将所有控件声明成属性 2)重写LTView继承UIView的布局方法(initWithFrame:),来创建子视图,并且添加子视图(定义label和textField的布局frame,并将其添加到LTView中)(注意开辟空间,一定要…
内存管理.父子控制器面试题 1.建立父子关系控制器有什么用 回答:1>监听屏幕选中 2>如果想拿到你当前的很小的一个控制器所在的导航控制器必须要跟外面比较大的控制器建立父子关系,才能一层一层往上拿导航控制器 2.第三方API是怎么用的? 回答:0>大公司的开放API 1>github上面别人发布的框架 2>第三方API在官方文档都有说明,按照官方文档一步一步做 3>参考官方提供的示例程序 4>先自己创建一个工程试试,等熟悉了,在使用到项目中 3.列举现在熟悉iOS…
1.总线框架 下图是2440的总线框架,其中有AHB(Advanced High performance Bus)高速总线,APB(Advanced Peripheral Bus)外围总线. 不同总线对应不同的时钟. SOC <-> FCLK AHB <-> HCLK APB <-> PCLK 其中: 1.使用AHB总线的有:LCD控制器.usb控制器.中断控制器.内存控制器等... 2.使用APB总线的有:i2c.spi.timer.gpio.adc等...具体上图.…
都知道,在INTEL平台,北桥负责与CPU的联系,并控制内存.AGP.PCI数据在北桥内部传输.基本上只要主板芯片组确定,那么其支持的内存类型也就确定了. INTEL芯片组划分的很清楚,865PE属于工作站级别芯片组,不支持ECC内存,只能使用普通内存,875P芯片组属于低端服务器/工作站级别,支持ECC内存和普通非ECC内存,而E7525属于高端服务器,为了保证其稳定性,必须采用ECC REG内存,使用其他内存无法点亮. 在AMD方面,K8 CPU集成了内存控制器,CPU与内存直接交换数据,不…
iOS的内存分析和内存管理 [内存管理]一直是iOS开发中的一个重点. 本文就带你从内存分析开始一步步了解内存的占用情况,从真实的情况中领悟真正项目开发过程中的内存的使用情况. 注:本文默认你熟悉 MRC.ARC.熟悉内存管理原则,本文注重实际应用 1.内存分析 内存分析主要有两种方式 静态内存分析 动态内存分析 1.1 静态内存分析 特点: 不运行程序,直接对代码进行分析(根据代码的语法结构分析是否有内存泄露) 缺点: 不能够准确的分析出来内存泄露,但是操作简单.并且如果发现有地方有提示内存泄…
s3c2440裸机编程-时钟编程(二.配置时钟寄存器) 1.2440时钟时序 下图是2440时钟配置时序: 1.上电后,nRESET复位信号拉低,此时cpu还无法取指令工作. 2.nRESET复位信号结束后变为高电平,此时cpu开始工作.此时cpu主频FCLK=osc. 3.此时可以配置PLL,经过lock time后,FCLK倍频成新的时钟. 2.如何配置时钟 在参考手册的特性里介绍了S3C2440的工作频率,Fclk最高400MHz,Hclk最高136MHz,Pclk最高68MHz.那么 我…
为什么需要Pod Kubernetes项目之所以这么做的原因: 因为Kubernetes是谷歌公司基于Borg项目做出来的,谷歌工程师发现,他们部署的应用往往存在这进程与进程组的关系.具体说呢,就是这些应用之间有着密切的协作关系,使得他们必须部署在同一台机器上 而如果事先没有组的概念,像这样的运维关系很难处理:举个例子 rsyslogd是由3个进程组成的:一个imklog模块,一个imuxsock模块,一个rsyslogd自己的9函数主进程.这三个进程一定要运行在同一台机器上否则,他们之间基于…
欢迎关注公众号:bin的技术小屋 大家好,我是bin,又到了每周我们见面的时刻了,我的公众号在1月10号那天发布了第一篇文章<从内核角度看IO模型的演变>,在这篇文章中我们通过图解的方式以一个C10k的问题为主线,从内核角度详细阐述了5种IO模型的演变过程,以及两种IO线程模型的介绍,最后引出了Netty的网络IO线程模型.读者朋友们后台留言都觉得非常的硬核,在大家的支持下这篇文章的目前阅读量为2038,点赞量为80,在看为32.这对于刚刚诞生一个多月的小号来说,是一种莫大的鼓励.在这里bin…
内存区域 Java 虚拟机在执行 Java 程序的过程中会把他所管理的内存划分为若干个不同的数据区域.Java 虚拟机规范将 JVM 所管理的内存分为以下几个运行时数据区:程序计数器.Java 虚拟机栈.本地方法栈.Java 堆.方法区.下面详细阐述各数据区所存储的数据类型. 程序计数器 一块较小的内存空间,它是当前线程所执行的字节码的行号指示器,字节码解释器工作时通过改变该计数器的值来选择下一条需要执行的字节码指令,分支.跳转.循环等基础功能都要依赖它来实现.每条线程都有一个独立的的程序计数器…
Java中堆内存和栈内存详解   Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用. 堆内存用于存放由new创建的对象和数组.在堆中分配的内存,由java虚拟机自动垃圾回收器来管理.在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变…
虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险. 最近在网上搜集了一些资料,现整理如下: —————————————————————————————————————————— 一.为什么要了解内存泄露和内存溢出? 1.内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平: 2.通过了解内存溢出的几种常见情况,可以在出现内存溢出的时候快速的定位问题的位置,缩短解决故障的时间. 二.基本概念 理解这两个概念非…
注:“蓝色加粗字体”为书本原语 先来一张JVM运行时数据区域图,再接下来一一分析各区域功能:   程序计数器 程序计数器(program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器.此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域. Java虚拟机栈   虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表.操作数栈.…
爬虫和转载请注明原文地址:博客园蜗牛 http://www.cnblogs.com/tdws/p/5727633.html Redis所需内存 超过可用内存怎么办 Redis修改数据多线程并发—Redis并发锁 windows下redis基础操作与主从复制 从而 数据备份和读写分离 Redis两种持久化方式(RDB&AOF) 我们知道,redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节). 那么当所需内存,超过maxmemory怎么办? 这个时候就该配置文件中的ma…
1.多层控制器 ThinkPHP的控制器支持多层和多级,多层指的是控制器可以分层,例如除了默认的Controller控制器层(我们可以称之为访问控制器),还可以添加事件控制器(层),例如: ├─Controller 访问控制器 ├─UserController.class.php ├─BlogController.class.php ├─Event 事件控制器 ├─UserEvent.class.php ├─BlogEvent.class.php 访问控制器的名称是通过DEFAULT_C_LAY…
我们常常做的是将Java内存区域简单的划分为两种:堆内存和栈内存.这种划分比较粗粒度,这种划分是着眼于我们最关注的.与对象内存分配密切相关的两类内存域.其中栈内存指的是虚拟机栈,堆内存指的是java堆. 1.栈内存,即虚拟机栈.每个方法被执行的时候都会同时创建一个栈帧,用来存储局部变量,操作栈,动态链接,方法出口等信息.局部变量包括各种基本类型的变量和对象的引用变量都是在方法的栈内存中分配.其中,64位长度的long和double类型的数据占用2个局部变量的空间,其他数据类型只占用1个.局部变量…
(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界面,也就是用户看到的界面. (2)我们需要把导航控制器加载到APP中,需要把这个导航控制器设置为window的根视图控制器(都是控制器类,可以赋值),这样就相当于加载到了window里. (3)我们要在栈中新增或者删除一个视图控制器,就需要得到导航控制器,一般在栈中得所有视图控制器都有一个self.…
一般MVC项目都会把Controller 分离出来独立类库,以前用mvc3一直这样做,测试发布都能够正常运行,这次用了mvc4,发现会报错:HTTP 404.您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用.请检查以下 URL 并确保其拼写正确. 查看异常日志异常是: “未找到路径“/”的控制器或该控制器未实现 IController” 的错误.搞了一两天,重装mvc4 ,.net framework ,regiis,换服务器,问题还是一样存在.后面做了很多测试,…
我的测试结果: 图片占用内存   图片尺寸           .png文件大小 1MB              512*512          316KB 4MB              1024*1024      940KB 16MB            2048*2048      2.5MB 1.11MB         512*568 693KB          320*568          186KB 2.773MB       640*1136        664…
前言 之前的文章尤其是讲解GC的时候提到了很多的概念,比如内存溢出和内存泄露.并行与并发.Client模式和Server模式.Minor GC和Full GC,本文详细讲解下这些概念的区别. 内存溢出和内存泄露的区别 1.内存溢出 内存溢出指的是程序在申请内存的时候,没有足够大的空间可以分配了. 2.内存泄露 内存泄露指的是程序在申请内存之后,没有办法释放掉已经申请到内存,它始终占用着内存,即被分配的对象可达但无用.内存泄露一般都是因为内存中有一块很大的对象,但是无法释放. 从定义上可以看出,内…
公司的部分应用为cs结构,没有web版的,这些应用的外部访问基本都是通过使用windows server 2008 r2的远程桌面服务来实现的. 个人感觉微软远程桌面服务问题很多,今天有同事使用RemoteApp就出现了这样的问题,如图: 图1 解决此问题之前,先对服务器和客户端的环境作下说明 1.服务器.操作系统:windows server 2008 r2,角色:远程桌面服务(RD网关也部署在这台机器上,RD会话主机,RD授权,RD Web 访问) 如图: 图2 2.客户端.操作系统:win…
[深入Java虚拟机]之:Java内存区域与内存溢出 高速缓存模型如下: ----------------------------------------------------分割线---------------------------------------------------------------------- 内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域.Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器.J…
Java虚拟机在执行java程序时会把它所管理的内存会分为若干个不同的数据区域,不同的区域在内存不足时会抛出不同的异常. >>运行时数据区域的划分 (1)程序计数器程序计数器(Program Counter Register)是一块比较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器:PCR为线程私有内存,程序计数器是唯一一个在Java虚拟机规范中没有规定任何OOM情况的区域. (2)方法区方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚…
根据<Windows核心编程>得知:X86操作系统提供每个程序最多只有4G的虚拟内存,其中2G虚拟内存提供给系统用(具体用来干什么还待考察),还有2G的内存留给用户使用.那这2G内存能拿来干嘛呢?首先给你介绍程序内存的5大区:栈区,堆区,全局区(静态区),文字常量区,程序代码区.这5大区就只能可怜的蜗居在这2G的内存里,所以我们要好好的珍惜这2G内存了!大部分程序员在申请堆时都习惯使用new,因为它简单好用,但很多一部分程序员不清楚我能new多少内存!这时候就得看你的除了堆区其余4大分区占用了…
iOS开发UI篇—多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B.C.D.控制器A被称为控制器B.C.D的“父控制器”:控制器B.C.D的被称为控制器A的“子控制器” 为了便于管理控制器,iOS提供了2个比较特殊的控…
前段时间学习二叉树在处理删除操作的时候遇到一个头疼的问题:删除节点的时候明明已经置null了可树上该节点依旧存在,还必须执行node.father.left = null;才可以删除node节点,寻找了一下原因发现还是因为对java内存管理理解不够深入. 代码如下: @Test public void testNode() { Node node1 = new Node("node1"); Node node2 = new Node("node2"); node2.…
查看内存: 我们可以用free命令查看内存信息: free -g total used free shared buffers cachedMem: 15   15    0     0         0           9-/+ buffers/cache: 5 10Swap: 15  0     15 -g 是内存大小单位G,也可以-m(兆),或者不加此参数 total——总物理内存used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存free—…
java的内存分为两种,堆内存与栈内存: 堆内存用来存放数组和new的对象,比如一个文件,字节流是存放在堆中,栈内存为这个文件开辟一个索引,也就是这个文件的地址,并且保存在栈中.对象由GC处理释放内存 栈内存用来存放基本数据类型和对象/数组的内存地址,超过变量作用域的时候java会自动释放内存. GC在程序执行的什么时候执行的呢?…
在C++领域,关于C++的内存存储,结构等等,有一本书:深度探索C++对象模型,讲解的非常透彻. 而Java确把这一工作交给了虚拟机来处理. 我们首先来看看关于内存的问题. 1.问题: 1)java 的局部变量存在那里,类型怎么存放的? 2)static 变量 3)final 变量 4)method是存放的那里的 5)class类 & 内部类 是如何存放 2.java虚拟机运行时数据区 2.1程序计数器 线程隔离数据,记录当前线程执行的位置. PC计数器 由于Java虚拟机的多线程,是由线程轮换…
导航控制器和视图控制器在添加控制器的区别 1. 因导航控制器拥有导航栈,有一个普通视图控制器都没有的数组viewControllers,加入该数组中的视图控制器默认以push的方式进入导航栈.导航控制器有个[UINavigationController alloc] initWithRootViewController:rootVC]; 的初始化方法,调用该方法相当于把rootVC加入数组viewControllers的第一个位置,作为栈底部的rootVC是不会被pop出去的,与导航控制器共生死…