摘要:KVM:Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,集成在Linux内核各大发行版中,使用Linux自身的调度器进行管理。KVM的虚拟化需要硬件支持(如:Intel VT或者AMD V技术),是基于硬件的完全虚拟化。 安装kvm基础包: yum -y
阅读全文
摘要:1、不变性 如果某个对象在被创建后其状态就不能被修改,那么这个对象就被称为不可变对象。满足同步需求的另一种方法就是使用不可变对象。不可变对象一定是线程安全的。当满足以下条件时,对象才是不可变的: 对象创建以后其状态就不能改变 对象的所有域都是final类型 对象是正确创建的,在对象创建期间,this
阅读全文
摘要:近日电脑需要安装Linux系统(CentOS、Kali),由于无光驱,需要把操作系统ISO镜像写入到U盘。于是找到Win32 Disk Imager(下载地址为:https://sourceforge.net/projects/win32diskimager/)。 下载后,在Win10环境下进行安装
阅读全文
摘要:近日遇到一个问题,使用Win32 Disk Imager刻录过的U盘,想恢复使用,但无法正常使用。 按WIN+R键调出Win10运行框,输入diskmgmt.msc,打开磁盘管理工具。 看到U盘的状况(如下图示),想删除ANACONDA,点击右键全部操作项变灰,无法进行。 接着对未分配的3.69GB
阅读全文
摘要:内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和谷歌输入法等使用的是fcitx框架。 而ibus会造成fcitx无法正常启动,所以我们需
阅读全文
摘要:前阵计划在Thinkpad E490笔记本电脑上安装多系统(Windows、CentOS、Kali),用作技术研究。 系统出厂自带Windows10,入手后迫不及待地准备加装CentOS7系统。于是下载了CentOS7.6.1810完全版镜像(CentOS-7-x86_64-Everything-1
阅读全文
摘要:近日服务器安装了CentOS7.6系统,装了KVM,想装Linux虚拟服务器使用。本文图解说明KVM安装CentOS7.6操作系统的过程(介绍图形界面安装方式。命令行安装方式有空再写文介绍)。 一、采用虚拟化图形管理工具进行配置 打开虚拟化图形管理工具virt-manager,点击"Create a
阅读全文
摘要:Java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,
阅读全文
摘要:Java有一个内建的等待机制来允许线程在等待信号的时候变为非运行状态。java.lang.Object类定义了三个方法,wait()、notify()和notifyAll()来实现这个等待机制。 一个线程一旦调用了任意对象的wait()方法,就会变为非运行状态,直到另一个线程调用了同一个对象的not
阅读全文
摘要:去年发布了CentOS8!迫不及待地准备下载了CentOS8镜像,准备体验下,工作繁忙无暇理会。 今天抽空安装体验下~ 可从CentOS官网下载:https://centos.org/download/ 为了快速可以选择从国内镜像下载。 下载后,如果是物理安装,需要使用Win32 Disk Imag
阅读全文
摘要:前阵子,CentOS官方宣布:CentOS8.1.1911正式发布!已经安装CentOS8.0的朋友,可以执行yum update更新(笔者更新了2次),体验下新版本!如是新安装,可以从官方网站下载http://isoredirect.centos.org/centos/8/isos/x86_64/
阅读全文
摘要:本篇文章主要是对Synchronized做进一步的介绍,通过几个例子让大家更好的理解线程同步。 例一、 运行结果:例二、运行结果:例三、运行结果:例四、运行结果:例五: 运行结果:例六:运行结果:例七:运行结果: 注:本文为Wayne原创,未经许可不得在任何平台转载。如需转载,与作者联系~ 关注微信
阅读全文
摘要:由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问造成的这种问题。 由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就
阅读全文
摘要:上篇文章讲了前两种实现方法,接下来会为大家展现后两种方法是如何实现的 三、实现Callable接口 与使用Runnable相比, Callable功能更强大些 实现的call()方法相比run()方法,可以返回值 方法可以抛出异常 支持泛型的返回值 需要借助FutureTask类,比如获取返回结果
阅读全文
摘要:java多线程有4种实现方法 1、继承Thread类实现,重写run方法 2、实现Runnable接口,重写run方法 3、实现Callable接口通过FutureTask包装器来创建Thread线程 4、通过线程池创建线程 接下来我会通过例子为大家展现各个方法的不同之处 一、继承Thread类实现
阅读全文