发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967
课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。
腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518
第二个视频发布 https://edu.youkuaiyun.com/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.youkuaiyun.com/course/detail/27574
详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------
34.(队列)实现一个队列。
队列的应用场景为:
一个生产者线程将int类型的数入列,一个消费者线程将int类型的数出列
package com.microsoft;
public class ProducerComsumerQueue {
private int[]data;
private int start;
private int end;
//private Object objectGet=new Object();
//private Object objectPut=new Object();
public ProducerComsumerQueue(int size){
data=new int[size];
}
public synchronized void put(int value)throws Exception{
if(start==data.length-1&&end==0){
this.wait();
}
if(end-start==1){
this.wait();
}
if(start==data.length-1){
start=0;
data[start]=value;
}else{
data[++start]=value;
}
this.notify();
}
public synchronized int get()throws Exception{
if(start==end){
this.wait();
}
int ret=-1;
if(end==data.length-1){
ret=data[end];
end=0;
this.notify();
}else{
ret=data[end++];
this.notify();
}
return ret;
}
public static void main(String[] args) {
ProducerComsumerQueue queue=new ProducerComsumerQueue(10);
Comsumer c=new Comsumer(queue);
Producer p=new Producer(queue);
c.start();
p.start();
}
}
class Comsumer extends Thread{
private ProducerComsumerQueue queue;
public Comsumer(ProducerComsumerQueue queue){
this.queue=queue;
}
@Override
public void run() {
int i=0;
while(true){
try{
queue.put(i++);
Thread.sleep(500);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
class Producer extends Thread{
private ProducerComsumerQueue queue;
public Producer(ProducerComsumerQueue queue){
this.queue=queue;
}
@Override
public void run() {
while(true){
try{
System.out.println(queue.get());
Thread.sleep(1000);
}catch(Exception e){
e.printStackTrace();
}
}
}
}