发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967
课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。
腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518
第二个视频发布 https://edu.csdn.net/course/detail/27109
腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518
介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。
第三个视频发布:https://edu.csdn.net/course/detail/27574
详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------
package com.queue;
/**
*
* @author Administrator
*优先队列
*/
public class PriorityQueue {
private int[] queue;
private int size;
public PriorityQueue(int []queue){
this.queue=queue;
this.size=queue.length;
buildMaxHeap();
}
public int[] getQueue() {
return queue;
}
private void buildMaxHeap(){
for(int i=this.queue.length/2;i>=0;i--){
maxHeapipy(i);
}
}
public int getMaximun(){
return queue[0];
}
public int extractMax()throws Exception{
if(queue.length<0||size<1){
throw new Exception("没有数据");
}
int max=queue[0];
queue[0]=queue[queue.length-1];
size=size-1;
maxHeapipy(0);
return max;
}
public void increaseKey(int i,int key)throws Exception{
if(key<queue[i]){
throw new Exception("key 太小");
}
queue[i]=key;
while(i>0 &&queue[parent(i)]<queue[i]){
int tmp=queue[i];
queue[i]=queue[parent(i)];
queue[parent(i)]=tmp;
i=parent(i);
}
}
public void insert(int key)throws Exception{
size=size+1;
queue[size-1]=Integer.MIN_VALUE;
increaseKey(size-1,key);
}
private void maxHeapipy(int i){
int left=left(i+1);
int right=right(i+1);
int larger;
if(left-1<size && this.queue[left-1]>this.queue[i]){
larger=left-1;
}else{
larger=i;
}
if(right-1<size&&this.queue[right-1]>this.queue[larger]){
larger=right-1;
}
if(larger!=i){
int tmp=this.queue[i];
this.queue[i]=this.queue[larger];
this.queue[larger]=tmp;
maxHeapipy(larger);
}
}
private int left(int i){
return i*2;
}
private int right(int i){
return i*2+1;
}
private int parent(int i){
return i/2;
}
public static void main(String[] args)throws Exception {
int []data=new int[]{1,8,7,3,9,2,11,99,77,34};
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
System.out.println();
PriorityQueue queue=new PriorityQueue(data);
System.out.println("最大优先级:"+queue.getMaximun());
queue.increaseKey(1,101);
for(int i=0;i<queue.getQueue().length;i++){
System.out.print(queue.getQueue()[i]+" ");
}
System.out.println();
System.out.println("8号增加30后最大优先级:"+queue.getMaximun());
queue.extractMax();
for(int i=0;i<queue.getQueue().length;i++){
System.out.print(queue.getQueue()[i]+" ");
}
System.out.println();
System.out.println("弹出一个后的后最大优先级:"+queue.getMaximun());
queue.insert(300);
for(int i=0;i<queue.getQueue().length;i++){
System.out.print(queue.getQueue()[i]+" ");
}
System.out.println();
System.out.println("插入300后的最大优先级:"+queue.getMaximun());
}
}