斯卡雷特单推委员会

数十億もの 鼓動の数さえ あなたには 瞬き程度の些事な等級

深入理解数据结构(一)

序列型结构

序列(Sequence)是存储有序数据的线性结构. Python内置的序列类型包括以字符串(str)、数组(array)和内存视图(memoryview)为代表的, 只能存储相同数据类型的扁平序列; 以及更常用的列表(list)、元组(tuple)、双端队列(deque)等能够存储不同类型数据的容器序列. 扁平序列类似于C语言中的数组, 其特点是在连续的内存空间中直接存储数据的值, 因此适...

高性能程序设计(四)

并发容器框架

映射Map 重写equals必须重写hashcode HashMap在7和8之间的变化: 7采用数组+单链表,JDK8之后,在链表长度达到8且总元素数量大于64之后会转变为红黑树,链表长度缩短到6之后会重新变为链表 7扩容时需要重新计算哈希值和索引位置,8并不重新计算哈希值,巧妙地采用和扩容后容量进行&操作来计算新的索引位置。 7插入元素到单链表中采用头插入法,8...

高性能程序设计(三)

锁的实现与优化

线程模型 线程调度 线程状态 线程安全 并发控制策略 互斥同步(Mutual Exclusion & Synchronization)是一种最常见也是最主要的并发正确性保障手段。 同步是指在多个线程并发访问共享数据时,保证共享数据在同一个时刻只被有限数量的线程使用,具体数量取决于并发控制策略。 例如互斥锁就只允许一个线程独占资源,而信号量则可以允许多个。 而互斥是实现同步的...

核心基础(一)

基本语法与面向对象

概述 sun 斯坦福大学网络 美国太阳微系统公司 闭源时代, 商业软件公司必备的四大要素: 操作系统 数据库 中间件 编程语言 MicroSoft: windows SQLserver iis .net Oracle: unix Oracle beaweblogic java 开源时代, nginx, Apache基金会, mysql, redis, python, op...

计算机网络(五)

网络安全与身份认证

常见攻击手段 安全的Web服务/接口/应用设计原则: 默认安全 Secure by Default: 白名单, 黑名单, 最小权限原则 纵深防御 Defense in Depth: 从不同层面, 不同角度, 构筑多层次的安全防御体系. 纵深防御不是简单的重复, 是通过各种角度审视系统, 从各个方面选择最合适的防御手段, 最终形成稳定的整体防御解决方案. 例如: 系统的安全防护包...

计算机网络(四)

运输层协议栈

运输层提供的服务 运输层位于应用层和网络层之间, 旨在为应用层提供直接的数据通信服务, 并隐藏传输过程的实现细节. 目前广泛使用的运输层协议包括尽力交付的用户数据报协议(User Datagram Protocol, UDP), 以及提供可靠数据传输的传输控制协议(Transmission Control Protocol, TCP). 网络层负责将数据分组从一个主机传递到另一个主机, ...

计算机网络(三)

网络层的数据与控制

网络层的设备与协议 网络层的作用可以简要描述为主机级别的数据传输. 相比于端口到端口的传输层协议, 网路层协议更关注于如何将数据分组尽力交付到目标主机上. 在因特网中, 网络层协议不关心数据能否被交付, 能否有序交付, 传输的时延与带宽, 是否安全等, 只会尽力而为. 路由器是网络层中最重要的设备. 由于现实世界中的网络环境一般比较复杂, 数据分组需要经过层层路由才能到达目标主机, 因此...

计算机网络(一)

现代计算机网络体系结构

标准的制定者 互联网 > 因特网 > 万维网 互联网: internet 因特网: Internet 首字母大写的专有名词 万维网: 拥有特殊域名www的网络 1977年英国标准化协会向国际标准化组织(ISO)提议,为了定义分布处理之间的通信基础设施,需要一个标准的体系结构。结果,ISO就开放系统互联(OSI)问题成立了一个专委会(TC 97, Subcomittee ...

从数学到计算机科学(三)

文艺复兴与欧洲近代数学

文艺复兴时期的数学发展 欧洲数学的复苏过程十分曲折, 从十二世纪到十五世纪中叶, 教会中从事经院哲学的研究者们, 利用希腊和阿拉伯文献中的消极成分来阻碍科学理论的发展. 罗马教廷将亚里士多德、托勒密、欧几里得等人的观点奉为绝对正确的教条, 不允许出现任何的反对或质疑的声音, 企图利用权威主义继续束缚人们的思想. 斐波那契是十二世纪最有影响力的数学家, 在其著作《计算之书》和《几何实践》中囊...

从数学到计算机科学(二)

中世纪的欧洲与中国数学

伟大罗马帝国的衰亡 同大部分现代国家一样, 罗马帝国在五贤帝时期确立的法律主要是为了保护有产阶级的财产, 统治阶级并不关心奴隶、农民、妇女的权利, 也不想维护所谓的公平和正义. 更糟糕的是, 为了维护国家内部稳定以及抵御波斯第三帝国和日耳曼蛮族等外敌的入侵, 从公元二世纪开始, 罗马政府的军事预算大幅增加. 而在军队权力与日俱增的同时, 底层民众的税务负担也显著增长. 到了公元三世纪, ...