- 博客(26)
- 收藏
- 关注
原创 java---生命周期
生命周期:一个事物从出生的那一刻开始到最终死亡中间的整个过程。在事物的漫长的生命周期过程中,总会经历不同的状态。线程也是生命周期的,也是存在着不同的状态之间的转换的。线程对象的状态存放在Thread类的内部类State中:注意:Thread.state类其实是一个枚举类,因为线程对象的状态是固定的,只有6种,此时使用枚举来表示是最恰当的。------
2017-06-27 19:33:09
351
原创 java----多线程
并行和并发:并行:指两个或者多个事件在同一时刻发生;并发:指两个或者多个事件在同一个时间段内发生。在操作系统中,在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时进行,但在单CPU系统中,每一个时刻却只能有一道程序在执行,故微观上这些程序只能是分时地交替进行。倘若计算机中有多个CPU,则这些可以并发执行的程序便可被分配到多个处理器上,实现多任务并行执行,即利用每个处
2017-06-22 21:57:52
226
原创 java----异常处理
解决异常的方案:1.把不同类型的异常情况描述成不同类2.分离异常流程代码和正确流程代码3.灵活处理异常,如果当前处理不了,则应交给调用者来处理-------------------------------------------------------------------------------------------------------------------------
2017-06-21 15:58:43
217
原创 java---常用类
字符串字符序列:把多个字符按照一定顺序排列起来字符串:把多个字符串串起来字符串的分类:1.不可变的字符串: String : 当前对象创建完毕后,该对象的内容是不能改变的。一旦内容改变就是一个新的对象。2.可变的字符串: StringBuilder/StringBuffer : 当对象创建完毕后,该对象的内容可以发生改变,当内容改变的时候,对象保持不变字符串的本质(
2017-06-20 16:58:31
256
原创 java-----接口
什么是接口:硬件接口:是指两个硬件之间的链接方式软件接口:程序代码,表示一种规范,具有N个方法的特征集合在java中,接口表示一种约束规范/要求实现者必须遵循该规则。用来约束使用者应该怎么做java中的接口(一个比抽象类还抽象的类):定义类的语法: 类型 class 名称 {}定义接口的语法: 类型 interface 名称 {}, 起名的时候一
2017-06-05 11:47:29
203
原创 java----abstract
使用abstract修饰且没有方法体的方法,称为抽象方法。特点:1. 使用抽象abstract修饰,方法没有方法体,留给子类去实现/覆盖2.抽象方法修饰符不能是 private 、final 、static。 因为这些修饰符都无法继承,而abstract需要继承覆盖,所以不能使用3.抽象方法必须定义在接口或者抽象类中使用abstract关键字修饰的类:特点:
2017-06-04 13:44:06
287
原创 java---单例设计模式(饿汉式)
写单例模式的步骤:1.必须在该类中,自己创建一个对象2.私有化自身的构造器,防止外界通过构造器创建一个新的对象3.想暴露一个公共的静态方法用于获取自身的对象 // 饿汉式的单例模式class ArrayUtil{//1. 必须在该类中,自己先创建出一个对象private final static ArrayUtil instances = new Array
2017-06-04 12:05:37
194
原创 java--final修饰符
为什么使用final修饰符:继承关系最大弊端是破坏封装:子类能访问父类的实现细节,而且可以通过方法覆盖的形式修改实现细节。---------------------------------------------------------------------------------------------------------------------------------------
2017-06-04 11:45:03
236
原创 java代码块
代码块:1.局部代码块,直接定义在方法内部的代码块:一般我们是不会直接使用局部代码块的,只不过我们会结合if,while,for,try 等关键字来联合使用,表示一块代码区域2.初始化代码块(构造代码块)直接定义在类中:每次创建对象的时候都会执行初始化代码块,每次创建对象的时候都会调用构造器,在调用构造器之前,会先执行本类中的初始化代码块通过反编译之后,我们发现,初始化
2017-06-03 18:28:47
198
原创 java多态
把子类对象赋给父类对象的引用学了继承关系,我们知道继承关系式一种“is a”的关系,也就是说子类是父类的一种特殊情况那么:既然子类是一种特殊的父类,那么我们可不可以认为狗对象是动物类型的对象Animal a = new Dog(); 创建一个Dog对象Animal b = new Cat(); 创建一个Cat对象因此当我们的代码变成 Animal a =
2017-06-03 16:50:29
212
转载 Java继承和覆盖
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对
2017-06-03 14:53:52
337
原创 C++第三课------默认构造函数
定义构造函数:当没有定义的时候,系统会默认定义一个构造函数析构函数的作用是当delete对象的时候清除内存中的数据。当我们自己写了一个构造函数的时候,系统是不会帮我们再生成一个构造函数的如果我们自己写了一个析构函数那么系统也不会调用系统自带的析构函数:构造函数的个数和重载:定义析构函
2017-05-31 10:56:17
258
转载 C++第二课 引用实例
一、引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名 说明: (1)&在此不是求地址运算,而是起标识作用。 (2)类型标识符是指目标变量的类型。 (3)
2017-05-29 10:49:17
253
原创 C++第二课----编程引用与空间开辟malloc和free
malloc 和 free二、函数声明(函数原型): void *malloc(int size); 说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。这个在MSDN上可以找到相关的解释,具体内容如下: mall
2017-05-28 13:27:38
305
原创 C语言第九课 文件的操作
文件的打开与关闭打开的方式:文件的打开(fopen函数)FILE *fp ; fp = fopen (文件名 , 使用文件的方式); r: 以只读的方式打开文件,只允许读,此文件必须存在,否则返回NULL,打开成功后返回文件指针,位置指针指向文件头部 r+: 以可读可写的方式打开文件,允许读写,此
2017-05-27 13:03:32
1022
原创 C语言第八课 预处理
无参数的宏定义:宏定义的几点说明:1.宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的替换,字符串可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不做任何检查,如有语法错误,只能在编译已被宏展开后的源程序时发现。2.宏定义不是说明或者语句,在行末不必加分号,如加上分号则连分号一起被置换。3.宏定义必须写在函数
2017-05-24 12:54:58
407
原创 C语言第七课 构造数据类型
结构体:结构体的一般声明方法是 : struct 结构体的名字 { 结构体中的成员变量} , 其中每一个成员变量都是必须要进行类型声明的: 也就是 类型名 成员名在初始化的时候,方法为: struct 结构体的名字 变量名其中 book 是结构体的名字, 必须要加上关键字 struct ,在对char类型赋值的时候需要用 string.h中的 str
2017-05-15 19:52:29
426
原创 C语言第7课 指针
每一个内存由8位二进制位,也就是一个字节。每一个存储单元都有唯一的编号,这个编号就称为内存单元的地址。当一个数据占用了多个地址的时候,选用第一个地址作为它的地址。指针变量也有地址,指针变量的值是另一个变量的地址。我们只关心指针变量究竟指向了哪一个地址,而不关心指针变量的地址。变量p是指针,指针存放的是变量i的地址,变量i存放的是i的一个值。
2017-05-15 14:39:00
261
原创 C语言第六课 函数
形参与实参主调与被调函数间有数据传递关系,这就是有参函数。在定义函数时,函数名后面括号中的变量名称为"形式参数",在主调函数中调用一个函数时,函数名后面括号中的参数(可以是表达式)称为"实际参数"。注意: 发生函数调用时,调用函数把实参的值复制一份,传送给被调用的函数的形参,从而实现调用函数向被调用函数的数据传送。而形参是不占用字节内存的主函数中的X值没
2017-05-14 14:11:56
308
原创 C语言第五课 字符串的
字符串的处理:字符串赋值: strcpy(目的字符串数组名 , 源字符串数组名);char arr1[ 10 ] = "I LOVE U";char arr2[ 10 ] = "GUO GUO";strcpy(arr1 , arr2); // 把 arr2中的内容拷贝到 arr1中注意: 目的字符串(arr1)必须有足够长的长度,否则不能全部装入所复制的字符串
2017-05-14 14:05:22
332
原创 C语言第四课 数组
数组的大小:数组空间的大小是 类型 乘 个数 数组对应的值 是 个数减一 数组中的 arr【0】 是第一个 。数组名可以当做一个指针,指向的是数组的第一个元素的首地址,这个指针是不可以改变的,可以根据数组名访问不同的数组元素。一维数组的初始化方法:1. int arr [5] = { 1 , 3 , 5 , 7 , 9
2017-05-13 19:11:06
234
原创 switch case
switch(输入的变量的值)case 值 : 要执行的操作break; 退出switchdefault: 输入的值没有对应的操作,就执行default里面的代码。
2017-05-13 16:13:19
269
原创 C语言第三课 流程结构
while循环:每一次都要先判断while里的子句,如果成立了,那么就继续执行循环括号里的内容,如果不成立,就跳出循环。在判断的时候,非0即真。 在while中的判断只要不是0,就会一直执行循环中的内容。当循环中有多个条件的时候:当 与 和 或 同时存在的时候,我们先算 与 再算 或。程序的短路原则: 程序中如果只有
2017-05-12 11:40:45
233
原创 C语言第二课 数字的运算
在赋值运算的时候,有括号先算括号,没有括号有乘除先算乘除,没有乘除先算加减。 当除法运算的时候,print("%d,%d\n", 123/10 , 123%10); 计算这个的时候, 第一个除法 得到的是整数的部分 也就是12,第二个是取余数 也就是3注意:只有浮点数初一浮点数才会出现小数点。其他情况下不会出现。除法运算的时候,print("%f\n",123.0/
2017-05-11 19:42:29
769
原创 C语言第一课 数据类型 整型和浮点型
数据类型:分为整形 , 浮点型整形: short int long longlong 整型有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号整型和有符号整型的区别就是无符号类型可以存放的正数范围比有符号整型中的范围大一倍,因为有符号类
2017-05-09 14:08:25
5376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人