自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

即心即佛

朽木自雕

  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java多线程(三个线程)交替输出0到75

题目:三个线程交替输出0到75,即线程A输出0,线程B输出1,线程C输出2,线程A输出3…思路:由于三个线程一次只能有一个在打印数字,所以需要用一个锁来进行同步。打印时需要保证线程的执行顺序,所以,线程A执行完之后 不能唤醒全部线程,只能唤醒线程B。利用Condition实现,代码如下:package com.primer.demo;import java.util.concurren...

2020-02-20 11:27:50 703

原创 Springboot3 + redisson + nacos配置redis连接池

【代码】Springboot3 + redisson + nacos配置redis连接池。

2024-03-11 16:12:47 182

原创 Jenkins pipeline

jenkins pipeline

2023-01-13 14:01:34 144

原创 Spring Cloud Alibaba升级到2021版本后,本地不能访问开发环境的微服务

Spring Cloud Alibaba 2021 listOfServers失效

2022-10-27 16:06:00 442

原创 K8S部署xxl-job-admin后,定时任务失败, xxl-job remoting error(connect timed out), for url : http://10.244.3.164

K8S中部署xxl-job报错,xxl-job remoting error(connect timed out)

2022-08-03 11:34:07 2907

原创 golang通过Cond实现blcoking_queue

通过golang标准库container/list实现在多线程(多协程)并发安全的阻塞队列

2022-07-14 10:56:10 124

原创 根据proto文件生成go代码

根据proto文件生成go代码

2022-07-13 16:08:46 557

原创 Golang多协程利用chan交替打印奇数和偶数

Golang多协程(goroutine)利用chan交替打印奇数和偶数

2022-07-06 10:56:45 1963

原创 Jenkins打包golang程序后通过K8S部署

Jenkins打包golang程序后通过K8S部署,通过环境变量(ENV)方式传递参数

2022-06-28 10:08:47 684

原创 MacOs M1 安装protobuf-3.21.1

MacOS M1 安装protobuf-3.21.1

2022-06-13 22:56:48 1948

原创 【HTTPS工作原理】

HTTPS解决了HTTP的哪些问题解决内容可能被窃听的问题–加密解决报文可能遭篡改问题–数字签名解决通信方身份可能被伪装的问题–数字证书加密加密可以完美的解决被窃听的风险,比如二战时发出的电报都是加密之后发送的。加密分为两种,一种为对称加密一种为非对称加密。对称加密对称加密采用了对称密码编码技术,加密和解密使用相同的秘钥。算法公开、计算量小、加密速度快、加密效率高。但是,秘钥的管理和分发非常困难,不够安全。在数据传送前,发送方和接收方必须商定好秘钥,然后双方都必须要保存好秘钥,如果一方

2022-05-12 09:59:49 110

原创 IO通信模型

概念阻塞IO 和非阻塞IO 这两个概念是程序级别的。主要描述的是程序请求操作系统IO操作后,如果IO资源没有准备好,那么程序该如何处理的问题:前者等待;后者继续执行(但是使用线程一直轮询,直到有IO资源准备好了)。同步IO 和 异步IO,这两个概念是操作系统级别的。主要描述的是操作系统在收到程序请求IO操作后,如果IO资源没有准备好,该如何响应程序的问题:前者不响应,直到IO资源准备好以后;后者返回一个标记(好让程序和自己知道以后的数据往哪里通知),当IO资源准备好以后,再用事件机制返回给程序。

2022-05-10 10:14:14 394

转载 【Zookeeper工作原理】

Zookeeper的角色领导者(leader),负责进行投票的发起和决议,更新系统状态学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度客户端(client),请求发起方原子广播Zookeeper的核心是原

2022-05-09 14:01:17 133

原创 Java单向链表反转

要求给出单链表的头节点 head ,要求反转链表,并返回反转后的链表。实现原理单向链表反转就是将链表的指针方向改变。由于单链表没有指向前一个结点的指针,所以,我们定义一个指向前一个节点的指针pre,用于存储每一个节点的前一个结点;定义一个保存当前节点的指针cur以及下一个节点指针的next。定义好之后,遍历单链表,将next指向cur的下一个节点,将cur的next指向pre(此时链表是断开状态),pre向后移动,cur向后移动,直至遍历到最后一个结点为止。代码实现public cl

2021-09-01 14:24:55 1113

原创 Java后序输出单向链表

要求从尾到头遍历链表,并且不能改变原链表。实现原理利用栈先进后出的原理实现代码实现public class LinkedList { public static void reverseShow(Node head){ if (null == head){ return; } Stack<Node> stack = new Stack<>(); Node temp = head

2021-09-01 14:02:22 83

原创 Java数组实现环形队列

环形队列环形队列是一个首尾相连的FIFO的数据结构,采用数组的线性空间,数据组织简单。能很快知道队列是否满为空。能以很快速度的来存取数据。环形队列实现原理本章环形队列使用数组实现,当数据到了数组尾部,利用取模的方式将转回到0的位置。由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。解决这个问题的方法有三种(使用第二种方式实现):另设一布尔变量以区别队列的空和满;少用一个元素的空间。约定

2021-08-30 20:48:41 319

原创 Java稀疏数组

稀疏数组介绍当数组中大部分元素为0或者为同一值的时候,可以利用稀疏数组减少对存储资源的占用。稀疏数组只适用于数据稀疏的情况。当数组中存储的的数据过多的时候,存储在稀疏数组中的数据量,可能比原数组的中数据量还大,就不适用了。稀疏数组工作原理记录数组中一共有几行几列,一共有多少个有效元素。稀疏数组一共三列,第一行第一列用来记录原始数组的行数,第一行第二列用来记录原始数组的列数,第一行第三列用来记录有几个有效元素。第二行及以后第一列记录有效元素所在行,第二列记录有效元素所在列,第三列记录有效元素的值。

2021-08-27 16:04:38 153

原创 Springboot + ELK(Demo)

环境单台物理机安装ELKKibana使用略ES安装配置wget ‘https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz’tar -zvf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /opt/vim /opt/elasticsearch-7.13.2/config/elasticsearch.yml .修改http

2021-06-25 14:15:36 399

原创 K8S重新加入集群

问题testing-node1节点由于资源不足导入状态为NotReady。解决方案为testing-node1节点重新分配资源(具体方法略)删除testing-node1,此时,原来运行在testing-node1节点上的服务被重新分配到其他节点运行。然后,在master节点执行kubectl delete node testing-node1在master节点执行kubeadm token create --print-join-command生成节点加入集群命令[root@testing

2021-06-11 11:29:53 1204 1

原创 K8S创建密钥拉取私服镜像

修改各个Node的/etc/docker/daemon.json[root@testing-master ingress]# cat /etc/docker/daemon.json{ "registry-mirrors": ["https://85go7owl.mirror.aliyuncs.com"], "insecure-registries" : ["127.0.0.1:18082"] -- 你自己的仓库}重新加载docker配制文件systemctl daemon..

2021-03-05 16:06:46 550

原创 Hive增加Update、Delete支持

配制hive-site.xml<property> <name>hive.support.concurrency</name> <value>true</value></property><property> <name>hive.exec.dynamic.partition.mode</name> <value>nonstrict</v..

2021-02-04 12:02:45 159

原创 利用sqoop把MySQL数据导入Hive

环境准备1. 安装Hadoop2. 安装Hive安装Sqoopcd /opt/installwget https://mirror.bit.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gztar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/bigdatacd /opt/bigdata/sqoop-1.4.7.bin__hadoop-2.6.0/..

2021-02-02 14:28:52 215

原创 Fink集群安装

环境准备192.168.8.140 bigdata-node1192.168.8.141 bigdata-node2192.168.8.142 bigdata-node3192.168.8.143 bigdata-node4192.168.8.144 bigdata-node5安装jdk8(略)安装zookeeper集群(略)安装hadoop2.7集群(略)编辑hosts主机名映射(所有节点都需要执行)vim /etc/hosts在文件末尾增加ssh-c..

2021-01-21 17:49:25 204

原创 Centos安装Hadoop + Hive集群

环境准备192.168.8.140 bigdata-node1192.168.8.141 bigdata-node2192.168.8.142 bigdata-node3192.168.8.143 bigdata-node4192.168.8.144 bigdata-node5关闭防火墙(所有节点都需要执行)systemctl stop firewalld关闭selinux(所有节点都需要执行)vim /etc/selinux/configSELINUX=di..

2021-01-19 16:59:19 439

原创 Centos安装Cloudera Manager 6.3.0

环境准备192.168.8.140 bigdata-node1192.168.8.141 bigdata-node2192.168.8.142 bigdata-node3192.168.8.143 bigdata-node4192.168.8.144 bigdata-node5关闭防火墙(所有节点都需要执行)systemctl stop firewalld关闭selinux(所有节点都需要执行)vim /etc/selinux/configSELINUX=di..

2021-01-13 13:13:22 425

原创 k8s 搭建有状态的kafka集群

配置节点标签,需要在那台机器上运行kafka,需要在节点创建标签需要在那台机器上运行kafka,需要在节点创建标签配制Namespacenamespace.yamlapiVersion: v1kind: Namespacemetadata: name: kafka创建pv,需要安装nfs(nfs安装方法略)pv.yamlapiVersion: v1kind: PersistentVolumemetadata: name: nfspv1spec: cap.

2021-01-06 11:28:30 685

原创 Idea向nexus私服deploy时报错解决方法

问题:IDea 向nexus(nexus使用http协议)私服deploy时报错如下:Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project XXX: Failed to retrieve remote metadata com.test:XXX:0.0.1-SNAPSHOT/maven-metadata.xml: Could not tran

2020-12-25 10:50:55 1894 1

原创 K8S 常用命令(应该会持续更新中。。。。。。。)

##K8S常用命令功能说明命令查看所有名称空间下的podkubectl get pod --all-namespaces查看pod节点详情kubectl get pod -o wide查看异常pod节点的日志ubectl describe pod <pod名称> -n <名称空间>批量删除Error的podkubectl get podspod删除后自动启动,那就干掉deployment吧kubectl delete depl

2020-12-22 15:13:12 158

原创 Java stream flatMap List「Map「Long,String」」 to Map

public void test1(){ Map<Long,String> m1 = new HashMap<>(); m1.put(1L,"test1"); Map<Long,String> m2 = new HashMap<>(); m2.put(2L,"test2"); Map<Long,String> m3 = new HashMap<>();

2020-07-09 17:58:44 808

原创 K8S搭建Jenkins并通过ingress向外暴露服务

创建完成后,需要修改本机hosts,添加 jenkins.xxx.com访问地址:http://jenkins.yungeng.com:30080创建Jenkins.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: jenkins namespace: default labels: app: jenkinsspec: replicas: 1 selector: matchLabels: .

2020-06-09 15:58:16 1142

原创 K8S搭建MySQL5.7集群(mysql5.7 + pvc + pv + configmap + headless service + statefuleset + nfs)

环境准备:安装nexus3安装docker构建MySQL5.7Master镜像:把Dockerfile和docker-entrypoint.sh放到同一目录下,执行以下命令:docker login xxx.xx.xx.xx:18082docker build -t xxx.xx.xx.xx:18082/mysql/mysql5.7-master:1.0 .docker push xxx.xx.xx.xx:18082/mysql/mysql5.7-master:1.0 ...

2020-06-05 17:37:13 1126 3

原创 kubernetes 集群搭建

本文简要描述了kubernetes 集群再centos 7 上的搭建。1.准备: 三台centos 7 虚拟机, 配置相同2core 4G 内存。一台用于master, 两台node。2.三台机器都需要安装 docker : Docker version 18.03.0-ce, build 0520e243.由于kubernetes会自身管理网络,磁盘,内存,IO 等,所以需要linux系统做出如下操作:(三台机器都需要操作)3.1 关闭防火墙:$ systemctl stop firewalld

2020-06-02 09:23:22 264

原创 Java多线程、锁、CPU指令重排之单例模式

在面试中有没有被问题到设计模式中的单例模式?有木有在写完一个单例之后,发现面试官把问题引到了多线程、锁、指令重排的问题?有木有一种被虐的体无完肤的感脚?今天来说一下JVM的指令重排,此文章参考了《Java并发编程实战》。Java多线程中的“有序性”指的是程序按照代码的先后顺序执行。编译器为了优化性能,有时候会改变程序中语句的先后顺序,例如程序中:“a=6;b=7;”编译器优化后可能变成“b=7;...

2020-04-30 17:11:29 307

原创 判断时间段是否有交集

问题:小明的合同为2020-01-01至2020-01-31,工作时间为每天的09:00至18:00。有一个兼职项目,项目周期为2020-01-01至2020-01-31,工作时间为19:00至21:00,则小明可以报名参与些兼职。如果工作时间为17:00至21:00,则因为和本职工作时间有冲突不能报名。要求写一个方法判断时间段是否有交集。解决方案:package com.yungeng.v...

2020-03-24 17:44:06 1510

原创 Java Condition实现BlockingQueue

题目:实现BlockingQueue代码:package com.primer.demo;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.locks.Condition;import java.util.concurrent.l...

2020-02-20 12:05:03 119

原创 Java多线程利用synchronized交替打印奇数和偶数

问题:java面试中经常会遇到这个问题,如何用两个线程交替打印奇偶数。线程A打印1,线程B打印2。我们常用的实现方式是采用wait/notifyAll方法。思路:要两个线程交替打印奇偶数,必须让两个线程共享一个count,当数字是奇数是线程A打印,当数字是偶数时线程B打印,执行完打印操作后自增count,并利用wait/notifyAll方法去阻塞和唤醒线程。代码如下:public cl...

2020-02-14 17:15:02 850 1

原创 策略模式消除IF ELSE

问题描述:在你的代码中是否会出现这种情况,用很多的if else语句来执行对应的功能模块,并且各个分支模块中共同的部分也还不少,当后续迭代量上来后,随之而来的模块分支可能也会增多,有什么方法可以消除分支吗?public String sayHello(String type) { //不同的类型有不能的业务处理,导致if else太多太多。宝宝心里苦啊................

2019-11-22 16:21:12 728

原创 Springboot + Redis相同类进行转换出现ClassCastException异常

现象:用户登入后,把User放入Redis,对从Redis中取出User对象时出现ClassCastException解决办法:POM文件删除spring-boot-devtools引用<!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--&gt...

2019-07-04 15:29:12 2221 3

原创 代码提交到GitLab后自动触发Jenkins构建

1.GitLab中创建Access Token2.Jenkins创建Gitlab API Token

2019-07-03 09:42:47 2369

原创 Nginx + Sprinboot + Swagger出现no response from server错误的解决办法

问题现象Spring boot + Swagger在本地一切正常。部署到服务器上使用Nginx后,访问http://127.0.0.1:9999/test/swagger-ui.html(Nginx)跳转到http://127.0.0.1:7001/swagger-ui.html,可以正常显示Swagger的首页,点击“Try it out”按钮访问工程包含的接口时,返回no response ...

2019-05-07 09:34:03 2176

hive-site.xml

hive配制文件

2021-02-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除