反射和线程

反射:
        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 是线程不安全的

你可能感兴趣的:(虚拟机)