- 博客(47)
- 资源 (9)
- 收藏
- 关注
原创 Python实现获取第n个丑数
丑数:只包含质因子2,3和5的数称作丑数(Ugly Number),1为最小丑数核心思想:新丑数一定是由已得丑数乘丑数因子得到的,要得到有序丑数列表,在已得丑数列表基础上依次追加未得最小丑数即可,进而可得第n个丑数完整方法:import numpy as npfrom datetime import datetime# 获取第n个丑数,n从1开始# 返回:目标丑数,丑数列表...
2020-02-16 14:36:41 1779
原创 《Redis设计与实现 黄建宏 著》阅读笔记目录(持续更新)
《Redis设计与实现 黄建宏 著》第3章该书基于Redis2.9,即Redis3.0开发版编写目录:第一部分 数据结构与对象01 简单动态字符串02 链表03 字典未完待续......
2017-08-14 16:17:19 2021 1
原创 你假笨JVM参数分享全整理系列目录(持续更新)
你假笨JVM参数分享全整理系列微信小程序:JVMPocket - JVM参数交流平台,Javaer的神奇口袋目录:001 ReservedCodeCacheSize002 StringTableSize003 CompileCommand004 MaxTenuringThreshold005 CMSScavengeBeforeRemark006 Explic
2017-08-03 16:32:11 2051 2
原创 《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)周志明 著》阅读笔记目录(已完结)
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》阅读笔记目录:01《Java虚拟机规范(JavaSE7版)》运行时数据区域02 HotSpot虚拟机内存中对象的布局03 确定对象已死的2种算法04 Java的4种引用概念05 垃圾收集算法06 垃圾收集器07 内存分配规则08 虚拟机性能监控及故障处理工具09 Class类文件的结构10
2017-08-03 16:20:49 2564
原创 Redis设实 - 13 事件 下 时间事件
《Redis设计与实现 黄建宏 著》第11章该书基于Redis2.9,即Redis3.0开发版编写时间事件分2类:·定时事件指定时间后执行一次事件处理器返回AE_NOMORE,该事件达到一次后被删除·周期事件每隔指定时间执行一次事件处理器返回非AE_NOMORE整数值,根据该值更新when属性,让该事件在一段时间后再次到达时间事件3个属性
2017-08-18 11:48:18 703
原创 Redis设实 - 12 事件 上 文件事件
《Redis设计与实现 黄建宏 著》第11章该书基于Redis2.9,即Redis3.0开发版编写两类事件文件事件(file event)Redis服务器通过套接字与客户端(或其他Redis服务器)连接,文件事件是服务器对套接字操作的抽象服务器与客户端(或其他Redis服务器)通信产生文件事件,服务器通过监听并处理这些事件完成一系列网络通信操作时间事件(time e
2017-08-17 19:00:24 684
原创 Redis设实 - 11 AOF持久化
《Redis设计与实现 黄建宏 著》第11章该书基于Redis2.9,即Redis3.0开发版编写AOF(Append Only File)持久化通过保存Redis服务器执行的写命令记录数据库状态AOF持久化三个步骤:命令追加(append)服务器执行完一个写命令后,该命令以协议格式追加到服务器状态aof_buf缓冲区:typedef struct redisSer
2017-08-17 16:59:30 515
原创 Redis设实 - 10 RDB持久化
《Redis设计与实现 黄建宏 著》第10章该书基于Redis2.9,即Redis3.0开发版编写服务器中的非空数据库及其键值对统称为数据库状态持久化操作可将数据库状态保存到文件RDB持久化可手动执行,也可根据服务器配置选项定期执行2个生成RDB文件命令SAVE,阻塞Redis服务器进程,直到RDB文件创建完毕为止,期间不处理任何命令请求BGSAVE,派
2017-08-16 16:06:49 435
原创 Redis设实 - 09 数据库
《Redis设计与实现 黄建宏 著》第9章该书基于Redis2.9,即Redis3.0开发版编写1. 数据结构Redis服务器数据结构typedef struct redisServer{// ...// 一个数组,保存服务器中的所有数据库redisDb *db;// 服务器的数据库数量,默认为16,可通过服务器配置中database选项修改int db
2017-08-16 11:46:02 448
原创 Redis设实 - 08 对象 下
《Redis设计与实现 黄建宏 著》第8章该书基于Redis2.9,即Redis3.0开发版编写Redis命令可分两种一种命令可对任何类型键执行,例DEL、EXPIRE、RENAME、TYPE、OBJECT另一种命令只对特定类型键执行类型检查通过redisObject.type属性实现,若命令与type要求不一致,则返回错误命令多态通过redisObject
2017-08-15 16:54:22 420
原创 Redis设实 - 07 对象 上
《Redis设计与实现 黄建宏 著》第8章该书基于Redis2.9,即Redis3.0开发版编写Redis对象数据结构typedef struct redisObject{// 类型unsigned type:4;// 编码unsigned encoding:4;// 指向底层实现数据结构的指针void *ptr;//...}robj;typ
2017-08-15 15:33:29 374
原创 Redis设实 - 06 压缩列表
《Redis设计与实现 黄建宏 著》第7章该书基于Redis2.9,即Redis3.0开发版编写压缩列表为节约内存而开发由一系列特殊编码的连续内存块组成的顺序型(sequential)数据结构可包含任意多个节点(entry),每个节点可保存一个字节数组或一个整数值压缩列表节点1个压缩列表节点可保存1个字节数组或1个整数值字节数组长度有3种:·长度
2017-08-15 10:57:24 380
原创 Redis设实 - 05 整数集合
《Redis设计与实现 黄建宏 著》第6章该书基于Redis2.9,即Redis3.0开发版编写整数集合(intset)用于保存整数值的集合抽象数据结构可保存类型为int16_t、int32_t、int64_t的整数值集合中不会出现重复元素整数集合数据结构typedef struct intset{// 编码方式uint32_t encoding
2017-08-14 17:58:26 338
原创 Redis设实 - 04 跳跃表
《Redis设计与实现 黄建宏 著》第5章该书基于Redis2.9,即Redis3.0开发版编写跳跃表(skip list)一种有序数据结构,通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的支持平均O(logN)、最坏O(N)复杂度的节点查找可通过顺序性操作批量处理节点跳跃表数据结构typedef structz skiplist{
2017-08-14 17:32:43 554
原创 Redis设实 - 03 字典
《Redis设计与实现 黄建宏 著》第3章该书基于Redis2.9,即Redis3.0开发版编写字典一种用于保存键值对(key-value pair)的抽象数据结构键唯一又称符号表(symbol table)、关联数组(associative array)或映射(map)Redis数据库底层使用字典实现字典底层使用哈希表实现,哈希表节点保存键值对字典
2017-08-14 16:11:55 464
原创 Redis设实 - 02 链表
《Redis设计与实现 黄建宏 著》第3章该书基于Redis2.9,即Redis3.0开发版编写链表结构typedef struct list{// 表头节点listNode *head;// 表尾节点listNode *tail;// 节点数量unsigned long len;// 节点值复制函数void *(*dup)(void *ptr)
2017-08-14 15:02:57 391
原创 Redis设实 - 01 简单动态字符串
《Redis设计与实现 黄建宏 著》3.3节该书基于Redis2.9,即Redis3.0开发版编写Redis默认字符串为简单动态字符串(simple dynamic string,SDS)抽象类型Redis中C字符串只会作为字符串字面量(string literal)用在一些无须对字符串值进行修改的地方,如打印日志SDS结构struct sdshdr{//
2017-08-14 14:19:54 527
原创 深机笔记 - 21 编译优化技术
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》11.3节最具代表性的4项优化技术:1. 语言无关的经典优化技术之一:公共子表达式消除普遍应用于各种编译器的经典优化技术若一个表达式E已经计算过,且从先前计算到现在E中所有变量值都未发生变化,则E的这次出现就成为了公共子表达式对于公共子表达式,无必要再花时间进行计算,只需使用前面计算过的表达式结果代替E即可
2017-08-11 18:48:46 470
原创 007 UseGCLogFileRotation NumberOfGCLogFiles GCLogFileSize
你假笨JVM参数分享全整理系列微信小程序:JVMPocket - JVM参数交流平台,Javaer的神奇口袋序号:007时间:2017-08-10参数:-XX:UseGCLogFileRotation-XX:NumberOfGCLogFiles-XX:GCLogFileSize含义:这次分享3个和GC日志相关的参数通过参数-Xloggc:xxx可指定
2017-08-11 11:14:55 6423
原创 深机笔记 - 20 HotSpot虚拟机内的即时编译器
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》11.2节如无特殊说明,本章提及的HotSpot、虚拟机指HotSpot虚拟机,编译器、即时编译器指HotSpot虚拟机内的即时编译器热点代码和JIT编译器Java程序最初通过解释器(Interpreter)进行解释执行,虚拟机发现某个方法或代码块运行特别频繁时,会把这些代码认定为“热点代码”(Hot Spot Co
2017-08-08 15:26:38 956
原创 深机笔记 - 19 Java语法糖的味道
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》10.3节语法糖不会提供实质性功能改进,但或能提高效率、提升语法严谨性、减少编码出错机会泛型与类型擦除泛型是JDK1.5新增特性,本质是参数化类型(Parametersized Type)的应用,即数据类型被指定为参数这种参数类型可用在类、接口和方法的创建中,分别称泛型类、泛型接口和泛型方法泛型技术在
2017-08-07 13:15:58 546 2
原创 深机笔记 - 18 Javac编译器
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》10.2节下文提及的实现类全部是Javac源码中的实现类编译过程可3个过程:1) 解析与填充符号表2) 插入式注解处理器的注解处理3) 语义分析与字节码生成Javac编译动作入口是com.sun.tools.javac.main.JavaCompiler类,上述3个过程代码逻辑集中在该类compi
2017-08-06 22:07:54 476
原创 深机笔记 - 17 基于栈的字节码解释解释执行引擎
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》8.4节解释执行上图中:下边那条分支,是传统编译原理中程序代码到目标机器代码的生成过程中间那条分支,是解释执行过程词法分析、语法分析以至后面的优化器、目标代码生成器选择独立于执行引擎,形成一个完整意义的编译器实现,这类代表是C/C++语言把其中一部分步骤(如生成抽象语法树之前的步骤)实现为
2017-08-04 18:38:48 344
原创 深机笔记 - 16 动态类型语言支持
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》8.3.3节动态类型语言关键特征是,类型检查主体过程是在运行期而不是编译期JDK1.7实现JSR-292,新加入java.lang.invoke包,该包主要目的是在依靠符号引用确定目标方法以外,提供一种新的动态确定目标方法的机制,称MethodHandle拥有MethodHandle后,Java语言拥有类似函数指针或
2017-08-04 14:01:52 506
原创 深机笔记 - 15 方法调用
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》8.2节方法调用不等同于方法执行,方法调用阶段唯一任务是确定被调用方法的版本(即调用哪一个方法),不涉及方法内部具体运行过程Class文件编译过程不包含连接步骤,方法调用在Class文件中存储的是符号引用,不是方法实际运行时内存布局入口地址(相当于直接引用)该特性给Java带来更强大的动态扩展能力,但也使Java方法
2017-08-03 16:05:29 335
原创 深机笔记 - 14 运行时栈帧结构
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》8.2节不同的虚拟机实现在执行Java代码时可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择栈帧(Stack Frame)用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机栈(Virtual Machine Stack)的栈元素存储方法的局部变量表、操作数栈、动
2017-08-02 17:21:19 441
原创 你假笨JVM参数 - 006 ExplicitGCInvokesConcurrent
你假笨JVM参数分享全整理系列微信小程序:JVMPocket - JVM参数交流平台,Javaer的神奇口袋序号:006时间:2017-07-31参数:-XX:ExplicitGCInvokesConcurrent含义:Enables invoking of concurrent GC by using the System.gc() request.Thi
2017-08-01 10:32:03 7103
原创 Maven战笔记 - 01 简介、安装和配置、入门、坐标和依赖、仓库
《Maven实战》(徐晓斌著 机械工业出版社)阅读笔记1-6章简介、安装和配置、入门、坐标和依赖、仓库Maven作为构建工具,不仅能帮我们自动化构建,还能抽象构建过程,提供构建任务实现,它跨平台,对外提供一致操作接口。Maven通过一组坐标能找到任何一个Java类库(如jar文件)。我们可以借助它有序地管理依赖,轻松解决繁杂的依赖问题。通常需要设置MAVEN_OPT
2017-07-31 17:49:34 426
原创 深机笔记 - 13 类加载器
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》7.4节每个类加载器,都拥有一个独立的类名称空间对于任意类,需要由加载它的类加载器和该类本身一同确立其在Java虚拟机中的唯一性比较两个类是否“相等”,只有在两个类是由同一个类加载器加载的前提下才有意义在Java虚拟机角度只存在两种类加载器:1. 启动类加载器(Bootstrap ClassLoade
2017-07-27 15:16:47 313
原创 你假笨JVM参数 - 005 CMSScavengeBeforeRemark
你假笨JVM参数分享全整理系列微信小程序:JVMPocket - JVM参数交流平台,Javaer的神奇口袋序号:005时间:2017-07-24参数:-XX:CMSScavengeBeforeRemark含义:Enable scavenging attempts before the CMS remark step.开启或关闭在CMS重新标记阶段之前的清除尝试
2017-07-24 22:47:46 8925 2
原创 你假笨JVM参数 - 004 MaxTenuringThreshold
你假笨JVM参数分享全整理系列微信小程序:JVMPocket - JVM参数交流平台,Javaer的神奇口袋序号:004时间:2017-07-21参数:-XX:MaxTenuringThreshold含义:Sets the maximum tenuring threshold for use in adaptive GC sizing.The largest
2017-07-21 22:23:54 4983
原创 深机笔记 - 12 类的加载过程
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》7.3节类的生命周期:加载、验证、准备、初始化和卸载5个阶段必须按顺序开始,不一定按顺序进行、结束这些阶段通常是交叉进行的(在一个阶段执行过程中调用、激活另外一个阶段)解析阶段在某些情况下可在初始化阶段后开始,目的是为了支持Java语言的运行时绑定(也称动态绑定、晚期绑定)1. 加载1)通
2017-07-21 18:48:48 441
原创 你假笨JVM参数 - 003 CompileCommand
你假笨JVM参数分享全整理系列微信小程序:JVMPocket - JVM参数交流平台,Javaer的神奇口袋序号:003时间:2017-07-19参数:-XX:CompileCommand含义:Prepend to .hotspot_compiler; e.g. log,java/lang/String.该参数用于定制编译需求,比如过滤某个方法不做JIT编译
2017-07-19 21:36:16 4062
原创 深机笔记 - 11 类加载的时机
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》7.2节类的生命周期:加载、验证、准备、初始化和卸载5个阶段必须按顺序开始,不一定按顺序进行、结束,这些阶段通常是交叉进行的(在一个阶段执行过程中调用、激活另外一个阶段)解析阶段在某些情况下可在初始化阶段后开始,目的是为了支持Java语言的运行时绑定(也称动态绑定、晚期绑定)有且只有5种情况必须立
2017-07-17 22:41:43 245
原创 深机笔记 - 10 字节码指令简介
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》6.4节长度:1个字节总数:面向:操作数栈,而非寄存器对齐:操作数长度不对齐操作码助记符:i代表int,l代表long,s代表short,b代表byte,c代表char,f代表float,d代表double,a代表referencearraylength指令,无操作码助记符,但操作数永远只能数组
2017-07-17 17:44:22 603
原创 深机笔记 - 09 Class类文件的结构
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》6.3节本文关于Class文件结构以《Java虚拟机规范(第2版)》(1999年发布,对应JDK1.4时代Java虚拟机)中的定义为主线一个Class文件对应唯一一个类或接口定义信息但类或接口并不一定都定义在文件里(譬如类或接口也可以通过类加载器直接生成)本文中的“Class文件”并不一定都以磁盘文件的形式存在
2017-07-16 15:25:35 580
原创 你假笨JVM参数 - 002 StringTableSize
你假笨JVM参数分享全整理微信小程序:JVMPocket - JVM参数交流平台,Javaer的神奇口袋序号:002时间:2017-07-14参数:-XX:StringTableSize含义:Number of buckets in the interned String tableString.intern()被调用时会往Hashtable插入一个String
2017-07-14 14:19:08 1619
原创 你假笨JVM参数 - 001 ReservedCodeCacheSize
你假笨JVMPocket JVM参数分享全整理序号:001时间:2017-07-13参数:-XX:ReservedCodeCacheSize含义:Reserved code cache size (in bytes) - maximum code cache size用于设置Code Cache大小,JIT编译的代码都放在Code Cache中,若Code Ca
2017-07-14 11:34:21 21255 2
原创 深机笔记 - 08 虚拟机性能监控及故障处理工具
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》4章本章介绍的工具基于Windows平台下JDK1.6 Update 21JDK1.5需手动开启JMX,JDK1.6默认开启这些工具大多是jdk/lib/tools.jar类库的一层薄包装命令行工具:1. jps(JVM Process Status Tool)虚拟机进程状况工具,输入LVMID以确定
2017-07-13 21:48:19 402
opencv_python-4.1.0-cp36-cp36m-win_amd64.whl.7z
2020-02-29
GoogleNews-vectors-negative300网盘下载地址.txt
2020-02-29
tensorflow-1.5.0-cp27-cp27m-win_amd64.whl.7z
2020-02-29
Node.js开发指南
2015-04-14
RSATool 使用方法 使用指导 使用帮助 使用说明
2012-05-08
php 实现 工资管理系统 开发(开发环境wampserver)
2011-07-14
数据结构排序算法汇总包-直接插入排序 折半插入排序 2—路插入排序 表插入排序 希尔排序 起泡排序 快速排序 简单选择排序 树形选择排序 堆排序 归并排序链式基数排序
2011-01-08
校园导游系统-基于c语言
2011-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人