logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Volatile是什么?有什么用途?

概念volatile是Java中的关键字,用来修饰会被不同线程访问和修改的变量。volatile可以说是java虚拟机提供的最轻量级的同步机制。当一个变量被定义成volatile之后,它具备2个特性第一项是保证此变量对所有线程的可见性这里的可见性是指当一个线程修改了这个变量的值,新值对于其它线程来说是可以立即得知的,二普通变量并不能做到这一点,普通变量的值在线程间传递是均需要通过主内存来完成。比如

#java
Error(错误)、Exception(异常)之间区别

Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止Except

#java
什么是协程?

是节约内存,在64位的Linux中,一个线程需要分配8MB栈内存和64MB堆内存,系统内存的制约导致我们无法开启更多线程实现高并发。而协程是用户态的线程,用户可以自行控制协程的创建于销毁,极大程度避免了系统级线程上下文切换造成的资源浪费。是稳定性,前面提到线程之间通过内存来共享数据,这也导致了一个问题,任何一个线程出错时,进程中的所有线程都会跟着一起崩溃。是开发效率,使用协程在开发程序之中,可以很

#java#jvm#开发语言
Linux中>、>>、<的区别

1、输入输出的区别:>>和>都属于输出重定向,<属于输入重定向。输出重定向:将一条命令执行结果(标准输出,或者错误输出,本来都要打印到屏幕上面的)重定向其它输出设备(文件,打开文件操作符,或打印机等等)。输入重定向:命令默认从键盘获得的输入,改成从文件,或者其它打开文件以及设备的输入。2、文件内容的区别:>会覆盖目标的原有内容。当文件存在时会先删除原文件,再重新创建文

#linux
到底了