神刀安全网

全栈工程师体能备战–知识面(20–30)

21.守护进程

守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。

常常在系统引导装入时启动,在系统关闭时终止。 linux 系统启动时会启动多守护进程,大多数服务器都是用守护进程实现的。

它们没有控制终端,不能直接和用户交互,不受用户登陆、注销影响,一直运行着。

守护进程完成许多系统任务 . 有些书籍和资料也把守护进程称作:“服务” (service) 。通常采用以 d 结尾的名字。

22.Xinetd

从守护进程的概念可以看出,对于系统所要通过的每一种服务,都必须运行一个监听某个端口连接所发生的守护进程,

这通常意味着资源浪费。

为了解决这个问题, Linux 引进了 " 网络守护进程服务程序 " 的概念。 xinted extended InterNET daemon

xinetd 同时监听多个指定的端口,接受用户请求时,根据请求端口,启动不同的网络服务进程来处理这些用户请求。

可以把 xinetd 看做一个管理启动服务的管理服务器,它决定把一个客户请求交给哪个程序处理,然后启动相应的守护进程。

xinetd 无时不在运行并监听它所管理的所有端口上的服务。

当某个要连接它管理的某项服务的请求到达时, xinetd 就会为该服务启动合适的服务器。

23.Android自定义控件

开发自定义控件的步骤 :

1 、了解 View 的工作原理  

2 、 编写继承自 View 的子类

3 、 为自定义 View 类增加属性  

4 、 绘制控件  

5 、 响应用户消息  

6 、自定义回调函数

http://www.cnblogs.com/0616–ataozhijia/p/4003380.html

24.Java静态方法

java 静态方法与非静态方法有什么区别 ?

静态方法可以直接用类名点出来方法 , 而普通方法需要创建类的对象后才能调用 !

静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。

例如,我创建一个类,里面有一个静态方法:

class Test{   public static int z(int xx,int yy){    return xx+yy;   }   public int zz(int xx,int yy){    return xx+yy;   }  }

然后在含有 main 方法的类中使用这个类时,对与以上非静态和静态方法的引用方式是不同的,如下:

import Test;  public class mainClass{   int sum;   public static void main(String args[]){    sum=Test.z(1,2); //直接用 类.方法或者属性就可以使用该方法或属性。    System.out.println(sum);       Test t=new Test();    sum=t.zz(1,2); //因为zz不是静态方法,所以只能只能用Test类创建一个t对象,然后调用该对象的方法。    System.out.println(sum);   }  }

25.蓝牙uuid

关于 蓝牙 UUID  —— UUID 是“ Universally Unique Identifier ”的简称,通用唯一识别码的意思。对于蓝牙设备,每个服务都有通用、独立、唯一的 UUID 与之对应。也就是说,在同一时间、同一地点,不可能有两个相同的 UUID 标识的不同服务。

// UUID号,表示不同的数据协议  private final String UUID_STR = "00001101-0000-1000-8000-00805F9B34FB";

26.内存映射文件

内存映射文件,是由一个文件到一块内存的映射。 Win32 提供了允许应用程序把文件映射到一个进程的函数  (CreateFileMapping) 。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行 I/O 操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。

Linux 下为 mmap 函数。

27.Afinal

Afinal是一个android的ioc,orm框架,内置了四大模块功 能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的 方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行 代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。

目前 Afinal 主要有四大模块:

FinalDB模块:android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。

FinalActivity模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。

FinalHttp模块:通过httpclient进行封装http数据请求,支持ajax方式加载。

FinalBitmap模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现 的oom和android容器快速滑动时候出现的图片错位等现象。FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画 等。FinalBitmap的内存管理使用lru算法,没有使用弱引用(android2.3以后google已经不建议使用弱引 用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),更好的管理bitmap内存。FinalBitmap可以自定义 下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,在imageview显示图片的时候播放动画等(默认是渐变动 画显示)。

IOC: 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。

ORM: 对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 全栈工程师体能备战–知识面(20–30)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址