2019年7月16日
摘要: 1、链表不需要一块连续的内存空间,它通过指针将一组零散的内存块串联起来使用。 2、常见的链表结构:单链表、双向链表和循环链表。 3、链表由指针和结点两部分组成,第一个结点叫头结点,最后一个结点叫尾结点。头结点用来记录链表的基地址,单链表的尾节点指向一个空地址NULL。 4、循环链表是一种特殊的单链表 阅读全文
posted @ 2019-07-16 13:42 逍遥1989 阅读(318) 评论(0) 推荐(0) 编辑
  2019年7月8日
摘要: 1、数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同数据类型的数据。 2、线性表结构:数据排成像一条线一样的,最多只有前后两个方向的结构,比如数组、链表、队列、栈等。 3、非线性表结构:数据之间不是简单的前后关系,比如二叉树、堆、图等。 4、数组支持随机访问,根据下标随机访问的时 阅读全文
posted @ 2019-07-08 12:56 逍遥1989 阅读(185) 评论(0) 推荐(0) 编辑
  2019年7月5日
摘要: 1、上下文切换 (1)定义:CPU通过不停地切换线程来实现多线程的执行,一个任务从暂存到重新加载的过程就是一次上下文切换。 (2)减少上下文切换方法:无锁并发编程、CAS算法、使用最少线程和使用协程。 2、死锁的处理 (1)避免一个线程同时获取多个锁。 (2)尽量保证每个锁只占用一个资源。 (3)尝 阅读全文
posted @ 2019-07-05 21:46 逍遥1989 阅读(160) 评论(0) 推荐(0) 编辑
  2019年6月29日
摘要: 1、由于Buffer及其7个子类都是抽象类,所以不能被直接new实例化,缓冲区的创建有两种方式: (1)allocate方式:创建一个指定容量的新数组作为缓冲区的存储空间。 (2)wrap方式:将自定义的已有数组作为缓存区的存储空间。 例: ByteBuffer bytebuffer = ByteB 阅读全文
posted @ 2019-06-29 11:02 逍遥1989 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 1、传统IO流使用byte[]字节数组或者char[]字符数组来操作流数据,但是Java语言中对array数组自身进行操作的API非常少,常用的仅有length属性以及下标[x]。 2、NIO使用缓冲区Buffer类来操作流数据,提供了很多工具方法,大大提高了程序开发的效率。 3、Buffer类是一 阅读全文
posted @ 2019-06-29 10:33 逍遥1989 阅读(228) 评论(0) 推荐(0) 编辑
  2019年6月14日
摘要: 1、复杂度也叫渐进复杂度,包括时间复杂度和空间复杂度,用来分析算法执行效率与数据规模之间的增长关系。 2、常见的从低阶到高阶的复杂度为:O(1)→O(logn)→O(n)→O(nlogn)→O(n²)。 3、时间复杂度的分析方法有: (1)只关注循环执行次数最多的一段代码。 (2)加法法则:总复杂度 阅读全文
posted @ 2019-06-14 09:15 逍遥1989 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: 1、各种平台的虚拟机统一使用的程序存储格式为 字节码(ByteCode)。 2、Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。 3、任何一个Class文件都对应唯一一个 阅读全文
posted @ 2019-06-14 08:36 逍遥1989 阅读(223) 评论(0) 推荐(0) 编辑
  2019年5月26日
摘要: 1、NIO:Non-blocking IO,对传统IO使用的byte[]或char[]进行封装,采用Buffer类来操作数据,再结合针对File或Socket技术的Channel,采用同步非阻塞技术来实现高性能处理的IO技术。 2、IO的分类 3、NIO实现高性能处理的原理是使用较少的线程,通过Se 阅读全文
posted @ 2019-05-26 14:25 逍遥1989 阅读(109) 评论(0) 推荐(0) 编辑
  2019年5月19日
摘要: 1、线程不是越多越好,因为Java线程的创建和销毁都需要一定的开销,线程越多,会消耗大量的计算资源(包括时间和内存等),最终会导致系统处于高负荷状态而崩溃。 2、线程的工作单元包括Runnable和Callable,执行机制则由Executor框架提供。 3、Executor框架由3部分组成:(1) 阅读全文
posted @ 2019-05-19 17:06 逍遥1989 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1、概念:面向对象的设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。 2、一般而言,一个模式有四个基本要素: (1)模式名称(pattern name) (2)问题(problem) (3)解决方案(solution) (4)效果(consequences) 3、设计模式分 阅读全文
posted @ 2019-05-19 14:38 逍遥1989 阅读(113) 评论(0) 推荐(0) 编辑