黑马程序员 JAVA基础学习笔记 包等

来源:互联网 发布:软件安全性认识 编辑:程序博客网 时间:2024/06/04 19:45

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

------小弟在因特网的小窝,祝愿所有的朋友身体健康-------


包这个东东  所有字母小写;

类的全名  包名..类名;

包也是一种封装;

可以用protected修饰;

使用其他包中的类时,import能够简化书写,不用写长的要死的全名;

import支持星号作为通配符;

建议不要用星号通配符;

导入了多个包 多个包中有重名的东西,还是需要些全名来区分;

建议使用cn.域名.项目名这样的格式作为包名;


多线程:

线程是最小执行单元;

JAVA.EXE是虚拟机;

新建一个对象就新建了一个线程;

线程具有随机性;现在的操作系统都是多任务操作系统导致;CPU

是分时执行不同线程的;

可以继承thread类,重写run方法  方法内放置需要多线程运行的代码;

调用start方法开启新的线程;

runable接口,可以玩多实现,突破了thread的局限;

synchronize同步代码块;

传个随便对象做锁;

同步函数  作为修饰符修饰函数;

使用thread静态的同步方法用类名.class作为锁,么么么.class是后面的反射里面的东西;

懒汉式单例加同步关键字就安全了,可是效率降低了;

判断锁之前先我们自己if判断一次可以提高一点效率;


死锁:

就是你等着我释放资源A  我等着你释放资源B,最终谁都不释放,僵在哪里了;

notifyall和while替代if  避免全部睡过去;

1.5版本后使用lock.lock;

unlock;

condition.signalall;

和不all唤醒

互相唤醒,用多个condition玩;

lock.newcondition可以只唤醒对方;

finally中释放锁;

interrupt强制恢复执行;

setdeamon后台进程依靠前台,前台结束,后台自动结束;

t.join执行权给t自己挂起来等待t结束;

setpriority设置优先级;

yield强制释放,以达到类似交替执行效果;

匿名内部类玩多线程;

0 0
原创粉丝点击