反射:
JavaBaen:就是一个组件, 基于组件式的开发
JavaBean的规范:1必须有一个无参 公共度 构造方法
2必须要符合命名规范的get和set方法
3必须支持内省
4应实现Serializable接口
5如果有运行时外观,就必须扩展java。awt。componentnt这个类
JavaBaen的分类:
简单属性JavaBaen:
就是set get就是单一的获得和设置属性值得JavaBaen;
绑定属性JavaBaen
约束属性JavaBaen
什么是反射
就是一个程序运行时,获得这个类的方式,属性,构造方法。
反射的作用:
就是一个程序运行时,获得这个类的名称,来创建这个类,获得这个类的信息
类模板对象,一个类就只有一个类模板对象
new 对象: 是Java虚拟机找此类的类模板对象,再创建此类(隐式创建对象)
通过反射创建对象是显式创建对象
获得类模板的方式; 对象。getClass(); 返回 类模板对象
类名.class() ;返回 类模板对象
Class.forName("全限类名"); 返回 类模板对象 全限类名 = 包名 + 类名
创建对象 调用newInstance() 返回一个Object()对象
创建对象的对象名。 Object invoke(Object obj, Object... args) 对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。
---------------------------------------------------------------------------------
线程
线程状态: 新建 就绪 运行 死亡
运行中的四个状态(睡眠(sellp),线程自动起来)
(等待(wait),别人来唤醒)
(挂起(yeild),让出当前cpu 的控制权)
(阻塞(IO),等待输入)
终止:
终短:Interrupted方法 终短线程休眠。。。
线程同步:
注意监视器的问题:
如果是同步方式,那么这个监视器就是当前的对象,只有进入这个对象,才会被同步
如果是同步块的话,那么这个就可以很灵活,而同步块参数里面对象,监视器也就是步块参数对象.
如果在一个对象里面的方法是同步的,线程进入这个对象他会被同步,如果这个对象里面的有没有同步的方法,那么,不是同步的方法就不会被同步
StringBuffer 是线程安全的
StringBuilder 是线程不安全的