全栈工程师体能备战--知识面(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),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。

时间: 2024-10-02 06:25:02

全栈工程师体能备战--知识面(20--30)的相关文章

全栈工程师体能备战--知识面(1--10)

javascript    单例设计模式:         单例模式确保某个类只有一个势力,而且自行实例化并向整个系统提供这个实例.如:cocos2dx中的导演类.[例子]我有6哥漂亮的老婆,他们的老公都是我,我就是我们家里的老公signleton,她们只要说道"老公",都是指的同一个人,那就是我. 代理设计模式: 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用.

全栈工程师体能备战--阅读的书籍

               

为什么未来是全栈工程师的世界?

技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快.今天技术的门槛下降得越来越快,原本需要一个团队做出来的Web应用,现在只需要一两个人就可以了. 同时,由于公司组织结构的变迁,也决定了赋予每个人的职责将会越来越多.尽管我们看到工厂化生产带来的优势,但是我们也看到了精益思想带来的变革.正是这种变革让越来越多的专家走向全栈,让组织内部有更好的交流. 你还将看到专家和全栈的两种不同的学习模式,以及全栈工程师的未来. 技术的革新史 从开始的CGI到MVC模式,再到前后端分离的架构模式,都在不

为什么说全栈工程师是未来?

谨以此文献给每一个为成为优秀全栈工程师奋斗的人.本文节选自<Growth: 全栈工程师学习手册>.  技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快.今天技术的门槛下降得越来越快,原本需要一个团队做出来的Web应用,现在只需要一两个人就可以了.   同时,由于公司组织结构的变迁,以及到变化的适应度,也决定了赋予每个人的职责将会越来越多.尽管我们看到工厂化生产带来的优势,但是我们也看到了精益思想带来的变革.正是这种变革让越来越多的专家走向全栈,让组织内部有更好的交流.   你还将看

全栈工程师?并没有什么卵用。每个人都应该去创业,不为别的,就为了健全你的人格(转)

  困境: 全栈工程师在实际工作中,意义并不大. 从员工角度说,工作中几乎不存在需要你全栈能力的项目或岗位,项目本身的技术跨度就不会特别大,人员配备一般也会比较健全,你的技术力通常难以得到体现,虽然你也可以为整体项目提供支援,提供建议经验,然而这并不会有什么卵用,领导很难很难认识到你的价值,你也会招来他人的嫉妒,是的,你会招来嫉妒. 从项目管理角度说,尤其是技术这一块,一般不太会让一个人全面掌握或把持一个项目,这会带来巨大的人员风险. 其次,所有的公司,薪酬都是按"岗位级别"定的,不是

为什么你不需要做一名全栈工程师?

对所有技术浅尝辄止的所谓「全栈工程师」已经OUT,那么现在,我们需要怎样的跨领域技术综合者呢? 我敢打赌,没有人可以凭借一己之力掌握下图这些领域不断更新的先进知识.单单是紧跟每个类别中的进化和新的编程接口,就几乎是一个全职的工作量. 在Web 2.0时代,全栈工程师是可能的,但是随着新一代创业公司的兴起,推动了各种技术的边际突破.从机器智能到数据分析.再到可穿戴/移动设备,让一个程序员个体实现跨全栈编程实际上变得不现实了. 在还没有移动和Web的上世纪七十年代后期,通常是一个人从头到尾写全部的程

你是否应该成为一名全栈工程师?

Asaf Yigal是Logz.io的联合创始人与产品副总裁.在Logz.io之前,Asaf与他人联合创立了Currensee,这是一个社会化交易平台,后来在2013年被OANDA收购.在 Currensee之前,Asaf在Akorri负责管理和开发一款端到端的性能监控平台,在Onaro开发过一款存储资源管理平台.后来,Akorri 与Onaro都被NetApp收购了.在Onaro之前,Asaf在以色列海军带领一个研究团队,从事人工智能系统的开发与军事化应用相关工作.近 日,Asaf撰写了一篇文

Linux全栈工程师--传智播客C++公开课之全栈工程师修成记

1.全栈工程师能干什么? 全局性思维,现代项目的开发,需要掌握多种技术.互联网项目,需要用到: 产品设计:ai, CorelDRAW 界面设计:ui ps 前端开发移动优先: ios app(oc/c++) android app(java/c++) Hrbrid app(混合式移动应用) 移动web(html5/javascript) web前端语言:html5, javascript, css3 操作系统:unix, linux web服务器:Nginx, Apache 缓存服务器:Memc

如何成为一名优秀的全栈工程师?

写在最前 我的前一篇文章<给职场新人的 10 点建议>发表后,得到了很多网友,特别是年轻程序员朋 友们的喜爱,这令我颇感意外,但又很受鼓舞.同时,我也收到了一些私信,大多来自那些毕业不久,刚步入工作岗位的职场新人.询问的内容也大多是如何选择职业方向,如何成为一名优秀的软件工程师,以及怎样快速提高自身的技能等.我在一一回复的同时,不禁想结合自身的经历,谈谈如何才能成为一名优秀的全栈工程 师. 什么是全栈工程师 全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 -