自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 Nginx安装

返回目录master上执行:cd /root/Myself/204share/yaml/nginxvim nginx_test_rs_volume_deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: nginx-rs labels: app: nginx-rsspec: replicas: 3 #复制3个pod selector: matchLabels: app: ng

2020-07-28 22:10:42 134

原创 部署 Dashboard

返回目录部署 Dashboard修改hostvim /etc/hosts,添加如下内容:192.30.253.112 github.com192.30.253.119 gist.github.com151.101.100.133 assets-cdn.github.com151.101.100.133 raw.githubusercontent.com151.101.100.133 gist.githubusercontent.com151.101.100.133 cloud.gith

2020-07-28 21:55:11 589

原创 k8s安装

返回目录k8s安装1.设置系统参数cat < /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOFsysctl --system2.配置yum源cat < /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=http://mirrors.a

2020-07-28 21:49:03 270

原创 docker安装

返回目录docker安装安装依赖yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo重建yum缓存yum clean allyum makecache安装docker-ceyum -y install docker-ce注册do

2020-07-28 21:39:22 139

原创 nfs配置

返回目录nfs 配置生成共享路径mkdir /sharedata安装yum install rpcbind查看安装包:rpm -qa | egrep “nfs|rpcbind”nfs4-acl-tools-0.3.3-20.el7.x86_64libnfsidmap-0.25-19.el7.x86_64rpcbind-0.2.0-49.el7.x86_64nfstest-2.1.5-1.el7.noarchnfs-utils-1.3.0-0.66.el7.x86_64nfsomet

2020-07-28 21:32:39 254 1

原创 Linux安装

linux安装使用vmware安装Linux基础配置本人安装5台虚拟机分别为:192.168.50.200:k8s master192.168.50.201:k8s salve1192.168.50.202:k8s salve2192.168.50.203:k8s salve3192.168.50.204:nfs配置如下:192.168.50.200:2核 4G内存 50G硬盘192.168.50.201:3核 6G内存 50G硬盘192.168.50.202:3核 6G内存 50

2020-07-28 21:25:32 662

原创 多线程基础

线程的生命周期一共有6中状态:NEW、RUNNABLE、BLOCKED、WAITING、TIME_WAITING、TERMINATEDSynchronized的作用范围给普通方法加synchronized :只会在类的实例中进行锁控制,不是全局锁public class SyncTest{ public synchronized void test(){…}},给代码块加synchronized:只会在类的实例中进行锁控制,不是全局锁public class SyncTest{ pu

2020-06-14 21:58:24 186

原创 观察者模式

public class MouseEventTest { public static void main(String[] args) { MouseEventCallback callback = new MouseEventCallback(); Mouse mouse = new Mouse(); //@谁? @回调方法 mouse.addLisenter(MouseEventType.ON_CLICK,callback);

2020-06-14 20:55:50 118

原创 装饰者模式

public class BattercakeTest { public static void main(String[] args) { Battercake battercake; //路边摊买一个煎饼 battercake = new BaseBattercake(); //煎饼有点小,想再加一个鸡蛋 battercake = new EggDecorator(battercake); //再加

2020-06-14 20:55:03 152

原创 适配器模式

返回目录public class PassportTest { public static void main(String[] args) { IPassportForThird passportForThird = new PassportForThirdAdapter(); passportForThird.loginForQQ(""); }}/** * 只扩展 * Created by Tom on 2019/3/16. */publi

2020-06-14 20:54:17 123

原创 模板模式

返回目录固定处理流程,可配置的步骤根据不同的实现类进行微调。public class NetworkCourseTest { public static void main(String[] args) { System.out.println("---Java架构师课程---"); NetworkCourse javaCourse = new JavaCourse(); javaCourse.createCourse(); Sy

2020-06-14 20:53:24 86

原创 策略模式

返回目录执行一个业务有多个处理方法,可以避免多重分支语句public class Order { private String uid; private String orderId; private double amount; public Order(String uid,String orderId,double amount){ this.uid = uid; this.orderId = orderId; th

2020-06-14 20:52:32 170

原创 委派模式

返回目录委派者持有所有被委派者的引用,根据命令或者逻辑,指定某个被委派者执行这项工作。委派者只负责分配工作,并不真的处理业务。public interface IEmployee { public void doing(String command);}public class Leader implements IEmployee { private Map<String,IEmployee> targets = new HashMap<String,IEmpl

2020-06-14 20:51:35 96

原创 代理模式

返回目录静态代理public interface Person { void findLove();}public class Father implements Person { private Son person; public Father(Son person){ this.person = person; } public void findLove(){ System.out.println("父亲物色对象"

2020-06-14 20:50:16 98

原创 单例模式

返回目录饿汉式单例// 它是在类加载的时候就立即初始化,并且创建单例对象 //优点:没有加任何的锁、执行效率比较高, //在用户体验上来说,比懒汉式更好 //缺点:类加载的时候就初始化,不管你用还是不用,我都占着空间 //浪费了内存,有可能占着茅坑不拉屎 //绝对线程安全,在线程还没出现以前就是实例化了,不可能存在访问安全问题public class HungrySingleton { //先静态、后动态 //先属性、后方法 //先

2020-06-14 20:47:49 80

原创 工厂模式

返回目录简单工厂:一个工厂只能处理一个对象public class CourseFactory { public ICourse create(Class<? extends ICourse> clazz){ try { if (null != clazz) { return clazz.newInstance(); } }catch (Exception e){

2020-06-14 20:45:27 114

原创 类加载器

返回目录类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构.类加载的过程加载、验证、准备、解析、初始化、使用和卸载。其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段加载虚拟机主要完成三件事:(1)通过一个类的全限定名来获取其定义的二进制字节流(2)将这个字节流所代表的的静态存储结构转化为方法区的运行时数据结构(3)在堆中生成一个代表这个类

2020-06-14 20:32:16 91

原创 GC

基本原理Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。对于程序员来说,分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象,我们称该对象为”不可达的”.GC将负责回收所有”不可达”对象的内存空间。不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。对于Java8, HotSpots取消了永久代,那么是不是也就没有方法区了呢?当然不是,方法区是一个规范,规范没变,它就一直在。那么取代永久

2020-05-19 23:26:58 222

原创 JVM内存模型(JMM)

全称是Java Memory Model。JMM关键技术点都是围绕着多线程的原子性、可见性、有序性来建立的。原子性原子性是指操作是不可分的,要么全部一起执行,要么不执行可见性可见性是指一个线程对共享变量的修改,对于另一个线程来说是否是可以看到的。Volatile关键字可以使工作内存中的数据更新到主内存,这样,在其他线程使用此数据时不会造成脏数据有序性有序性指的是程序按照代码的先后顺序执行。JMM抽象模型分为主内存、工作内存主内存是所有线程共享的,一般是实例对象、静态字段、数组对象等存储在

2020-05-19 22:15:25 342

原创 自动拆箱/装箱

什么是自动装箱拆箱装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。//自动装箱Integer total = 99;//自动拆箱int totalprim = total;需要装箱拆箱的类型有哪些1、i >= 128 || i < -128 =====> new Integer(i)2、i < 128 && i >= -128 =====> SMALL_VALUES[i + 128]priva

2020-05-19 22:05:55 120

原创 ArrayList和LinkedList区别

ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构;对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;

2020-05-19 22:03:37 160

原创 HashMap底层原理

底层使用哈希表(数组+链表),当链表过长会将链表转成红黑树以实现O(logn)时间复杂度内的查找。数组的每个节点都是链表头。即数组的每个节点都存了一个Node,这个Node指向了下一个Node,同时,一个Node中还保存了Key,Value,HashCode。即一个Node对象包含4个属性。Put方法的过程:对key求Hash值,然后再计算下标如果没有碰撞,直接放入数组里如果碰撞了,以链表的方式链接到后面如果链表长度超过阈值(TREEIFY_THRESHOLD==8),就把链表转为红黑树如果

2020-05-19 22:01:05 143

原创 3次握手与4次挥手

第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED

2020-05-19 21:54:02 122

原创 Java环境变量

Windows 环境变量配置JAVA_HOMED:\learn\Java\jdk-12.0.2PATH%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;CLASSPATH.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

2020-05-19 21:29:09 168

原创 Java学习内容

一、 环境安装二、网络三、 Java1、基础知识基本概念对象和类this 和 super 的用法基本类型运算符Number & Math 类String、StringBuffer 和 StringBuilder 的区别数组常用类四、 设计模式五、多线程jvm及jmmtomcat六、 Spring七、SpringBoot八、 SpringCloud九、 SpringMVC十、 中间件1、Netty2、Zookeeper3、Nacos4、sentine

2020-05-19 21:20:00 180

转载 Java学习7:数组

Arrays 类java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:给数组赋值:通过 fill 方法。 对数组排序:通过 sort 方法,按升序。 比较数组:通过 equals 方法比较数组中元素值是否相等。 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。具体说明请查看下表:序号 方法...

2019-06-12 19:11:00 94

转载 Java学习六:String、StringBuffer 和 StringBuilder

String、StringBuffer 和 StringBuilder 的区别 String:字符串常量,字符串长度不可变。Java中String 是immutable(不可变)的。用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用 St...

2019-06-09 16:41:44 83

转载 Java学习五:Number & Math 类

Number 类 所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。 Math 类 Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。public clas...

2019-06-09 15:46:53 216

转载 Java学习四:运算符

位运算符 操作符 描述 例子 & 如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100 | 如果相对应位都是0,则结果为0,否则为1 (A | B)得到61,即 0011 1101 ^ 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001 〜 按位取反运...

2019-06-09 15:27:27 102

原创 Java学习三:基本类型

Java的八种基本类型:(按字节来分)boolean 布尔型 1个字节 8bit(8位)byte 字节类型 1个字节char 字符类型 2个字节short 短整型 2个字节int 整型 4个字节float 浮点型(单精度)4个字节long 长整型 8个字节d...

2019-06-04 22:58:22 94

转载 Java学习二:Java 对象和类

Java作为一种面向对象语言。支持以下基本概念:多态 : 继承 : 封装 : 抽象 : 类 : 类是一个模板,它描述一类对象的行为和状态 对象 :对象是类的一个实例,有状态和行为 实例 : 方法 : 重载 :...

2019-06-04 22:51:54 94

转载 Java学习一:基本概念

Java修饰符像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:访问控制修饰符 : default, public , protected, private 非访问控制修饰符 : final, abstract, static, synchronized访问控制修饰符 : default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用...

2019-06-04 22:36:48 123

原创 Spring学习(一)

Spring学习,持续更新,IDE为Intellij,Spring版本为5.0.8.RELEASE项目包附件的项目包含如下内容:Spring配置文件 Spring基础类型注入写法:list、map、props、set、string Spring注入方式setter方法注入构造注入,及构造注入的属性ApplicationContext各种启动方式 ApplicationC...

2019-02-10 12:52:45 127

原创 tomcat开启https配置过程中的问题以及解决方法

按照网上配置https的过程进行配置,可以登录到tomcat管理页面,但是与如果进行了第三方证书集成,页面却显示无法访问该页面,网络抓包显示进行了3字握手请求,但是无反馈。tomcat配置如下:经过研究发现,clientAuth="true"表示强制验证证书,如果在第三方那里证书没有通过验证,那么就会无法访问,必须插了ukey等可以通过第三方认证的东西,才能访问页面,故,将clie

2017-12-07 10:30:50 3012

原创 String转Date、Date转String以及Date比较

String转Date用SimpleDateFormat来转换SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = sdf.parse("2008-08-08 12:10:12");Date比较

2014-08-15 14:37:42 672

转载 Web.xml配置详解

1 定义头和根元素  部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根

2014-07-23 22:29:18 319

转载 Struts2从后台传递数据到前台的主要方法和流程

两种主要方式:一 和Servlet API耦合的访问方式二 和Servlet API解耦的访问方式********************************************************************一 和Servlet API耦合的访问方式1、 采用Request (HttpServletRequest)对象来传递数据(1)在Acti

2013-07-16 16:29:43 439

SpringLearn程序包

自建maven项目,用于博客记录学习内容,主要为Spring使用内容及技巧

2019-02-10

空空如也

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

TA关注的人

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