自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 LINUX的SSH

ssh服务是一个守护进程,系统后台监听客户端连接,ssh服务端的进程名叫sshd,负责实时监听客户端的请求(22端口),包括公共秘钥等交换信息。ssh服务端由两部分组成:openssh(提供ssh服务)+openssl(提供加密程序)SSH小结1.ssh是安全的加密协议,用于远程连接Linux服务器2.安全协议版本是ssh23.ssh服务器端主要包含两个服务功能ssh连接和sftp服务...

2019-11-21 18:38:07 167

原创 linux的网络配置

之前看视频,看到一张图,解释NAT,桥连,本机的三种区别。觉得很透彻,发出来分享有问题可以交流

2019-11-07 18:20:11 126

原创 Java数组和List转换中的误区

虽然数组和集合的转换我们开发中常用,但是下面我说明的这几点很多人平时都没有注意。数组转集合在数组转集合过程中,要特别注意是否使用了视图方式直接反悔了数组中数据。以Arrays.asList()为例,它把数组转为集合后,不能使用集合相关方法,主要是add/remove/clear这几个修改集合长度的方法,否则会报UnsupportedOperationException异常。public s...

2019-11-02 14:40:43 240

原创 NIO

BIO(IO):同步并阻塞NIO:同步并阻塞AIO:异步非阻塞本文主要讲解NIO。NIO提供了除Boolean类型外的原始数据类型的缓存支持数据容器,用了多路复用技术,即一个连接并发处理多个请求。解决了传统BIO(吞吐量差、阻塞时间长)下的一个请求对应一个线程的模式。通俗理解为NIO可做到一个线程处理多个操作,比如10000个请求来了,可用50~100个线程来处理,不用像传统IO下,必须...

2019-10-05 22:16:41 77

原创 Docker容器

容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。Docker启动容器启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。基于镜像启动容器docke...

2019-10-05 10:43:03 203

原创 Dockerfile指令(一)

COPY和 RUN 指令一样,也有两种格式,一种类似于命令行,一种类似于函数调用。COPY 指令将从构建上下文目录中 <源路径> 的文件/目录复制到新的一层的镜像内的 <目标路径> 位置。比如:COPY package.json /usr/src/app<源路径> 可以是多个,甚至可以是通配符,其通配符规则要满足 Go 的 filepath.Match...

2019-10-05 10:26:28 188

原创 用Dockerfile定制镜像

Dockerfile定制镜像从刚才的 docker commit 的学习中,我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。Dockerfile 是一个文本文件,其内包含了一条...

2019-10-05 10:07:37 596

原创 Docker镜像(一)

Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。Docker获取镜像一般从Docker Hub上获取高质量的镜像即可。#docker pull 软件名:标签docker pull ubuntu:16.04如果从 Docker Hub 下载镜像非常缓慢,可以配置镜像加速器。运行有了镜像后,我们就能够以这个镜像为基础启动并运行...

2019-10-04 16:31:44 123

原创 Docker入门(二)

Docker基本概念镜像(Image)容器(Container)仓库(Repository)Docker引擎Docker有以下组成server:是一种称为守护进程且长时间运行的程序REST API:用于指定程序可以用来与守护进程通信的接口Client:一个有命令行界面的客户端Docker系统架构Docker 使用客户端-服务器 (C/S) 架构模式,使用远程 API 来管理和...

2019-10-04 09:59:05 72

翻译 Docker入门(一)

Docker&传统虚拟化方式传统的虚拟技术是需要虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上再运行所需应用进程。而容器内的应用进程之间运行于宿主机的内核,容器内没自己的内核,也没有进行硬件虚拟。因此更为轻便。更高效的利用系统资源:因为Docker容器不需要硬件虚拟以及运行完整操作系统等额外开销,Docker对系统资源利用率更高。因此,相比虚拟机技术,一个相同配置的主机...

2019-10-03 22:14:51 86

原创 Linux(Centos)-软件安装与软件包管理

rpmrpm安装(不能指定安装目录,是默认目录)选项含义-i安装rpm文件-h以#显示安装进度,每个#表示%2-v显示相信进程如:sudo rpm -ivh ./docker-ce-17.06.1.ce-1.el7.centos.x86_64.rpm查询参数含义rpm -q 包名查询指定包是否已安装rpm -qa查询...

2019-10-03 17:40:41 155

原创 Linux常用且爱忘记的命令

压缩&解压压缩:tar -czvf 压缩后文件名.tar.gz解压:tar -zxvf 要解压的文件名.tar.gz系统管理命令命令说明stat 文件名显示指定文件名的文件的相关信息top显示当前系统中消耗资源最多的进程ps显示瞬间的进程状态du 文件名显示指定的文件(目录)已使用的磁盘空间的总量df -h显示文件系统磁盘空间的...

2019-10-03 16:45:46 86

原创 Base理论

Base理论是对CAP理论【移植性、可用性、分区容错性】的延伸。核心思想是及时分布式系统无法满足强一致性,(CAP中的一致性就是强一致性,我们一般说的一致性默认都是强一致性)但应用可以采取合适的方式来达到最终一致性。基本可用当分布式系统出故障后,允许损失部分可用性,保证核心可用性。软状态软状态指允许系统存在中间状态,而中间状态不会影响系统整体可用。允许分布式存储中不同节点之间副本同步的延时...

2019-10-03 12:18:57 268

翻译 zookeeper在Dubbo中的作用[分布式锁,服务注册与发现]

【本文并非原创,是看视频的笔记,总结的很好,特此引用,便于自己复习】zookeeper天生就是为了实现分布式锁的。下面介绍一下什么是分布式锁。分布式锁分布式锁协调技术主要用来解决分布式环境下多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成脏数据。在这图中有三台机器,每台机器各跑一个应用程序。然后我们将这三台机器通过网络将其连接起来,构成一个系统来为用户提供服务,对用户来说...

2019-10-03 12:08:48 735

原创 多线程的阻塞队列

阻塞队列 (Blocking Queue,和List同级的接口)Blocking Queue有七种,我们只需要记住以下三种就足够了。ArrayBlockingQueue:有数组结构构成的有界阻塞队列LinkedBlockingQueue:由链表结构组成的有界阻塞队列。(但大小默认值为Integer.MAX_VALUE,所以你可以理解为无界)SynchronousQueue:不存储元素的阻塞...

2019-09-27 20:53:21 81

原创 java多线程面试题

JMM首先要有一个概念JMM,它是JAVA内存模型,但它并不是真实存在的。它具有三个概念1.可见性 2.原子性 3.有序性后面说多线程的一些概念时会用到JMM的概念volatile可以认为它是轻量级的synchronized,但与synchronized不同的是,它有可见性、防止指令重排,但它不保证原子性。在单例模式中的懒汉式,我们用双重检查来保证多线程安全(如下图),但是这也...

2019-09-26 20:49:08 82

原创 面试synchronized的方法锁、对象锁,类锁

首先,要知道synchronized可以用来同步方法、代码块、类。在修饰代码块的时候需要一个reference对象作为锁的对象.在修饰方法的时候默认是当前对象作为锁的对象.在修饰类时候默认是当前类的Class对象作为锁的对象.类锁一个class无论被实例化多少次,class中的静态方法和静态代码块在内存中都只有一份。所以,,一旦一个静态的方法被申明为synchronized。此类所有的实...

2019-09-26 00:26:57 198

翻译 JDK动态代理技术

一.什么是动态代理动态代理就是为了生成一个代理对象,来代理真实对象,从而来控制真实对象的访问。比如,一家软件公司,有商务负责接待客户,软件工程师负责制作软件。当客户来谈业务时,找的是商务,客户就认为商务代表公司,但是真正完成客户需求的是工程师。这时可以认为商务就是代理对象,来代理工程师,起的是客户与工程师之间的中介作用。当一个代理对象想代理真实对象时,需要两步,一是要和真实对象建立代理关系,二...

2019-07-01 15:20:02 57

原创 实现线程的几种方式

一.继承Thread类public class Thread1 extends Thread { @Override public void run() { for(int i=0;i<5;i++){ System.out.println(this.getName()+"正在运行"+i); } } public static void main(String[] ar...

2019-06-22 13:30:43 117

原创 Thread(线程)的五种状态

一.线程的五种状态创建,就绪,运行,挂起(包括阻塞,睡眠,等待),结束1.创建一个被创建的线程,但是还没有执行线程类的start()方法来启动线程。2.就绪调用线程的start()方法后,其实线程进入了就绪状态,切记,并非直接进入运行状态。3.运行当处于就绪状态的线程获得时间片后,就进入了运行状态。4.挂起挂起是我认为在线程运行状态中最复杂的一个环节,它分为睡眠,等待(又包括超时...

2019-06-22 12:24:23 1334

原创 Object中的clone()为什么是protected修饰符修饰

1. clone()为什么用protected修饰符修饰,而不是public Object类中clone()方法声明为protected是一种保护机制,他的目的是在类中未重写Object的clone()方法的情况下,只能在本类里才能“克隆”本类的对象。下面我用程序仔细解释说明一下...

2019-06-21 11:57:11 938

空空如也

空空如也

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

TA关注的人

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