Java 方法声明结构 一个方法的声明包括了多个部分,下面是详细的结构及每一部分的解释。 1. 方法声明完整结构: [注解] [访问修饰符] [其他修饰符] <泛型声明> [返回类型] [方法名](参数列表) [throws 异常列表] 2. 每部分的详细解释: 部分说明注解用于给方法添加元数据。例如,@Override、@Deprec…
总结 对于同步和异步来说,最简单的说法就是:同步会按部就班的执行代码,一句一句的执行代码,所以遇到耗时操作会直接出现程序卡住的情况;异步会在异步语句时把操作交给别人(线程池、回调、消息队列)去干。 而异步和线程调度本质上并无关联,只是异步编程可能会用到线程调度(异步编程也可以用事件循环实现)。至于我们写的程序,如果说没有使用异步操作编写代码,程序卡…
项目理解 一个使用了ActiveMQ消息队列的订单-物流系统,两个系统之间通过消息队列来通信,主要有order.created.queue和logistics.updated.queue两个消息队列。 order.created.queue是一个订单创建消息队列。当新订单创建时,系统会将订单信息发送到此队列,通知其他系统或者服务去处理与该订单相关的…
一个Spring的AOP练习程序。 \---springdemo │ SpringDemoApplication.java │ ├─aop │ MyAspect.java │ ├─controller │ Test.java │ └─service Another.java 对于Spring来说,其AOP的实现十分简单。只需要在导入相关依赖之后在注…
Java RMI,即 远程方法调用(Remote Method Invocation),它的实现依赖于Java虚拟机(JVM),RMI允许在一个Java虚拟机中运行的对象调用在另一个Java虚拟机中运行的对象上的方法。RMI是Java的一组拥护开发分布式应用程序的API,RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程…
✅ 那什么才算 IoC?我们重申一次标准: 真正的控制反转需要满足这三个条件: 条件是否满足解释你不创建依赖对象✅Kitchen.createFood() or agent.getVehicle() 是“工厂”,你没直接 new你不注入依赖对象❌你手动调用 setFood() 或 setVehicle(),控制权仍在你手中容器/外部框架控制依赖注入…
一个面向切面编程的练习程序。其中面向切面编程采用的是配置文件的做法,支持多个前置方法和后置方法,按照配置文件中的优先级区分执行顺序。食物类通过注解获取食物名称和价格。 \--aop │ FoodInfo.java │ Kitchen.java │ MyAspect.java │ Proxyhandler.java │ Restaurant.java…
一个RPC(Remote Procedure Call)远程过程调用的练习程序。 \---client Client.java Connector.java DynamicProxyFactory.java RemoteCall.java RPCService.java RPCServiceImpl.java Server.java RemoteC…
在代理模式中,我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 \---demo DynamicProxyDemo.java OneService.java Service.java StaticProxyDemo.java TwoService.jav…
严格地说,这个不算IOC,详见:IOC? IOC与DI?。 一个IOC(控制反转)和DI(依赖注入)的练习程序,实际上和Highway-Toll-Framework的实现基本类似。 \---IOC-Exercise Agent.java Person.java Vehicle.java VehicleType.java Agent.java 提供f…