Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java 并发编程:核心理论

Java 并发编程:核心理论

并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能。它要求编程者对计算机最底层的运作原理有深刻的理解,同时要求编程者逻辑清晰、思维缜密,这样才能写出高效、安全、可靠的多线程并发程序。本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。在此基础上,我们会进一步分析java.util.concurrent包的工具类,包...
为什么我从 Python 转战到 Node.js

为什么我从 Python 转战到 Node.js

老生常谈?这些日子谁不是切换到Node呢?我就是其中之一,下面是我的理由。Python 2,抑或是Python3?Python版本之间缺乏重点和运转是一个巨大的阵痛。是的,我知道很多库正在被转换或已经被转换过了。但是,一个接一个地缺乏重点以及明确的方向使得我对它的信任降到历史最低。我知道这和不想移动的社区有很大的关系,但开发人员对此不买账,尽管是社区驱动项目。nodejs-logo-2Unicode支持你有没有试过在Python中使用Unicode?TMD...
Java反射实例详解

Java反射实例详解

一:反射反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。使用Java的反射,一般有下面三步:1:获得你想操作类的Class对象2:通过第一步获得的Class对象去取得操作类的方法或是属性名3:操作第二步取得的方法或是属性二:例子Java的反射机制中类有Class对应,类的方法有Method对应,当然属性也有Field与之对应。2.1 通过反射获取当前类和父类的相关属性public c...
Linux 内核里的数据结构——基数树

Linux 内核里的数据结构——基数树

基数树(Radix tree)Trie正如你所知道的,Linux内核提供了许多不同的库和函数,它们实现了不同的数据结构和算法。在这部分,我们将研究其中一种数据结构——基数树(Radix tree)。在 Linux 内核中,有两个文件与基数树的实现和API相关:include/linux/radix-tree.hlib/radix-tree.c让我们先说说什么是 基数树 吧。基数树是一种 压缩的字典树 (compressed trie...
面试数据结构问题总结

面试数据结构问题总结

一、 平衡二叉树:除叶子节点外,任意节点的子树高度之差不超过1。二、完全二叉树:除了最底下一层外,每层都是满节点,最底下一层节点是从左到右排列的。三、二叉搜索树:左儿子val<父节点val<右儿子val四、红黑树红黑树有哪些性质?1. 只有红色和黑色两种节点;2. 根节点是黑色的;3. 叶子节点是null节点并且是黑色的;4. 红色节点的两个儿子都是黑色的;5. 对于任意一个节点,它到其叶子节点的所有路径上有相同数量的黑节点;由上面这些性质,可...
根据入栈顺序判断出栈顺序的合法性

根据入栈顺序判断出栈顺序的合法性

这道题不管是面试还是笔试的选择题都非常爱出的一道题题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,5,2,3,1就不可能是该压栈序列的弹出序列。输入:每个测试案例包括3行:第一行为1个整数n(1<=n<=100000),表示序列的长度。第二行包含n个整数,表示栈的压入...
STL库中string类内存布局的探究

STL库中string类内存布局的探究

在STL中有着一个类就是string类,他的内存布局和存储机制究竟是怎么样的呢?这就是建立好的string可以看出,图中用黄色框框标注的部分就是主要区域我们用来给string对象进行初始化的字符串被存储在了_Buf当中,_Mysize和_Myres就不用说了,就是上面的size 和 capacity 的值。当只有一个字符作为字符串的时候,就可以很明显的看出来了,_Mysize是指字符串的length_Myres还是没有改变,_Myres最大就是15么?此时...
Python基础教程:面向对象编程

Python基础教程:面向对象编程

模块和包包: 文件夹 (可以有多级), 且包含__init__.py文件(每层都要有) 模块: py文件代码分开放在多个py文件(模块名=文件名). 同名变量互不影响.模块名冲突: 把同名模块放在不同包中.导入模块from math import logfrom logging import log as logger引用时: 使用完整的路径(包+模块名). ex. p1.util.f()动态导入模块try:from cStringIO import St...
STL的迭代器和类型萃取

STL的迭代器和类型萃取

今天就可以把STL库中迭代器的实现,和类型萃取好好整理一下了迭代器的设计思维是STL的关键所在,在STL的实际运用和泛型思维,迭代器都扮演着十分重要的角色,STL力求把数据容器和算法的概念分开来,于是就有了STL的两大部分,容器(container)和泛型算法(algorithms),泛型算法有很多参数都是迭代器。举一个栗子!泛型算法find()的实现!template<class InputIterator, class T>InputIte...
Python基础教程:函数式编程

Python基础教程:函数式编程

函数式编程: 更抽象, 更脱离指令(计算机), 更贴近计算(数学).不需要变量 (python允许有变量, 所以python非纯函数式)高阶函数闭包: 返回函数匿名函数高阶函数变量可以指向函数 f=abs; f(-10)函数名: 就是指向函数的变量 abs=len高阶函数: 接收函数作为参数的函数def add(x,y,f): return f(x)+f(y)add(-5, 9, abs)map()map()是 Python 内置的高阶函数,它接收一个函数...
OpenCV中存储和读取我们数据的函数

OpenCV中存储和读取我们数据的函数

Basic data persistence and storage 在本文中,我们将探索OpenCV中存储和读取我们的数据的函数。在许多应用中,比如校准(calibration)或者机器学习,我们需要处理数据计算,就需要保存结果以备下一个执行阶段重新获取。为此,OpenCV提供了一个XML/YAML保持层(persistence layer)。1. 写入文件存储(Write to a file storage) 要将OpenCV数据或者其它数值数据写...
堆(Heap)的实现

堆(Heap)的实现

这次实现了堆,这个堆不是指系统堆栈的堆,是一种数据结构,见下图堆的本质就是一个数组(上图中,红色的是值,黑色的是下标)简单的来说就是把一个数组看成是二叉树,就像上图大堆和小堆分别是指根节点比孩子节点的值大或者是小,看了上图之后就可以发现,父亲节点和孩子节点之间下表的关系,parnet=(child-1)/2利用这个关系就可以实现堆了,堆的基本方法有构造,析构,插入,删除,像大堆小堆这样特殊的堆肯定是要有调整函数来保持他们的特性的,所以我还写了向上调整和向下...
<< 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 >>