黑马程序员安卓教程:sp 的使用方法总结[共五篇]

时间:2019-05-12 12:47:53下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《黑马程序员安卓教程:sp 的使用方法总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《黑马程序员安卓教程:sp 的使用方法总结》。

第一篇:黑马程序员安卓教程:sp 的使用方法总结

sp 的使用方法总结

二、添加/修改数据

1./* 2.3.4.5.6.7.8.9.一、获取SharedPreferences对象

1.sp =getSharedPreferences(“info”, MODE_PRIVATE);

* 如果想往 sp Editor 中添加、修改、删除数据则需要通过 sp 获取到 */

Editor editor = sp.edit();

// 设置数据

editor.putString(“name”, name);editor.putString(“pwd”, pwd);

// 一定要记得执行提交方法,不然前面保存的数据没有任何效果

editor.commit();

三、获取数据

1./* 2.3.4.5.6.7.* 从sp中获取数据 * 第一个参数相当于key * 第二个参数是该值如果获取不到的默认值 */ Stringname=sp.getString(“name”,“");Stringpwd = sp.getString(”pwd“, ”“);

四、删除数据

1.// 删除数据 2.3.4.5.6.7.8.Editoredit= sp.edit();//清空所有 edit.clear();//删除key为name的数据 edit.remove(”name“);//提交

edit.commit();

五、sp的连点操作

Editor 的每个方法都返回了自己本身,因此支持连点操作。将添加数据使用连点操

作的方式修改后如下:

1.//连点操作

2.sp.edit().putString(”name“,name).putString(”pwd",pwd).commit();

第二篇:安卓初级程序员

1、数学、物理、计算机相关专业本科学历;

2、熟悉计算机体系结构及计算机网络体系结构,了解c,c++或JavaJ2ME其中一种语言;

3、对软件有较大兴趣,了解面向对象思维,有较强的逻辑思维能力及问题的解决能力;

4、熟悉linux系统编辑环境、测试流程;

5、熟悉TCP/IP、HTTP协议,有操作系统的基础知识;Oracle、MySQL、sqlserver等数据库中至少一种;

6、有较强的沟通能力,并能主动的向上级汇报工作中出现的问题;

职位描述:

-负责公司Android项目的软件开发

职位要求:

-扎实的JAVA语言基础

-计算机相关专业本科学历

-具有较好的英文读写能力

-有移动平台开发经验的优先

-一年以上Android手机开发经验

岗位描述返回公司简介 3000-3500元

1、数学、物理、计算机相关专业专科或以上学历;

2、熟悉计算机体系结构及计算机网络体系结构,了解c,c++或JavaJ2ME其中一种语言;

3、对软件有较大兴趣,了解面向对象思维,有较强的逻辑思维能力及问题的解决能力;

4、熟悉linux系统编辑环境、测试流程;

5、熟悉TCP/IP、HTTP协议,有操作系统的基础知识;Oracle、MySQL、sqlserver等数据库中至少一种;

6、有较强的沟通能力,并能主动的向上级汇报工作中出现的问题;

软件测试

岗位职责/待遇/环境:

1、根据开发进度和任务分配,完成相应模块软件的测试任务;

2、进行编制项目文档和质量记录的工作;

3、能准确提出和定位软件缺陷;

4、能胜任回归测试的工作;

5、能与开发人员及产品人员有效沟通协作;

6、按时向上级汇报测试进度状况和数据。

录用流程:投递简历--初试笔试--录用签订就业协议--内部实训--上岗

工作地点:本职位工作地点在天津和北京

岗位要求:

1、计算机、通信、电子、数学等相关专业或者热爱编程,大学专科或以上学历;

2、熟悉Web产品测试,熟悉B/S架构;

3、熟悉软件功能测试和兼容性测试;

4、熟悉软件开发的过程,有面向对象的软件开发思想;

5、对主流数据库如oracle/mysql/sqlserver有一定了解;

6、有较强的沟通能力和独立思考能力,工作细致;

7、具有高度的责任心和敬业精神,良好的团队合作精神。

录用流程:投递简历--初试笔试--录用签订就业协议--内部实训--上岗 工作地点:本职位工作地点在天津和北京

第三篇:黑马程序员C语言教程:《C语言常用字符串接口总结》

《C语言常用字符串接口总结》

1)字符串操作

strcpy(p, p1)复制字符串

strncpy(p, p1, n)复制指定长度字符串 strcat(p, p1)附加字符串

strncat(p, p1, n)附加指定长度字符串 strlen(p)取字符串长度 strcmp(p, p1)比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n)比较指定长度字符串 strchr(p, c)在字符串中查找指定字符 strrchr(p, c)在字符串中反向查找 strstr(p, p1)查找字符串

strpbrk(p, p1)以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素 strspn(p, p1)以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移

strcspn(p, p1)以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移

* 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符

2)字符串到数值类型的转换

strtod(p, ppend)从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。

strtol(p, ppend, base)从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整

型进制,设置为 0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型 atoi(p)字符串转换到 int 整型 atof(p)字符串转换到 double 符点数 atol(p)字符串转换到 long 整型

3)字符检查

isalpha()检查是否为字母字符 isupper()检查是否为大写字母字符 islower()检查是否为小写字母字符 isdigit()检查是否为数字

isxdigit()检查是否为十六进制数字表示的有效字符 isspace()检查是否为空格类型字符 iscntrl()检查是否为控制字符 ispunct()检查是否为标点符号 isalnum()检查是否为字母和数字 isprint()检查是否是可打印字符

isgraph()检查是否是图形字符,等效于 isalnum()| ispunct()

4)函数原型

原型:strcpy(char destination[], const char source[]);功能:将字符串source拷贝到字符串destination中 例程:

#include #include

void main(void){

char str1[10] = { “TsinghuaOK”};

char str2[10] = { “Computer”};

cout <

注意:在定义数组时,字符数组1的字符串长度必须大于或等于字符串2的字符串长度。不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。所有字符串处理函数都包含在头文件string.h中。

strncpy(char destination[], const char source[], int numchars);strncpy:将字符串source中前numchars个字符拷贝到字符串destination中。strncpy函数应用举例

原型:strncpy(char destination[], const char source[], int numchars);功能:将字符串source中前numchars个字符拷贝到字符串destination中 例程:

#include #include void main(void){

char str1[10] = { “Tsinghua ”};

char str2[10] = { “Computer”};

cout <

原型:strcat(char target[], const char source[]);功能:将字符串source接到字符串target的后面

例程:

#include #include void main(void){

char str1[] = { “Tsinghua ”};

char str2[] = { “Computer”};

cout <

原型:strncat(char target[], const char source[], int numchars);功能:将字符串source的前numchars个字符接到字符串target的后面 例程:

#include #include void main(void){

char str1[] = { “Tsinghua ”};

char str2[] = { “Computer”};

cout <

原型:int strcmp(const char firststring[], const char secondstring);功能:比较两个字符串firststring和secondstring 例程:

#include #include

void main(void){

char buf1[] = “aaa”;

char buf2[] = “bbb”;

char buf3[] = “ccc”;

int ptr;

ptr = strcmp(buf2,buf1);

if(ptr > 0)

cout <<“Buffer 2 is greater than buffer 1”<

else

cout <<“Buffer 2 is less than buffer 1”<

ptr = strcmp(buf2,buf3);

if(ptr > 0)

cout <<“Buffer 2 is greater than buffer 3”<

else

cout <<“Buffer 2 is less than buffer 3”<

原型:strlen(const char string[]);功能:统计字符串string中字符的个数 例程:

#include #include void main(void){ char str[100];cout <<“请输入一个字符串:”;cin >>str;

cout <<“The length of the string is :”<

void *memset(void *dest, int c, size_t count);将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest, const void *src, size_t count);从src复制count字节的字符到dest.如果src和dest出现重叠, 函数会自动处理.返回dest的值.void *memcpy(void *dest, const void *src, size_t count);从src复制count字节的字符到dest.与memmove功能一样, 只是不能处理src和dest出现重叠.返回dest的值.void *memchr(const void *buf, int c, size_t count);在buf前面count字节中查找首次出现字符c的位置.找到了字符c或者已经搜寻了count个字节, 查找即停止.操作成功则返回buf中首次出现c的位置指针, 否则返回NULL.void *_memccpy(void *dest, const void *src, int c, size_t count);从src复制0个或多个字节的字符到dest.当字符c被复制或者count个字符被复制时, 复制停止.如果字符c被复制, 函数返回这个字符后面紧挨一个字符位置的指针.否则返回NULL.int memcmp(const void *buf1, const void *buf2, size_t count);比较buf1和buf2前面count个字节大小.返回值< 0, 表示buf1小于buf2;返回值为0, 表示buf1等于buf2;返回值> 0, 表示buf1大于buf2.int memicmp(const void *buf1, const void *buf2, size_t count);比较buf1和buf2前面count个字节.与memcmp不同的是, 它不区分大小写.返回值同上.char *strrev(char *string);将字符串string中的字符顺序颠倒过来.NULL结束符位置不变.返回调整后的字符串的指针.char *_strupr(char *string);将string中所有小写字母替换成相应的大写字母, 其它字符保持不变.返回调整后的字符串的指针.char *_strlwr(char *string);将string中所有大写字母替换成相应的小写字母, 其它字符保持不变.返回调整后的字符串的指针.char *strchr(const char *string, int c);查找字 串string中首次出现的位置, NULL结束符也包含在查找中.返回一个指针, 指向字符c在字符串string中首次出现的位置, 如果没有找到, 则返回NULL.char *strrchr(const char *string, int c);查找字符c在字符串string中最后一次出现的位置, 也就是对string进行反序搜索, 包含NULL结束符.返回一个指针, 指向字符c在字符串string中最后一次出现的位置, 如果没有找到, 则返回NULL.char *strstr(const char *string, const char *strSearch);在字符串string中查找strSearch子串.返回子串strSearch在string中首次出现位置的指针.如果没有找到子串strSearch, 则返回NULL.如果子串strSearch为空串, 函数返回string值.char *strdup(const char *strSource);函数运行中会自己调用malloc函数为复制strSource字符串分配存储空间, 然后再将strSource复制到分配到的空间中.注意要及时释放这个分配的空间.返回一个指针, 指向为复制字符串分配的空间;如果分配空间失败, 则返回NULL值.char *strcat(char *strDestination, const char *strSource);将源串strSource添加到目标串strDestination后面, 并在得到的新串后面加上NULL结束符.源串strSource的字符会覆盖目标串strDestination后面的结束符NULL.在字符串的复制或添加过程中没有溢出检查, 所以要保证目标串空间足够大.不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strncat(char *strDestination, const char *strSource, size_t count);将源串strSource开始的count个字符添加到目标串strDest后.源串strSource的字符会覆盖目标串strDestination后面的结束符NULL.如果count大于源串长度, 则会用源串的长度值替换count值.得到的新串后面会自动加上NULL结束符.与strcat函数一样, 本函数不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strcpy(char *strDestination, const char *strSource);复制源串strSource到目标串strDestination所指定的位置, 包含NULL结束符.不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strncpy(char *strDestination, const char *strSource, size_t count);将源串strSource开始的count个字符复制到目标串strDestination所指定的位置.如果count值小于或等于strSource串的长度, 不会自动添加NULL结束符目标串中, 而count大于strSource串的长度时, 则将strSource用NULL结束符填充补齐count个字符, 复制到目标串中.不能处理源串与目标串重叠的情况.函数返回strDestination值.char *strset(char *string, int c);将string串的所有字符设置为字符c, 遇到NULL结束符停止.函数返回内容调整后的string指针.char *strnset(char *string, int c, size_t count);将string串开始count个字符设置为字符c, 如果count值大于string串的长度, 将用string的长度替换count值.函数返回内容调整后的string指针.size_t strspn(const char *string, const char *strCharSet);查找任何一个不包含在strCharSet串中的字符(字符串结束符NULL除外)在string串中首次出现的位置序号.返回一个整数值, 指定在string中全部由characters中的字符组成的子串的长度.如果string以一个不包含在strCharSet中的字符开头, 函数将返回0值.size_t strcspn(const char *string, const char *strCharSet);查找strCharSet串中任何一个字符在string串中首次出现的位置序号, 包含字符串结束符NULL.返回一个整数值, 指定在string中全部由非characters中的字符组成的子串的长度.如果string以一个包含在strCharSet中的字符开头, 函数将返回0值.char *strspnp(const char *string, const char *strCharSet);查找任何一个不包含在strCharSet串中的字符(字符串结束符NULL除外)在string串中首

次出现的位置指针.返回一个指针, 指向非strCharSet中的字符在string中首次出现的位置.char *strpbrk(const char *string, const char *strCharSet);

查找strCharSet串中任何一个字符在string串中首次出现的位置, 不包含字符串结束符NULL.返回一个指针, 指向strCharSet中任一字符在string中首次出现的位置.如果两个字符串参数不含相同字符, 则返回NULL值.int strcmp(const char *string1, const char *string2);比较字符串string1和string2大小.返回值< 0, 表示string1小于string2;返回值为0, 表示string1等于string2;返回值> 0, 表示string1大于string2.int stricmp(const char *string1, const char *string2);比较字符串string1和string2大小,和strcmp不同, 比较的是它们的小写字母版本.返回值与strcmp相同.int strcmpi(const char *string1, const char *string2);等价于stricmp函数, 只是提供一个向后兼容的版本.int strncmp(const char *string1, const char *string2, size_t count);比较字符串string1和string2大小,只比较前面count个字符.比较过程中, 任何一个字符串的长度小于count, 则count将被较短的字符串的长度取代.此时如果两串前面的字符都相等, 则较短的串要小.返回值< 0, 表示string1的子串小于string2的子串;返回值为0, 表示string1的子串等于string2的子串;返回值> 0, 表示string1的子串大于string2的子串.int strnicmp(const char *string1, const char *string2, size_t count);比较字符串string1和string2大小,只比较前面count个字符.与strncmp不同的是, 比较的是它们的小写字母版本.返回值与strncmp相同.char *strtok(char *strToken, const char *strDelimit);在strToken 串中查找下一个标记, strDelimit字符集则指定了在当前查找调用中可能遇到的分界符.返回一个指针, 指向在strToken中找到的下一个标记.如果找不到标记, 就返回NULL值.每次调用都会修改strToken内容, 用NULL字符替换遇到的每个分界符.

第四篇:黑马程序员视频总结

面向对象:面向对象是相对于面向过程而言的。面向过程强调的是功能,面向对象将功能封装进对象,强调的是具有功能的对象。

类是对现实生活的描述。对象是一类事物实实在在存在的个体。

堆内存和栈内存:基本类型的变量和对象的引用存储在栈内存;用new创建的对象和数组存储在堆内存。

封装:隐藏对象的属性和实现细节,仅对外提供公共访问方法。原则:将不需要对外提供的内容都隐藏起来,将属性都隐藏,提供公共方法对其访问。好处:提高安全性,便于使用,提高重用性。

什么时候使用静态?成员变量:当对象中有共享数据时。成员函数:函数内部没有访问到非静态数据(对象的特有数据)。

帮助文档制作:/***/@author作者;@version 版本;@param 参数;@return 返回结果 命令:javadoc-d 文件夹-author-version xxx.java。将生成一系列网页。

静态代码块:static{}。用于给类进行初始化,只执行一次,优先于主函数。

Person p=new Person():

1、找到Person.class加载到内存。

2、执行static代码块。

3、在栈内存中开辟main()方法空间,并分配一个 变量p。

4、在堆内存中开辟实体空间。

5、进行属性的空间分配,并进行默认初始化。

6、对空间属性进行显示初始化。

7、实体的构造代码初始化。

8、调用对应的构造函数,进行构造函数初始化。

9、将实体空间首地址赋给p。单例:

class Single{

private Single(){} //私有化构造函数。

private static Single s = new Single();//静态方法要访问它,所以也要静态化。静态方法不能访问非静态的方法和属性。创建私有并静态的本类对象。

public static Single getInstance(){ //无法通过对象调用,只能是静态。定义公有并静态的方法,返回该对象。

return s;

}

}

//懒汉式:延迟加载方式。

class Single2{

private Single2(){}

private static Single2 s = null;

public static synchronized Single2 getInstance(){

if(s==null)

s = new Single2();

return s;

}

}

继承:提高代码复用性,并为多态打下基础。Java只支持单继承。多继承隐患:多个父类定义相同功能时,子类对象不确定要运行哪一个。重载:方法名相同,但参数不同的多个同名函数;

覆盖:子类重写父类的方法,要求方法名和参数类型完全一样(参数不能是子类),返回值和异常比父类小或者相同(即为父类的子类),访问修饰符比父类大或者相同

隐藏:父类和子类拥有相同名字的属性或者方法时,父类的同名的属性或者方法形式上不见了,实际是还是存在的。

多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

内部类:内部类可以直接访问外部类的成员,包括私有。外部类必须建立内部类对象才能访问内部类成员。

异常体系:error和exception

==和equals()的区别:“==”和“!=”比较的是“栈”中的内容(对象的地址),而equals()比较的是“堆”中的内容(对象的内容)。

多线程:建立线程两种方法:

1、继承Thread类;

2、实现Runnable接口。继承接口避免了单继承的局限性。

线程对象.setDaemon(true)设置守护线程。线程启动前调用,当正在运行的线程只有守护线程时,java虚拟机退出。

当a线程执行b线程的.join()方法时,a会等待b线程执行完才会执行。

线程对象.setPriority()设置线程优先级。

StringBuilder不是线程安全的,速度快;StringBuffer线程安全,慢。

泛型是一个类型安全机制,用于解决安全问题。

集合:

为方便存储和操作对象,出现集合类。数组可以存储对象,但长度固定,集合长度可变;数组可以存储基本数据类型,集合只能存储对象。

Collection:List和Set

List:有序,元素可以重复,有索引。

ArrayList,底层数据结构是数组。查找速度快。删除元素用equals()判断

LinkList,链表,增删速度快。

Vector。线程同步,数组,查找速度快。

Set:无序。元素唯一。

HashSet:底层数据结构式哈希表。通过hashCode()和equals()方法保持唯一性。如果元素hashCode值相同才会判断equals是否为true;

TreeSet:底层是二叉树。可以对元素进行排序。按自然顺序就是compareTo()。

实现排序的两种方法:

1、实现Comparable接口,覆盖comapreTo(Object obj)方法。

2、实现Comparator接口,覆盖compare(Object,Object)方法。

Map:

Hashtable,底层哈希表,不可以存储null值或键。线程同步。效率低。

HashMap,哈希表,允许使用null值或键。不同步,效率高。

TreeMap。底层是二叉树,线程不同步。可以给键进行排序。

获取Map元素的两种方法:

1、Set keyset,将Map集合中的键存入Set集合;

2、Set> mapEntry,将Map集合中的映射关系存入Set集合。

Collections:java集合的工具类,用于操作集合类。

Arrays集合:用于操作数组的工具类。

1.5新特性:可变参数,int...arr

静态导入:import static java.lang.System.*;用于导入静态方法;import java.lang.*;用于导入类文件。

System类:getProperties()方法获得返回系统属性Properties(Map集合子类)对象。Runtime类:运行时操作类。单例设计模式。

Calendar类:抽象类,用getInstance()获得对象。

Math类。

IO流:

常用基类:派生子类用父类名做后缀

字节流:InputStream,OutputStream

字符流:Reader,Writer

字符流:FileWriter,FileReader,需要flush();

字符流缓冲区:BufferedReader,BufferedWriter;要结合流才能使用。需要flush(),关闭缓冲区就是关闭缓冲区的流对象。

LineNumberReader(FileReader)类,getLineNumber()方法可以获得行号

字节流:FileOutputStream,FileInputStream。操作多媒体文件。

转换流:InputStreamReader,OutputStreamWriter。属于字符流的子类。In(System.in),out返回字节流。

System.setIn(InputStream),System.setOut(PrintStream);改变标准输入输出。

File类:

合并流:SequenceInnputStream。用vector的elements()得到Enumeration。

切割文件:循环里边创建流、关闭流。讲一个文件分部分存储在几个文件中。

java.Awt:需要调用本地系统方法实现功能。

javax.Swing:完全由java实现,增强移植性。

Component:

1、Container:Window,Panel

布局管理器:

1、FlowLayout,Panel默认布局;

2、BorderLayout,Fram默认。

TCP和UDP:TCP要经过三次握手建立连接,传输大量数据,可靠协议,效率低。UDP不需要建立连接,不可靠协议,速度快。

Socket:网络服务的一种机制,网络通信就是Socket间的通信,数据在两个Socket间通信。TCP:Socket,ServerSocket

UDP:DatagramSocket,DatagramPacket

加强:

overload:重载,存在于父类和子类、同类中。只能通过不同参数样式重载。

override:重写,存在于父类和子类之间。方法名、参数、返回值相同。子类方法不能缩小父类方法访问权限。不能抛出更多异常。

可变参数:int...arr

For循环增强:for(int i:int[])

枚举:让某个变量的取值只能为若干个固定值中的一个。

反射:在运行状态能够知道类的所有属性和方法,并调用对象的任意一个方法。获取类信息以及调用对象的方法。

类加载器:负责加载java类的字节码到虚拟机中。每个类加载器加载类时先委托给其上级加载器,当所有祖宗类加载器都没有加载到类,回到发起者类加载器时,还没加载到类,抛出ClassNotFoundException异常。

JavaBean:有set和get方法获得类属性的特殊java类。用于传递数据信息。

内省:IntroSpector,java语言对Javabean属性、事件的一些缺省处理方法。

Beanutils工具包

注解:@Override表示当前方法是覆盖父类的方法。

@Deprecated表示当前元素是不赞成使用的。

@SuppressWarnings 表示关闭一些不当的编译器警告信息。

Java系统默认三个类加载器:BootStrap,ExtClassLoader,AppClassLoader

创建动态类的实例对象:

1、通过实现的接口告诉要实现的动态类要实现哪些方法。

2、产生的类的字节码要有一个关联的类加载器对象。

3、执行代码的对象InvocationHandler。

代理:用Proxy类的getProxyClass(classLoader,interface)获得动态类的字节码文件。用反射获得构造器。用构造器的newInstance()InvocationHandler接口的对象做参数获得一个类对象。InvocationHandler对象重写pubic Object invoke(Object proxy,Method method,Object

[] args)方法返回method.invoke(target,args)。

创建动态代理对象步骤:

1、实现InvocationHandler 接口创建自己的调用处理器。重写invoke方法。

2、用Proxy.newProxyInstance(classLoader,new Class[]{Interface.class},handler}方法获得代理类实例。

Bank:

NumberManager类:产生客户

Private int lastNumber;

Private List queueNumber;

int synchronized generateNewManager():产生新客户号码。客户线程调用。

int synchronized fetchServiceNumber():取走客户号码。窗口线程调用。List是共享数据。需要互斥。

NumberMachine类:号码管理器,采用单例设计模式

private NumberManager commonManager;用get()返回对象。

private NumberManager expressManager;用get()访问。

private NumberManager vipManager;用get()访问。

Enum CustomerType COMMON,EXPRESS,VIP;

ServiceWindow类:窗口

private int windowId;窗口号码

enum CustomerType type;

public void start(){Executors.newSingleThreadExcutor().execute(new Runnable(){publicvoid run(){}})};根据type启动相应的窗口服务。

MainClass:main()函数类

开启5个普通窗口。

一个快速

一个vip

Executors.newScheduledThreadPool(1).scheduleAtFixedRate(NewRunnable(){重写run},0,1,TimeUnit.SECONDS)。

第五篇:黑马程序员PHP培训教程:Linux介绍

Linux介绍

1、计算机资源

计算机资源是由两部分组成:

硬件资源:键盘、显示器、鼠标、硬盘、内存等等。软件资源:应用程序,如office、qq等等。

问题:用户在键盘上的操作(打字)为什么会在word文档中显示出来? 流程:硬件→操作系统→程序→硬件(显示器)

操作系统:操作系统它是一个特殊的软件程序(软件资源的范畴)。

2、常见的操作系统

• Windows 它微软公司开发的一款桌面操作系统(闭源系统)。版本有dos、win98、win NT、win XP、win

7、winvista、win

8、win 10。服务器操作系统:winserver 2003、winserver 2008、winserver 2012。Mac 苹果公司开发的一款操作系统(闭源系统),目前最新的版本是IOS10。界面风格还是不错。对于系统底层的优化也是很好。Linux Linux是一个开源的操作系统,目前是市面上占有率极高的服务器操作系统。目前其分支有很多。Unix Unix是Linux操作系统的前身,Unix时间戳是指1970年1月1日0时0分0秒,1970年是Unix的时间元年,也就是Unix诞生的年份。•

3、为什么要使用Linux操作系统

之所以大部分的公司开发的时候都是使用Linux操作系统,取决于两个特性:

稳定性:取决于系统的底层架构,一般情况下Linux系统能做到很长时间不关机一点也不卡顿;

安全性:开源系统,所有人都可以贡献自己的源代码为Linux系统打补丁; 开源一定意味着免费么?

开源是指免费的将代码开放,实质上是进行服务收费。RedHat它是Linux系统的一个分支,服务收费价格大约是10万$/年。

4、Linux名字含义

狭义:是指有Linux作者(Linux之父)李纳斯(linus)所编写的一段代码; 广义:是指目前在各大公司所被广泛使用的Linux多种分支的集合。

Linux发展历史 Unix操作系统

• 1968年Multics项目

MIT、Bell实验室、美国通用电气有限公司走到了一起致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。1970年UNIX诞生

当时在开发Multics项目的时候,实验室中有一个开发成员开发了一款游戏(travelspace:遨游太空),因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏,后来他提议组织人员重新在Multics项目之上重新的开发,也就出现了1970年的Unix。当时Unix操作系统是使用的汇编语言开发的。1973年用C语言重写UNIX 因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖。导致移植性不好,所以后期在1973年使用了C语言对其进行重新开发。1975年Bell实验室允许大学使用UNIX 1975年,bell实验室允许大学使用unix操作系统用于教学作用,而不允许用于商业用途。•

Linux操作系统

• 人物

Linus

Linux的开发作者,李纳斯·托瓦兹。荷兰在校大学生。• 1991年

0.0.1版本

李纳斯当时学校使用的就是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus’sUnix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。• 1992年

0.0.2版本 • 1994年

1.0版本 • 2003年

2.6版本

上面所说的版本是指Linux的内核版本,不是指分支的发行版本。

开源文化

Linux是开源的操作系统。所谓开源就是指开放源代码。

• 人物Stallman 斯特曼

开源文化的倡导人。• 1983年GNU计划 • 1985年FSF基金会

• 1990年Emacs、GCC、程序库

• 1991年 Stallman去找Linus,商谈让Linux加入其开源计划(GNU计划)• 1992年GNU/Linux Linux分支

目前分支比较多,常见的有centos、RedHat、乌班图、debian等等。具体的分支,可以查看【文件】中的Linux分支图。

下载黑马程序员安卓教程:sp 的使用方法总结[共五篇]word格式文档
下载黑马程序员安卓教程:sp 的使用方法总结[共五篇].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐