Java语言是一种高层语言,很多底层的细节都是用C++语言来实现的。高级java基本已经快学习完了,收获还是挺多的, 但在很多细节方面还是跟不上节奏。
从反射机制开始到多线程,很多API中的有关反射的方法的调用,都很难在有效的时间类得到获得感,比如获取镜像对象后对原类中各种属性修饰符和方法的获得,其中对方法获得后不能直接去执行,还需要对方法进行执行操作。
//存在一个类为Student.通过镜像对象访问Student类中的属性和方法以及及构造器。Class cls = Classl.forName("全限类名");//获取静态对象cls.getName();
cls.getDeclaredName();
Field  idField = getField("属性名");//获取属性Object obj = cls.newInstance();//获取Student对象
Method getIdMethod = getMethod("方法名");Object values= getIdMethod.invoke(obj);//执行方法
System.out.println(values);//输出函数的结果.反射是Java 语言中不可直接可视化的操作,平时开发中却离不开反射,项目中经常用到的框架就用到反射机制。多线程,在Java中其实是理论意义上的多线性,因为平时的操作系统只有一个cup,分时操作系统在某一时间片内只能执行一个进程。

解决方案 »

  1.   

    cpu采用的时间片轮转法,某一时间片内是只能运行一个线程,多核cpu能并行,像4核就能同时运行4个线程
      

  2.   

    反射只是java这个静态语言中的一个动态特性。
    目前的cpu都是多核超线程的,例如目前一个core i7处理器是四核超线程的,每个核超线程其实就是支持4*2的8个线程处理能力。
    一个cpu核心支持独立的一个线程操作,如果两个线程操作之间没有冲突运算方式,那么一个核心支持两个线程同时执行(具体的超线程技术可以看相关资料).
    所以以目前的cpu来说,大部分从理论上来说是支持8个线程并行运行的。