Java RMI,即 远程方法调用(Remote Method Invocation),它的实现依赖于Java虚拟机(JVM),RMI允许在一个Java虚拟机中运行的对象调用在另一个Java虚拟机中运行的对象上的方法。RMI是Java的一组拥护开发分布式应用程序的API,RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程…
一个面向切面编程的练习程序。其中面向切面编程采用的是配置文件的做法,支持多个前置方法和后置方法,按照配置文件中的优先级区分执行顺序。食物类通过注解获取食物名称和价格。 \--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…
算法概述 算法的5大特性 确定性:算法的每一步骤必须有明确的定义,无二义性。即在相同输入下,每次执行都应得到相同的结果。 能行性:算法的每一步都必须是可实现的,即在有限时间内能用有限资源完成。 输入:算法可以有零个或多个输入,输入是算法处理的初始数据。 输出:算法必须有一个或多个输出,输出是算法处理的结果。 有穷性/有限性:算法必须在执行有限步骤后…
严格地说,这个不算IOC,详见:IOC? IOC与DI?。 一个IOC(控制反转)和DI(依赖注入)的练习程序,实际上和Highway-Toll-Framework的实现基本类似。 \---IOC-Exercise Agent.java Person.java Vehicle.java VehicleType.java Agent.java 提供f…
算法主要原理 算法流程如下: 算法步骤 AES算法是一种对称分组密码算法,采用代换-置换网络(SPN)结构,通过多轮迭代的加密过程对数据进行混淆和扩散,确保其安全性。该算法将明文分成固定长度的128位数据块(实际上分组长度也有128位、192位或256位三种选择),并支持128位、192位或256位的密钥,分别对应10轮、12轮或14轮的加密轮次。…
算法主要原理 加密公式:C = (P + K)%26 C:密文 P:原文 K:第几套加密方式 解密公式:P = (C - K)%26 C:密文 P:原文 K:第几套加密方式 如果P<0,P+26取得正序 简单来说,Vigenere密码实际上就是分组的凯撒密码。而分组的方法就是重复密钥,密钥相同的明文为同一组。每一组都可以看作是由不同的密钥所加…
一个高速收费站框架,新增车辆类型(包括是真的新增车辆类型或者同一类型车辆叫法不同)不用修改原有代码,只需要在类上加注解(或注解配合properties配置文件)即可。 \---highway | Main.java | MainV2.java | MainV3.java | MainV4.java | +---annotation | Vehicl…
一个socket应用程序,有服务端、消费端和充值端。不同端通过对象处理流用一个MyTransaction类来进行信息传输。服务端监听端口,并开一个新线程对发来的信息执行相应操作。消费端向服务端发送消费请求,充值端向服务端发送充值请求。 \---v2 ConsumeClient.java MyTransaction.java RechargeClie…