一个IOC(控制反转)和DI(依赖注入)的练习程序,实际上和Highway-Toll-Framework的实现基本类似。 \---IOC-Exercise Agent.java Person.java Vehicle.java VehicleType.java Agent.java 提供findVehicleClasses方法,扫描包中的类,返回c…
问题描述 有两个不同的守护进程,一个守护进程接收csi数据插入到数据库中,另一个守护进程从数据库中读取csi数据进行处理。 在两个守护程序运行的过程中,从数据库中读取csi数据进行处理的守护进程在数据库中有新数据的情况下无法读取到数据库的新数据。经过排查发现,新数据确实被接收csi数据的守护进程成功插入,但是读取csi数据的守护进程并没有从数据库中…
什么是跨域问题? 跨域问题 是指浏览器出于安全考虑,限制了从一个源(Origin)加载的网页脚本或资源与另一个源的资源进行交互的行为。这种限制是由浏览器的 同源策略(Same-Origin Policy) 引起的。 “跨域”指的是浏览器尝试访问的资源与当前页面的 源(Origin) 不一致。源&nb…
一个高速收费站框架,新增车辆类型(包括是真的新增车辆类型或者同一类型车辆叫法不同)不用修改原有代码,只需要在类上加注解(或注解配合properties配置文件)即可。 \---highway | Main.java | MainV2.java | MainV3.java | MainV4.java | +---annotation | Vehicl…
一个socket应用程序,有服务端、消费端和充值端。不同端通过对象处理流用一个MyTransaction类来进行信息传输。服务端监听端口,并开一个新线程对发来的信息执行相应操作。消费端向服务端发送消费请求,充值端向服务端发送充值请求。 \---v2 ConsumeClient.java MyTransaction.java RechargeClie…
什么是PECS原则? PECS 是 “Producer Extends, Consumer Super” 的缩写。换句话说,如果参数化类型表示一个生产者(只读)就使用<? extends T>,如果它表示一个消费者(只写)就使用<? super T>。这个原则在使用泛型限定通配符时非常有用,可以帮助我们决定何时使用 <…
从运行状态到阻塞状态有等待锁的情况吗? 当一个线程试图获取一个锁(如 synchronized 块或 ReentrantLock),如果该锁已经被其他线程持有,当前线程无法立即获取锁时,就会从运行状态(Running)转换为阻塞状态(Blocked),直到锁被释放。 文章最后部分有两个讨论: 获取到锁的线程为什么不直接执行到结束,这样就不会占用锁了…