黑马程序员-Java高新技术(三)

九,类加载器及委托机制

 第一个类加载器:BootStrap;
 各类加载器管辖范围:
  BootStrap --->JRE/lib/rt.jar
  ExtClassLoader--->JRE/lib/ext/*.jar
  AppClassLoder---->CLASSPATH指定的所有jar或目录

 面试题:
  能不能自己编写个类叫java.lang.System?
  答:通常不能,为了不让我们写System类,类加载器采用了委托机制,会先委托BootStrap来加载JRE/lib/rt.jar 包中的java.lang.System,而自己编写的java.lang.System是存在CLASSPATH指定的目录下。这样可以保证BootStra优先,也就是中使用BootStrap能找到的类,这样总是使用java系统提供的System.但是我们依然有办法让系统使用我们写的类,我们可以自己定义一个类加载器,让其加载我们写的java.lang.System类。

 
十,分析代理类的作用与原理及AOP概念

 代理类可为已存在的多个具有相同接口的目标类的方法添加一些辅助功能;代理类中的方法在调用目标类中的相同的方法时,可在方法中添加其他功能代码。
   
 AOP :Aspect oriented program 面向方面的编程,目标:使用交叉业务模块化。 
 交叉业务:安全,事物,日志等等功能要贯穿带多个模块中,可称之为交叉业务

 

JVM生产的动态类必须实现一个类的子类,一个类的子类也可以用做该类的代理,所有,如果要为一个没有实现接口的类生成动态代理类,需要使用第三方CGLIB库。

代理类的各种方法中通常除了要调用目标的相应方法和对外返回目标返回的结果外,还可以在代理方法中的如下四个位置加上系统功能代码:

1、  在调用目标方法之前

2、  在调用目标方法之后

3、  在调用目标方法前后

4、  在处理目标方法异常的catch块中

  
面试小计:StringBuffer 和StringBuilder 区别:
 都是动态的拼凑一个字符串。
 效率:
  单线程:StringBuilder,不用考虑安全问题
  多线程:StringBuffer,考虑安全问题

终于看完了张老师的高新技术,可以出篇日记了,咋看起来就像笔记似的。刚开始的前部分还能跟的上,后来深入的部分视频要看了好几遍才晓得讲什么东西。时间紧迫,继续奋斗。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值