摘要: 关键代码1 关键代码2 完整代码: 阅读全文
posted @ 2018-02-09 11:49 exexex 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1,生产一个,消费多个(生产多个,消费一个):对notify()的线程没有判断:将if换成while 2,全部等待:notify换成notifyAll 阅读全文
posted @ 2018-02-08 20:19 exexex 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 实例1 示例代码2 解决多线程共享变量问题:声明实现runnable接口的类 解决打印0,-1,-2票:使用同步代码块 同步代码函数 // 正确使用同步函数:将需要同步的部分单独写在synconized函数中,在run函数中调用 阅读全文
posted @ 2018-02-05 19:31 exexex 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 1,类继承体系的根类,是所有类的直接或间接父类 2,该类定义的一定是所有的类都具备的方法 3,java认为所有的对象都具备可比性,都能比较俩对象是否相同 .equals()比较的是地址值是否相同 阅读全文
posted @ 2018-01-31 19:30 exexex 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 为了降低数据库操作对主函数的耦合性:定义接口 阅读全文
posted @ 2018-01-31 16:55 exexex 阅读(123) 评论(0) 推荐(0) 编辑
摘要: //判断指向的类型符合什么类型的时候 //判断的时候父类的对象必须写在子类的对象的下面 //使用的场景:子类的种类有限,当传的类型需要进行其他操作,需要调用特有方法时 在多态中,成员函数的特点(编译看左边,运行看右边) (1)编译的时候看引用的类型中是否有调用的方法,如果有,编译通过,没有,失败 ( 阅读全文
posted @ 2018-01-31 16:30 exexex 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 格式 特点: 随着类的加载而加载,只执行一次 对象的初始化过程 S1:jvm的加载器将person.class文件加载到内存中(方法区)(static变量,方法,代码块一起加载) S2:执行static代码块 S3:在堆中开辟空间,分配内存地址 S4:将name,age放入对内存,分别初始化为nul 阅读全文
posted @ 2018-01-30 21:52 exexex 阅读(112) 评论(0) 推荐(0) 编辑
摘要: API文档:应用程序接口 对多个程序都会使用到 的方法进行封装,封装成工具类 对工具类中的函数都封装成public(方便其他项目的使用),static(不用创建对象,直接使用类名调用)。 对构造函数,标记为private类型(禁止用户创建工具类的实例) 如果不声明构造函数,系统会自动添加一个构造函数 阅读全文
posted @ 2018-01-30 15:00 exexex 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1.主函数是一个特殊的函数,是程序的入口,可以被jvm访问, 2,主函数的定义(主函数是固定格式的) public:代表该函数的访问权限是最大的 static:代表主函数随着累的加载就存在了 void:主函数无返回值 main不是关键字,但是会被jvm识别 函数的参数string[]: 3,主函数可 阅读全文
posted @ 2018-01-29 21:51 exexex 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1,static可以减少内存空间的使用 2,static 是一个修饰符,可以修饰成员(成员变量,成员函数), 3,当成员被static修饰后,就多了一种调用方式(不仅可以通过变量调用,也可以通过类名) 4, 右边:堆 左边:栈 中间:方法区,共享区,数据区(static成员,方法) 5,static 阅读全文
posted @ 2018-01-29 21:08 exexex 阅读(80) 评论(0) 推荐(0) 编辑