上传下载文件到服务器 上传下载文件到服务器将本地文件上传到云服务器将本地目录上传到云服务器从服务器下载文件到本地从服务器下载目录到本地将本地文件上传到云服务器在本地终端输入:scp 需要上传文件的绝对地址 用户名@服务器ip:文件上传到服务器的位置(如果加上文件的名字的话,可以自定义文件的名称)例如:scp /User/test.txt root@121.5.64.52:/mydata/yyp.txt上面就将test.txt文件改为了yyp.txt文件将本地目录上传到云服务器在本地终端输入:scp -r 需要
Docker安装RabbitMQ Docker安装RabbitMQ使用Docker安装还需要这么麻烦吗?第一步:拉镜像这里我选择和尚硅谷安装的一样版本。docker pull rabbitmq:3-management第二步:安装docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management...
Mac连接腾讯云服务器 Mac连接腾讯云服务器这下载什么XShell,多此一举。第一步:打开你的终端第二步:输入ssh -p 22 你的服务器角色一般是root@你的服务器公网第三步:输入密码第四步:点赞点赞点赞
Mac安装Java开发环境 Mac安装Java开发环境建议使用sdk进行安装,一步到位不留失误sdk的安装步骤建议使用sdk进行安装,一步到位不留失误sdk的安装也是非常的简单这是sdk的官方网站:https://sdkman.io/installsdk的安装步骤...
Docker部署Mysqls,Redis等 Docker安装Mysqls,Redis等有了服务器不能闲着对不对,赶紧起床学习部署Mysql部署Redis有了服务器不能闲着对不对,赶紧起床学习部署Mysql首先我们要想部署Mysql就要先下载Mysql镜像。docker pull mysql:8.0.15我当时就傻了:这么简单?,其实就是这么简单可以用docker images查询已经拉取的镜像。下载镜像之后我们就要去启动我们的mysql了docker run -d -p 3306:3306 --name mymysql -e MYS
ContOS 7安装docker ContOS 7安装docker先知条件话不多说直接开整安装Docker安装工具包设置远程仓库安装盘Dcoker启动docker重启docker关闭docker先知条件本人是购买的腾讯云服务器,使用的XShell进行的一个连接。如果是虚拟机的话尽量保证可以通网络。话不多说直接开整安装Docker安装工具包yum install -y yum-utils 执行结果:Loaded plugins: fastestmirror, langpacksbase
AQS的源码理解 AQS源码理解AQS的成员变量尝试获取锁(修改标志位),立即返回——tryAcquire获取锁(修改标志位),愿意进入队列等待,直到获取——acquire将当前线程封装成一个Node节点——addWaiter判断是否需要挂起当前线程——shouldParkAfterFailedAcquireAQS的成员变量private volatile int state :用于判断共享资源是否被占用的标记位。0表示未被占用Node head 、tail :两个节点,一个头结点,一个尾结点Node的成员变量2
数据结构之循环数组队列 数据结构之循环数组队列队列的特点队列的实现队列的基本信息队列的初始化判断队是否满判断队是否空入队出队总览(包括测试)队列的特点先进先出队列的实现队列的基本信息class ArrayQueue{ private int maxSize; private int front; private int rear; private int[] arr;}队列的初始化public ArrayQueue(int arrMaxSize){ maxSize
数据结构之稀疏数组 数据结构之稀疏数组原理Java实现转化为稀疏数组并存入磁盘从磁盘中读取,并且转化为原数组原理稀疏数组的基本介绍:就是将一个有很多相同值的数组用更少的空间储存起来的一种数据结构。简单的来说:就是用一种消耗更小储存空间的方式来存储有很多相同值的数组。举一个例子:加入有一个数组11行11列基本上全是0,有两个不一样的,第一个是第二行第二列为1,第二个为第三行第三列为2。我们就可以转化为下列稀疏数组。稀疏数组的行数有效值的位置的行数有效值的位置的列数值第0行11代表原数组一共有
什么是红黑树 什么是红黑树红黑树的特征有什么呢红黑树的特征有什么呢顾名思义红黑树就是有红有黑的树(哇参天大枫树啊),及有红节点和黑节点组成。根节点是黑色的每个叶子结点都是黑色的空节点每个红色节点的两个子节点都是黑色的从任意节点到其每个叶子结点的所有路径都包含相同数目的黑色节点。下图就是一颗典型的红黑树:上面这五条规则也保证了红黑树的自平衡。红黑树从很到叶子的最长路径不会超过最短路径的2倍当然当插入或者删除的时候,就会破坏我们的红黑树的结构,那么怎么办呢?不要慌问题不大,有两种方法:1. 变色。2.
Mysql数据库 Mysql数据库存储引擎的对比索引索引是什么存储引擎的对比对比项MyISAMInnoDB主外键不支持支持事务不支持支持行表锁表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作行锁,操作时,只锁某一行,不对其他行有影响,适合高并发的操作缓存只缓存索引,不缓存真实数据不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对性能有决定性的影响表空间小大关注掉性能事务默认安装yy索引索引是什么索引是帮助My
JVM内存的结构 JVM的结构程序计数器(寄存器) 私有虚拟机栈 私有本地方法栈 私有堆 共有方法区JVM的组成有一下五部分:程序计数器虚拟机栈本地方法栈堆方法区程序计数器(寄存器) 私有作用:记住下一条JVM指令的执行地址特点:是线程私有的不存在内存溢出虚拟机栈 私有定义:每个线程运行时所需要的内存,成为虚拟机栈每个栈由多个栈帧组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法本地方法栈 私有Nativemethodstack(本地
JVM垃圾回收 JVM垃圾回收如何判断对象可以回收引用计数法可达性分析算法四种引用强引用软引用弱引用虚引用终结器引用垃圾回收算法标记清除标记整理复制分代垃圾回收垃圾回收器串行吞吐量优先响应时间优先如何判断对象可以回收引用计数法当对象被使用1次,计数器就加1,计数器为0的时候会触发垃圾回收机制。可达性分析算法从根对象开始,可以到达的对象,不是垃圾回收的对象,不可到达的对象就是垃圾回收的对象。四种引用强引用平常最常见也是我们用的最多的一种引用方式:强引用,作为生命力最强的引用,只要引用还存在着,垃圾收集器(GC
java高并发线程池 java高并发线程池线城池使用方式一池N线程一池一线程可扩容池线城池的底层原理线程池的七个参数的含义线城池底层工作流程拒绝策略AbortPolicy(默认)DiscardPolicyDiscardOldestPolicyCallerRunsPolicy线城池使用方式一池N线程package com.yyp.Executors;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;p
读写锁的案例 读写锁的案例package com.yyp.readwrite;import java.util.HashMap;import java.util.Map;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;//资源类class Mymap{ //创建
JUC的三大辅助类 JUC的三大辅助类减少计数CountDownLatch循环栅栏 CyclicBarrier计数信号量减少计数CountDownLatchCountDownLatch类可以设置一个计数器,然后通过countDown方法来进行减1的操作,使用await方法等待计数器不大于0,然后继续执行await方法之后的语句。”CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞
Callable接口 Callable接口package com.yyp.callable;import java.util.concurrent.FutureTask;public class demo1 { public static void main(String[] args) { new Thread(new FutureTask<Integer>(()->{ System.out.println(Thread.currentThread(