曹洪双

Step after step the ladder is ascended

面试必问的CAS

概述 CAS(Compare-and-Swap),即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术。CAS也是现在面试经常问的问题,本文将深入的介绍CAS的原理。 案例 介绍CAS之前,我们先来看一个例子。 上面这个例子在volatile关键字详解...

2019-05-22 11:30:35

阅读数 8

评论数 0

安装jenkins时遇到ERROR: No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin的问题

1.安装按照官网推荐步骤(Ubuntu系统): wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/deb...

2019-05-16 17:13:50

阅读数 3

评论数 0

使用yaml文件创建deployment

1.Jenkinsfile // 需要在jenkins的Credentials设置中配置jenkins-harbor-creds、jenkins-k8s-config参数 pipeline { agent any environment { HARBOR_CREDS = cred...

2019-05-13 14:09:12

阅读数 27

评论数 0

采用jenkins pipeline实现自动构建并部署至k8s

前言 在日常开发中,经常会有发布的需求,而且经常会碰到各种环境,比如:开发环境、测试环境、生产环境。虽然可以使用手动构建、上传服务器部署的方式,但在微服务架构下一个项目经常包含多个微服务的部署,如果用手动方式就会非常繁琐而且容易出错。使用jenkins结合SCM可以实现代码的整个自动化构建部署过...

2019-05-13 11:51:52

阅读数 15

评论数 0

tomcat内部结构及请求原理(转)

Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。 Tomcat的组织结构 Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的是Catalina se...

2019-03-26 17:03:47

阅读数 132

评论数 0

tomcat性能优化

Tomcat在各位JavaWeb从业者常常就是默认的开发环境,但是Tomcat的默认配置作为生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈. 幸好Tomcat还有很多的提升空间.下文介绍一下Tomcat优化,可以分为内存,线程,IO. 一:Tomcat内存优化,启动时告诉JVM...

2019-03-26 16:02:39

阅读数 19

评论数 0

手写SpringMVC框架(简易版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yaluoshan/article/details/80768258 SpringMVC简介 SpringMVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有...

2019-03-15 18:08:53

阅读数 65

评论数 0

手写SpringMVC源码

项目依赖 <dependencies> <dependency> <groupId>junit</groupId&gt...

2019-03-13 16:19:40

阅读数 27

评论数 0

Java实现动态代理的两种方式

一般而言,动态代理分为两种,一种是JDK反射机制提供的代理,另一种是CGLIB代理。在JDK代理,必须提供接口,而CGLIB则不需要提供接口,在Mybatis里两种动态代理技术都已经使用了,在Mybatis中通常在延迟加载的时候才会用到CGLIB动态代理。 1.JDK动态代理: public...

2019-03-13 16:16:09

阅读数 45

评论数 0

多线程中的ThreadLocal 详解

要了解ThreadLocal,首先搞清楚ThreadLocal 是什么?是用来解决什么问题的? ThreadLocal 是线程的局部变量, 是每一个线程所单独持有的,其他线程不能对其进行访问, 通常是类中的 private static 字段,是对该字段初始值的一个拷贝,它们希望将状态与某一个线程...

2019-03-08 11:27:18

阅读数 26

评论数 0

微服务CICD- jenkins + gitlab + webhooks + publish-over-ssh

jenkins服务器:10.211.55.4 应用服务器:10.211.55.3 一、jenkins安装publish-over-ssh 安装插件过程同前。 二、建立ssh信任(这也就是ssh的原理) 1、jenkins生成密钥对 在jenkins服务器执行 ssh-keygen ...

2019-03-01 17:03:41

阅读数 45

评论数 0

基于kubernetes集群部署DashBoard

1、yaml文件   编辑dashboard.yaml,注意或更改以下红色部分: apiVersion: extensions/v1beta1 kind: Deployment metadata: # Keep the name in sync with image version and ...

2019-02-26 13:09:13

阅读数 58

评论数 0

K8S基础概念

一、核心概念 1、Node Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的Kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁、以及实现软件模式的...

2019-02-21 11:37:06

阅读数 46

评论数 0

Java8新特性——StreamAPI(一)

1. 流的基本概念 1.1 什么是流? 流是Java8引入的全新概念,它用来处理集合中的数据,暂且可以把它理解为一种高级集合。 众所周知,集合操作非常麻烦,若要对集合进行筛选、投影,需要写大量的代码,而流是以声明的形式操作集合,它就像SQL语句,我们只需告诉流需要对集合进行什么操作,它就会自动进...

2019-02-11 10:24:58

阅读数 45

评论数 0

Java8 新特性之流式数据处理

一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现。比如我们希望对一个包含整数的集合中筛选出所有的偶数,并将其封装成为一个新的List返回,那么在java8之前,我们需要通过如...

2019-01-30 16:15:06

阅读数 36

评论数 0

基于 Jenkins 的 CI/CD(二)

Jenkins P ip eline 介绍 要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式。Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成...

2019-01-14 14:21:13

阅读数 92

评论数 0

gitlab+jenkins的搭建

搭建环境:两台centos6.7 64位 一 gitlab的安装   gitlab代码管理仓库:   1、按照gitlab 官方提供的文档,安装如下包: [root@node02 ~ 10:13:35]#yum install curl policycoreutils openssh-se...

2019-01-11 14:44:19

阅读数 125

评论数 0

三、完整集群部署 - kubernetes-with-ca

1. 理解认证授权 1.1 为什么要认证 想理解认证,我们得从认证解决什么问题、防止什么问题的发生入手。 防止什么问题呢?是防止有人入侵你的集群,root你的机器后让我们集群依然安全吗?不是吧,root都到手了,那就为所欲为,防不胜防了。 其实网络安全本身就是为了解决在某些假设成立的条件下如何...

2018-12-28 15:37:23

阅读数 38

评论数 0

二、基础集群部署 - kubernetes-simple

1. 部署ETCD(主节点) 1.1 简介   kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运行的pod,deployment,service等等。都需要持久化。etcd就是它的数据中心。生产环境中为了保证数据中心的高可用和数据的一致性,一般...

2018-12-28 15:35:10

阅读数 40

评论数 0

一、预先准备环境

1. 准备服务器 这里准备了三台ubuntu虚拟机,每台一核cpu和2G内存,配置好root账户,并安装好了docker,后续的所有操作都是使用root账户。虚拟机具体信息如下表: 系统类型 IP地址 节点角色 CPU Memory Hostname ubun...

2018-12-28 15:33:58

阅读数 34

评论数 0

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