线程的 start 和 run 方法的区别

直接调用线程的run方法,并不会启动一个新的线程,而是在原来的线程里面执行run()方法里面的语句,与普通的方法调用没有差别调用线程的start方法,是启动一个新的线程去执行run()方法里面的代码如
Java 2020年03月11日 168次浏览

进程与线程

进程和线程的由来:串行:初期的计算机只能串行执行任务,并且需要长时间等待用户输入,计算机很多时候只能处于等待的状态批处理:预先将用户的指令集中成清单,批量串行处理用户指令,仍然无法并发执行。当一个任务
2020年03月11日 143次浏览

Java 中的强引用、软引用、弱引用、虚引用

强引用(StrongReference)最普遍的引用:Objectobj=newObject();内存不够时,即使抛出OOM也不会回收具有强引用的对象通过将对象设置为null,使其被回收软引用(Sof
2020年03月10日 181次浏览

Object 的finalize() 方法是否与 C++ 的析构函数作用相同?

Object的finalize()方法是否与C++的析构函数作用相同?与C++的析构函数不同,析构函数的调用时机是确定的,而finalize()方法的调用时机是不确定的当垃圾回收器要宣告一个对象死亡时
2020年03月10日 107次浏览

面试题:Java 的垃圾回收(GC)

在JVM中,一个对象被判断为垃圾的标准是:没有其他对象引用。在实现上,判断对象是否为垃圾的算法有两种:引用记数法通过判断对象的被引用数量来判断对象是否可以被回收每个对象实例都有一个引用计数器,被引用则
2020年03月10日 158次浏览

面试题:Java 虚拟机

平台无关性是通过字节码+虚拟机来实现的。Java源码首先被编译成字节码,再由不同平台的JVM进行解析,在不同而平台上运行时不需要重新编译。Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机
2020年03月10日 141次浏览

面试题:谈谈你对 Java 的理解

这是一个比较空泛的题,总的来说可以从如下几个方面来回答:Java的平台无关性:这个涉及到字节码,虚拟机等,展开可以说很多,详情点击这里GC:Java的垃圾回收语言特性:反射,泛型,Lambda等面向对
2020年03月09日 122次浏览

Linux 下使用 sed 批量替换文本内容

sed命令的全名是streameditor,是Linux上非常强大的流编辑器,适用于对文本的行内容进行处理。下面是一个例子:在`Test.java`文件中有3行代码,如上图所示,想要把每行开头的`St
2020年03月09日 128次浏览

使用 awk 对日志内容做统计

awk是一个行编辑器,说明如下:一次读取一行文本,按照输入分隔符进行切片,,默认分隔符为空格,切成多个组成部分(多个切片)将切片直接保存在内建的变量中,$1、$2...($0表示一整行)支持对单个切片
2020年03月09日 124次浏览

Linux 下如何检索文件内容

管道操作符:|可以将指令连接起来,前一个指令的输出作为后一个指令的输入find~-name"test"也可以写为:find~|grep"test"使用管道符注意的要点:只能处理前一个命令的正确输出,不能处理错误输出右边命令必须能够处理标准输入流,否则数据在传递
2020年03月09日 117次浏览