上网浏览网页,离不开服务器,客户请求页面,服务器响应页面,响应的内容是根据每一个web请求来产生动态内容的,其内部即启动多个线程来产生不一样内容。这种请求响应的交互,都是基于HTTP协议的。
固然如今随着业务愈来愈多样化,web服务器变得复杂了,拥有了像缓存、安全和session管理这些附加功能。
web请求都是使用Request和Response式的交流。java
反射Reflection:把Java类中的各类结构(方法、熟悉、构造器、类名)映射成一个个的Java对象。利用反射技术能够对一个类进行解剖,反射是框架设计的灵魂。web
举个例子:开了一个工厂山寨iphone,须要图纸;
1.买一个手机,进行拆分,研究结构
2.买通iphoone工程师,直接拿到图纸
3.存在银行的图纸,咱们的工程师能够去偷(定位)编程
package server.study; import java.lang.reflect.InvocationTargetException; /** * Created by 16114 on 2019/8/22. * 反射:把Java类的各类结构(方法、属性、构造器、类名)映射成一个个的Java对象 * 1.获取Class对象(看Class API) * 三种方式:Class.forName("完整路径") * 2.能够动态建立对象clz.getConstructor().newInstance() */ public class ReflectTest { public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException { //三种方式 //1.对象.getClass() Iphone iphone = new Iphone(); Class clz = iphone.getClass(); //2.类.class() clz = Iphone.class; //3.Class.forName("包名.类名") //耦合度低,动态添加 clz = Class.forName("server.study.Iphone"); //建立对象 Iphone iphone1 = (Iphone)clz.newInstance(); //不推荐,不安全 System.out.println(iphone1); //java 9 用构造器 Iphone iphone2 = (Iphone)clz.getConstructor().newInstance(); System.out.println(iphone2); } } class Iphone{ public Iphone(){ } }