摘要:当向集合Set中增加对象时,首先集合计算要增加对象的hashCode码,根据该值来得到一个位置用来存放当前对象。 如果在该位置没有一个对象存在的话,那么集合Set认为该对象在集合中不存在,直接增加进去。 如果在该位置有一个对象存在的话,接着将准备增加到集合中的对象与该位置上的对象进行equals方法比较。如果该equals方法返回false,那么集合认为集合中不存在该对象,再进行一次散列,将该对...
阅读全文
摘要:创建Proxy对象,测试 public class ProxyTest_old { publicstaticvoid main(String[] args) { UserDao userDao = new UserDaoImpl(); LogHandler_old logHandler = new LogHandler_old(userDao); UserDao userDaProxy = ...
阅读全文
摘要:模拟实现银行业务调度系统逻辑,具体需求如下:银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。异步随机生成各种类型的客户,生成各类型用户的概率比例为VIP客户:普通客户 :快速客户 = 1 :6 :3。客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最小值(提示:办理业务的过程可通过线程Sleep的方式模拟)。各类型客户在其对应窗口按顺序依次办理业务。当VIP(6号)窗口和快速业务
阅读全文
摘要:模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:异步随机生成按照各个路线行驶的车辆。例如:由南向而来去往北向的车辆 ---- 直行车辆由西向而来去往南向的车辆 ---- 右转车辆由东向而来去往南向的车辆 ---- 左转车辆。。。 信号灯忽略黄灯,只考虑红灯和绿灯。 应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。 具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑。 注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆。 每辆车通过路口时间为1秒(提示:可通过线程Sleep的方式模拟)。 随机生成车辆时间间隔以及红绿灯交换时间间
阅读全文
摘要:可变参数:(1.5)只能出现在参数列表的最后;...位于变量类型和变量名之间,前后有无空格都可以;调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。OverLoad-重载 与 Override-重写(经典面试题)public static int add(int x,int y,int ... args){ int sum=x; for(int i=0;iClass类Person p1=new Person();Person p2=new Person();DateMath获取字节码的方式:1.类名.class,如下:Class cls1...
阅读全文
摘要:1. 代理模式代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有:抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,...
阅读全文