Java线程的生命周期 原创 2019-03-31 顾立剑 并发编程 概要目前CPU的运算速度已经达到了百亿次每秒,甚至更高的量级,家用电脑即使维持操作系统正常运行的进程也会有数十个,线程更是数以百计。 线程是CPU的调度和分派的基本单位,为了更充分地利用CPU资源以及提高生产率和高效地完成任务,在现实场景中一般都会采用多线程处理。 线程的生命周期线程的生命周期大致可以分为下面五种状态:New(新建状态)、RUNABLE(就绪状态)、RUNNING(运行状态)、休眠状态、DEAD(终止状态) 查看更多
Java版-数据结构-链表 原创 2019-03-30 顾立剑 数据结构 ####概要 之前我们分别学习了解了动态数组、栈、队列,其实他们的底层都是依托静态数组来实现的、只是通过我们定义的resize方法来动态扩容解决固定容量的问题,那么我们即将学习的链表,它其实是一种真正的动态数据结构。 介绍链表是一种最简单的动态数据结构,它能够辅助组成其它的数据结构,链表中的元素可存储在内存中的任何地方(不需要连续的内存,这一点和我们的数组具有很大的区别,数组需要连续的内存),链表中的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串接在一起。 查看更多
Java版-数据结构-队列(循环队列) 原创 2019-03-23 顾立剑 数据结构 前情回顾 在上一篇,笔者给大家介绍了数组队列,并且在文末提出了数组队列实现上的劣势,以及带来的性能问题(因为数组队列,在出队的时候,我们往往要将数组中的元素往前挪动一个位置,这个动作的时间复杂度O(n)级别),如果不清楚的小伙伴欢迎查看阅读。为了方便大家查阅,笔者在这里贴出相关的地址: Java版-数据结构-数组 Java版-数据结构-栈 Java版-数据结构-队列(数组队列) 为了解决数组队列带来的问题,本篇给大家介绍一下循环队列。 查看更多
Java版-数据结构-队列(数组队列) 原创 2019-03-14 顾立剑 数据结构, 队列 前言看过笔者前两篇介绍的Java版数据结构数组和栈的盆友,都给予了笔者一致的好评,在这里笔者感谢大家的认可!!! 由于本章介绍的数据结构是队列,在队列的实现上会基于前面写的动态数组来实现,而队列又和栈不论是从特点上和操作上都有类似之处,所以在这里对这两种数据结构不了解的朋友,可以去看一下笔者前两篇文章介绍的数据结构数组和栈,这里笔者把链接贴出来(看过的盆友可以跳过此步骤…) Java版-数据结构-数组 Java版-数据结构-栈 查看更多
Java版-数据结构-栈 原创 2019-03-12 顾立剑 数据结构 介绍栈是一种后进先出的线性表数据结构,分为栈顶和栈底两端,仅允许在表的一端插入元素,这一端被称为栈顶,另外一端称之为栈底。栈,只有两种操作,分为入栈(压栈)和出栈(退栈);向栈中添加元素的操作叫做入栈,相反从栈中删除元素叫做出栈。 特点 只能从栈顶添加元素或者删除元素 后进先出的数据结构,Last In First Out(LIFO) 查看更多
Java版-数据结构-数组 原创 2019-03-10 顾立剑 数据结构 数组知识点回顾声明Java数组时,会在内存中开辟一块连续指定大小的空间,用来存储固定大小的同类型元素 在java中定义个名为scores,长度为8,类型为int类型的数组如下: 123public static void main(String[] args) { int[] scores = new int[8];} 查看更多
Java并发之原子性、有序性、可见性 原创 2019-03-04 顾立剑 并发编程 原子性 原子性指的是一个或者多个操作在 CPU 执行的过程中不被中断的特性 线程切换 带来的原子性问题 Java 并发程序都是基于多线程的,操作系统为了充分利用CPU的资源,将CPU分成若干个时间片,在多线程环境下,线程会被操作系统调度进行任务切换。 查看更多
awk命令使用详解 原创 2019-02-25 顾立剑 linux awk 命令介绍AWK是一种处理文本文件的语言,是一个强大的文本分析工具,之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法 第一种形式 1$ awk 'BEGIN{}pattern{commands}END{}' file 第二种形式 1$ standard output | 'BEGIN{}pattern{commands}END{}' 查看更多
sed命令 原创 2019-02-20 顾立剑 linux 介绍sed(Stream Editor) , 流编辑器。对标准输出或文件逐行处理 语法格式 第一种形式 1$ stdout | sed [option] "pattern command" 第二种形式 1$ sed [option] "pattern command" file 查看更多