文章分类 -  java

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 62 下一页
摘要:在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: 在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 一个线程持有锁会导致其它所有需要此锁的线程挂起。 如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先 阅读全文
posted @ 2017-06-06 09:32 天涯海角路 阅读(260) 评论(0) 推荐(0)
摘要:正常情况下,我们的程序以同步非阻塞的方式在运行。但是我们的程序总会出现一些耗时操作,比如复杂的计算(找出1到10亿之间的素数)和程序本身无法控制的操作(IO操作、网络请求)。包含这些耗时操作的方法我们可以把它称为阻塞方法,包含这些耗时操作的任务我们可以把它称为阻塞任务。阻塞与非阻塞是以是否耗时来定义 阅读全文
posted @ 2017-06-05 21:18 天涯海角路 阅读(138) 评论(0) 推荐(0)
摘要:首先说明我对这些概念也不是很清楚,以下内容是我做的一些理事。 同步和异步、阻塞和非阻塞这是两组概念,说的是不同的事情,同步和阻塞没有必然的联系,异步和非阻塞也没有必然的联系。同步和异步是只跟IO操作过程中进程的状态变化有关。阻塞和非阻塞就是进程的两种状态。比如你去银行,排除的话就是一种同步的方式,叫 阅读全文
posted @ 2017-06-05 20:03 天涯海角路 阅读(92) 评论(0) 推荐(0)
摘要:同步和异步仅仅是关于所关注的消息如何通知的机制,而不是处理消息的机制.也就是说, 同步的情况下, 是由处理消息者自己去等待消息是否被触发, 而异步的情况下 是由触发机制来通知处理消息者 硬件上下文切换 每个进程都拥有自己的内存空间,CPU任何时间只能运行一个进程. 运行之前,每个进程需要将内存状态复 阅读全文
posted @ 2017-06-05 19:57 天涯海角路 阅读(154) 评论(0) 推荐(0)
摘要:一讲到网络编程的I/O模型,总会涉及到这几个概念。问了很多人,没几个能清晰地讲出他们之间的区别联系,甚至在网络上也有很多不同的观点,也不知是中国文字释义的博大精深,还是本来这几个概念就是绕人不倦。今天我也来给大家讲解一下我对这几个概念的理解。 既然网络上众说纷纭,不如找个权威参考一下,这个权威就是《 阅读全文
posted @ 2017-06-05 19:56 天涯海角路 阅读(95) 评论(0) 推荐(0)
摘要:高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这 阅读全文
posted @ 2017-06-05 16:26 天涯海角路 阅读(173) 评论(0) 推荐(0)
摘要:Reactor 和 Proactor 是基于事件驱动,在网络编程中经常用到两种设计模式。 曾经在一个项目中用到了网络库 libevent,也学习了一段时间,其内部实现所用到的就是 Reactor,所知道的还有 ACE;Proactor 模式的库有 Boost.Asio,ACE,暂时没有用过。但我也翻 阅读全文
posted @ 2017-06-05 16:24 天涯海角路 阅读(172) 评论(0) 推荐(0)
摘要:内容目录: 反应器Reactor 主动器Proactor 对比两者的区别 参考 内容目录: 反应器Reactor 主动器Proactor 对比两者的区别 参考 IO设计模式:Reactor和Proactor对比 平时接触的开源产品如Redis、ACE,事件模型都使用的Reactor模式;而同样做事件 阅读全文
posted @ 2017-06-05 16:22 天涯海角路 阅读(201) 评论(0) 推荐(0)
摘要:一、引言 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。换句话说就是,在系统调度多个cpu的时候,一个程序的基本单元。进程对于大多数的语言都不是一个陌生的概念,作为"世界上最好的语言PHP"当然也例外。 二、环境 php中的进程是以扩展的形式来完成。通过这些扩展,我们能够很轻松的完成进 阅读全文
posted @ 2017-06-05 11:18 天涯海角路 阅读(192) 评论(0) 推荐(0)
摘要:I.线程与线程间通信 一、基本概念以及线程与进程之间的区别联系: 关于进程和线程,首先从定义上理解就有所不同1、进程是什么?是具有一定独立功能的程序、它是系统进行资源分配和调度的一个独立单位,重点在系统调度和单独的单位,也就是说进程是可以独 立运行的一段程序。2、线程又是什么?线程进程的一个实体,是 阅读全文
posted @ 2017-06-05 10:43 天涯海角路 阅读(133) 评论(0) 推荐(0)
摘要:进程间通信的方法主要有以下几种: (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关 系 进程间的通信。命名管道 阅读全文
posted @ 2017-06-05 10:37 天涯海角路 阅读(1105) 评论(1) 推荐(0)
摘要:I.线程与线程间通信 一、基本概念以及线程与进程之间的区别联系: 关于进程和线程,首先从定义上理解就有所不同1、进程是什么?是具有一定独立功能的程序、它是系统进行资源分配和调度的一个独立单位,重点在系统调度和单独的单位,也就是说进程是可以独 立运行的一段程序。2、线程又是什么?线程进程的一个实体,是 阅读全文
posted @ 2017-06-05 10:33 天涯海角路 阅读(163) 评论(0) 推荐(0)
摘要:今天这节课,我们讲一下与二叉树相关的最后一个问题,如何从二叉树里删除一个元素。以及举个例子来看怎么使用二叉树。本节课是小密圈《进击的Java新人》第五周的第四节课。 删除结点 第一种情况,如果待删除结点只有一个孩子,那么直接把这一个孩子挂接在待删结点的父亲结点上即可,无论这个孩子是左子树还是右子树都 阅读全文
posted @ 2017-05-30 09:47 天涯海角路 阅读(420) 评论(0) 推荐(0)
摘要:【写在前面】本页面仅涉及基础知识的梳理,比如算法与数据结构,操作系统,数据库,C/C++等,这一块主要是确定性知识,仅有对或者不对之说,可探讨的地方较少,对于找工作的同学会比较有用。对于已工作的同志,可绕过此页面,直接前往“专业知识处理”。 ————————————————————————————— 阅读全文
posted @ 2017-05-29 18:11 天涯海角路 阅读(119) 评论(0) 推荐(0)
摘要:#include #include using namespace std; //模拟递归工作栈。 //data表示当前状态的参数值 //state表示当前栈的完成状态,state = 2 表示未计算, state = 1 表示计算了递归树左部,state = 0 表示计算了整个递归子树 struct stackNode { int data; ... 阅读全文
posted @ 2017-05-29 16:19 天涯海角路 阅读(522) 评论(0) 推荐(0)
摘要:第0章 概述 本章主要起到总领作用,为读者进行数据结构的学习进行了一些先期铺垫。大家主要注意以下几点:数据结构的基本概念,时间和空间复杂度的概念及度量方法,算法设计时的注意事项。本章考点不多,只要稍加注意理解即可。 第一章 线性表 作为线性结构的开篇章节,线性表一章在线性结构的学习乃至整个数据结构学 阅读全文
posted @ 2017-05-29 16:14 天涯海角路 阅读(380) 评论(0) 推荐(0)
摘要:简单列了一点 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 T 阅读全文
posted @ 2017-05-29 15:35 天涯海角路 阅读(125) 评论(0) 推荐(0)
摘要:暑假的时候曾经翻译过一篇很不错的关于编译器的文章: 用 JavaScript 写一个超小型编译器 但这篇文章真的太简略了,其中编译器前端最重要的文法分析只是一笔带过,没有介绍任何理论和方法,虽然最后确实实现了一个超简单的编译器,但我感觉还远远不够。 这段时间闲着没事的时候去详尽地学了学编译原理,自己 阅读全文
posted @ 2017-05-29 12:11 天涯海角路 阅读(1333) 评论(0) 推荐(0)
摘要:知乎上有一种说法是「编译器、图形学、操作系统是程序员的三大浪漫」。 先不管这个说法是对是错,我们假设一个程序员在国内互联网公司写代码,业余时间不看相关书籍。那么三年之后,他的这些知识会比在校时损耗多少? 很显然,损耗的比例肯定非常高,毕竟国内互联网公司日常开发工作中,程序员基本很少接触这三块知识。大 阅读全文
posted @ 2017-05-29 12:10 天涯海角路 阅读(274) 评论(0) 推荐(0)
摘要:1、准备表结构及对应的表数据a、表结构: b、表数据: 2、TreeNode对象,对应tb_tree 3、测试数据 输出的json格式如下: 阅读全文
posted @ 2017-05-29 12:03 天涯海角路 阅读(138) 评论(0) 推荐(0)

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 62 下一页