最大的不同是在等待时 wait 会释放锁,而 sleep 一直持有锁。Wait 通常被用于线 程间交互,sleep 通常被用于暂停执行。 直接了解的深入一点吧: 在 Java 中线程的状态一共被分成 6 种: 初始态:NEW 创建一个 Thread 对象,但还未调用 start()启动线程时,线程处 ...
分类:
编程语言 时间:
2020-04-25 00:48:29
阅读次数:
98
GDB "官网" 什么是GDB? GDB是GNU Project调试器,它使您可以查看另一个程序在执行过程中正在执行的操作–或该程序崩溃时正在执行的操作。 GDB可以做四种主要的事情(以及支持这些事情的其他事情)来帮助您捕获行为中的错误: 1. 启动程序,并指定可能影响其行为的所有内容。 2. 使程 ...
分类:
数据库 时间:
2020-04-08 22:56:25
阅读次数:
127
CPU上下文 在每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好 CPU 寄存器和程序计数器(Program Counter,PC)。 CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。而程序计数器,则是用来存储 CPU 正在执行的指令位 ...
分类:
其他好文 时间:
2020-04-07 00:10:43
阅读次数:
65
一、Linux帮助命令 1. man帮助命令 man 命令 进入帮助文档后,按下q退出 2. 使用--help参数 命令 --help 3. info命令 info 命令 二、Linux开关机命令 1. shutdown命令 该命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程 ...
分类:
系统相关 时间:
2020-04-06 00:15:07
阅读次数:
93
一、JVM内存模型 1、程序计数器记录正在执行的虚拟机字节码地址。 2、JAVA虚拟栈JAVA方法执行时创建的栈帧,用于存储局部变量表、操作数栈、常量池引用等信息。可以用过-Xss来设置java虚拟栈内存大小,JDK1.4默认256k,JDK1.5以后默认1.5M。 java虚拟栈中可能会抛出以下异 ...
分类:
其他好文 时间:
2020-04-04 00:18:13
阅读次数:
64
任务,任务的LDT和TSS 程序是记录在载体上的指令和数据,其正在执行的一个副本,叫做 任务(Task) 。如果一个程序有多个副本正在内存中运行,那么他对应多个任务,每一个副本都是一个任务。为了有效地在任务之间进行隔离,处理器建议每个任务都应该具有他自己的描述符表,称为 局部描述符表LDT(Loca ...
分类:
其他好文 时间:
2020-03-30 19:16:15
阅读次数:
74
一、功能测试 1.1 运行 APP安装完成后的试运行,可正常打开软件 APP打开测试,是否有加载状态进度提示 APP打开速度测试,速度是否可观 APP页面间的切换是否流畅,逻辑是否正确 1.2 应用的前后台切换 APP切换到后台再回到APP,检查是否停留在上一次操作界面 手机锁屏截屏后进入APP是否 ...
分类:
移动开发 时间:
2020-03-30 11:26:37
阅读次数:
103
什么是Exception? 表示在应用程序执行过程中发生的错误。 继承 Object Exception 说明 此类是所有异常的基类。 当发生错误时,系统或当前正在执行的应用程序会通过引发包含有关错误的信息的异常来报告该错误。 引发异常后,它由应用程序或默认异常处理程序进行处理。 Exception ...
分类:
其他好文 时间:
2020-03-30 09:16:35
阅读次数:
110
内存区域划分 1.程序计数器:当前线程的正在执行的字节码指示器 2.虚拟机栈和本地方法栈:虚拟机栈存储局部变量表(包括方法入参和布局变量)、操作数栈、方法返回地址(调用者的栈帧,包括return返回和异常返回)等 3.堆:为几乎所有对象实例分配内存的区域 4.方法区:用于存储已被虚拟机加载的类信息、 ...
分类:
其他好文 时间:
2020-03-28 20:11:44
阅读次数:
83
一、Java开发中用过哪些锁 1、乐观锁 乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,在Java中java.util.concurre ...
分类:
其他好文 时间:
2020-03-28 13:10:02
阅读次数:
61