标签: Java

18 篇文章

thumbnail
【软件架构设计模式】MVC、MVP、MVVM辨析
在学习编码的过程中,我们最常听到 Spring MVC 中的 MVC ,与 Vue 中的 MVVM 。他们实际上都是“架构设计模式”中的一种设计思路,并不专属于前端或后端,任何地方只要涉及“界面 + 业务逻辑 + 数据”,理论上都能用这些设计思想来组织代码。接下来,我们按照架构演进的顺序来分别介绍三种设计模式。 MVC(Model-View-Con…
thumbnail
MapReduce工作原理及基础编程
概念介绍 MapReduce 是一种用于处理和生成大规模数据集的编程模型。 它将整个计算过程分为两个核心阶段:Map(映射) 和 Reduce(归并)。在 Map 阶段,数据被分成小块并并行处理,提取出中间的键值对结果;在 Reduce 阶段,框架会将所有具有相同键的数据聚合起来,由用户定义的逻辑进行归并处理,最终输出结果。 MapReduce 的…
thumbnail
Java中方法声明和类声明总结
Java 方法声明结构 一个方法的声明包括了多个部分,下面是详细的结构及每一部分的解释。 1. 方法声明完整结构: [注解] [访问修饰符] [其他修饰符] <泛型声明> [返回类型] [方法名](参数列表) [throws 异常列表] 2. 每部分的详细解释: 部分说明注解用于给方法添加元数据。例如,@Override、@Deprec…
thumbnail
同步与异步?线程调度?
总结 对于同步和异步来说,最简单的说法就是:同步会按部就班的执行代码,一句一句的执行代码,所以遇到耗时操作会直接出现程序卡住的情况;异步会在异步语句时把操作交给别人(线程池、回调、消息队列)去干。 而异步和线程调度本质上并无关联,只是异步编程可能会用到线程调度(异步编程也可以用事件循环实现)。至于我们写的程序,如果说没有使用异步操作编写代码,程序卡…
thumbnail
ActiveMQ-Exercise
项目理解 一个使用了ActiveMQ消息队列的订单-物流系统,两个系统之间通过消息队列来通信,主要有order.created.queue和logistics.updated.queue两个消息队列。 order.created.queue是一个订单创建消息队列。当新订单创建时,系统会将订单信息发送到此队列,通知其他系统或者服务去处理与该订单相关的…
thumbnail
spring-demo
一个Spring的AOP练习程序。 \---springdemo │ SpringDemoApplication.java │ ├─aop │ MyAspect.java │ ├─controller │ Test.java │ └─service Another.java 对于Spring来说,其AOP的实现十分简单。只需要在导入相关依赖之后在注…
thumbnail
RMI-Exercise
Java RMI,即 远程方法调用(Remote Method Invocation),它的实现依赖于Java虚拟机(JVM),RMI允许在一个Java虚拟机中运行的对象调用在另一个Java虚拟机中运行的对象上的方法。RMI是Java的一组拥护开发分布式应用程序的API,RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程…
thumbnail
IOC? IOC与DI?
✅ 那什么才算 IoC?我们重申一次标准: 真正的控制反转需要满足这三个条件: 条件是否满足解释你不创建依赖对象✅Kitchen.createFood() or agent.getVehicle() 是“工厂”,你没直接 new你不注入依赖对象❌你手动调用 setFood() 或 setVehicle(),控制权仍在你手中容器/外部框架控制依赖注入…
thumbnail
AOP-Exercise
一个面向切面编程的练习程序。其中面向切面编程采用的是配置文件的做法,支持多个前置方法和后置方法,按照配置文件中的优先级区分执行顺序。食物类通过注解获取食物名称和价格。 \--aop │ FoodInfo.java │ Kitchen.java │ MyAspect.java │ Proxyhandler.java │ Restaurant.java…
thumbnail
RPC-Exercise
一个RPC(Remote Procedure Call)远程过程调用的练习程序。 \---client Client.java Connector.java DynamicProxyFactory.java RemoteCall.java RPCService.java RPCServiceImpl.java Server.java RemoteC…