黑马程序员技术交流社区
标题: 网络编程,反射部分知识点,面试容易提问 [打印本页]
作者: wei19910428 时间: 2016-5-24 00:03
标题: 网络编程,反射部分知识点,面试容易提问
22.网络编程的三要素
(1)IP:网络中设备的标识
(2)端口:用于标识设备中接收数据的网络应用程序具体是哪一个,有效端口0~65535,0~1024为系统端口及保留端口
(3)传输协议:UDP和TCP协议,信息通讯的规则
23.什么是多态,多态的好处和弊端
多态可以理解为事物存在的多种体现形态。父类的引用指向了自己的子类对象;父类的引用也可以接收自己子类的对象。
好处:提高了代码的扩展性
弊端:父类的引用只能访问父类中有的成员(父类引用无法调用子类中特有的方法)
24.什么是暴力反射
我们知道java的特性之一就是封装,将对象的属性和具体实现隐藏起来,只对外提供公共方法访问,private修饰的内部属性和方法对我们是不可见的。
我们通过正常的方法是无法获取以及修改的,可是通过反射却可以强制获取并做一些修改,这就破坏了封装性,这就是所谓的暴力反射
25.反射获取字节码对象方式、创建对象的两种方式
获取字节码方式三种:
(1)类名.class,例如:System.class
(2)对象.getClass(),例如:new Date().getClass();
(3)Class.forName("类名"),例如:Class.forName("java.util.Date");
创建对象的两种方式:
(1)直接用字节码创建对象,只能调用默认的构造方法:字节码.newInstance();
(2)获取构造方法Constructor,然后调用构造方法创建,可以通过参数不同调用不同的构造方式
26.怎么理解反射,反射的应用
反射就是把Java类中的各种成分映射成相应的Java类。
一般情况下我们要解决某个问题,先找到相关的类,创建该类的对象,然后通过该对象调用对应的方法来解决问题。
反射是一个正好相反的过程,开始可能并没有类可以解决这个问题,却先用一个当时可能并不存在的方法解决了这个问题,后来才有的这个类。
这其实就是框架的原理,先有的框架再有解决问题的类。框架描述了整体,制订了功能方法的规范。这些都需要靠反射来完成。
使用框架有良好的扩展性,某部分功能的优化不需要涉及程序整体,只需要修改特定的部分就好了,然后通过配置文件,获取对应的类名,就可以了。
27.同步函数与同步代码块
它们的作用都是封装多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中,其他线程不可参与进来。
同步代码块:位置比较灵活,多个线程中只有持有锁的才可以操作共享数据,需要指定一个对象作为锁
同步方法:声明方法时加synchronized关键字修饰,同步函数使用的锁是this,持有锁的线程调用这个方法时其他线程无法调用。
作者: ft352177 时间: 2016-5-24 00:06
明天就要学了
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |