AOP面向切面编程 AOP面向切面编程一、AOP概念二、AOP底层原理:动态代理1.JDK代理2.CGlib代理三、AOP(JDK动态代理)的实现使用JDK动态代理,使用Proxy类里面的方法创建代理对象(java.lang.reflect.Proxy)1. 调用newProxyInstance方法2.编写JDK动态代理代码四、AOP操作术语1. 连接点2. 切入点3.通知(增强)4. 切面(是动作)AOP操作(准备工作)1. Spring框架一般都是基于AspectJ实现AOP操作2. 基于A
IoC控制反转 IoC控制反转一、IoC概念和原理1. 什么是IoC2. IoC底层原理二、IoC过程1. xml配置文件,配置创建的对象2. 有UserService和UserDao类,创建工厂类三、IoC接口1. IoC思想基于IoC容器完成,IoC容器底层就是Bean工厂2. Spring提供实现IoC容器的两种方式(两个接口)3. ApplicationContext接口的实现类四、IoC操作
Session会话跟踪技术 为什么要用Session会话技术因为Http是无状态的,也就是说,无法判断发来的信息是否来自同一客户端,为了区分,所以使用Session会话技术。比如,第一次请求加入购物车,第二次请求结账,如果这两次请求服务器无法区分是否为同一用户的,就会导致混乱。会话跟踪技术客户端第一次发送请求给服务器,服务器获取不到Session,则创建新的,然后响应给客户端下一次客户端给服务器发送请求的时候,就会把sessionID带给服务器,然后服务器就获取到了,由sessionID便可区分请求的客户端是否为同一个,避免.
nginx配置https以及修改域名 nginx配置https以及修改域名mkdir /root/sslcd /root/sslopenssl genrsa > jxk.key 2048openssl req -new -x509 -key jxk.key >jxk.pem输入一系列信息之后,在/root/ssl目录下输入lsls显示你的密钥和证书名称:jxk.key jxk.pem然后修改配置文件 :添加证书,修改域名,添加一个server模块vim /etc/nginx/conf.d/default.co
Nginx负载均衡架构 Nginx负载均衡架构1.准备好三台服务器2. Nginx、MariaDB、php的安装(server1,server2)安装nginx启动nginx修改配置文件安装MariaDB安装php新建index.php关闭防火墙和selinux3.代理服务器的配置(server3)安装nginx启动nginx配置文件关闭防火墙和selinux4. 在宿主机网页输入server3的ip地址
动态规划算法 动态规划算法动态规划题目特点:1. 计数2. 求最大值最小值3. 求存在性例题1. 换硬币 ——求最值动态规划2. 不同的路径——计数型动态规划3. 跳跃游戏——存在型动态规划动态规划题目特点:1. 计数1)有多少种方式从左上角走到右下角2)有多少种加法选出k个数和是sum2. 求最大值最小值1)从左上角到右下角路径的最大数字和2)求最长上升子序列长度3. 求存在性1)取石子游戏,先手是否必胜2)能不能选出k个数使和是sum例题1. 换硬币 ——求最值动态规划题目描述:给出不同
Java实现全排列 Java实现全排列要点代码时间复杂度分析要点深搜+回溯全排列可以通过构造一棵树,对这棵树进行深度搜索,便可得到全排列。对于树的每一个分支,在向下深度搜索的时候,要对上一层访问过的元素进行标记,以免重复访问。访问完一条分支之后,再回溯到根结点,访问其他分支,回溯的过程要对标记过的元素进行撤销标记(逆处理)。其余细节在代码注释中体现。代码import java.util.List;import java.util.ArrayDeque;import java.util.ArrayList;
centOS安装kvm出现的问题:本地yum源的配置--Cannot find a valid baseurl for repo: base/7/x86_64 centOS安装kvm出现的问题:本地yum源的配置--Cannot find a valid baseurl for repo: base/7/x86_64
蓝桥杯赛前整理 1. 全排列//全排列 例:abc acb bac bca cab cbapublic class Main4 { //从第k个元素开始的全排列 public static void f(char[] data,int k) { if(k==data.length) { System.out.println(data); } for(int i=k;i<data.length;i++) { char t = data[i]; data[i] = data[k]
四大排序算法 冒泡排序public static void bubbleSort(int[] a) { for(int i=0;i<a.length-1;i++) { for(int j=0;j<a.length-i-1;j++) { if(a[j]>a[j+1]) { int t = a[j]; a[j]=a[j+1]; a[j+1]=t; } } } }选择排序public static void selectionSort