- 博客(203)
- 资源 (13)
- 收藏
- 关注
原创 行为型-迭代器模式(五)
目录1. 模式概述1.1 定义1.2 应用场景1.3 优缺点2迭代器模式原理3. 以Java为例剖析迭代器1. 模式概述1.1 定义 迭代器模式(Iterator Design Pattern),也叫作游标模式(Cursor Design Pattern),提供一种方法顺序访问一个聚合中的各个元素,而不暴露其内部的表示。 通俗的说就是通过对聚合...
2020-04-14 00:34:42
571
原创 创建型-工厂模式(二)
工厂模式是用来创建不同但是相关类型的对象(继承同一父类或者接口的一组子类),由给定的参数来决定创建哪种类型的对象。建造者模式是用来创建一种类型的复杂对象,通过设置不同的可选参数,“定制化”地创建不同的对象。...
2020-03-28 00:43:14
367
转载 开源OLAP引擎测评报告(SparkSql、Presto、Impala、HAWQ、ClickHouse、GreenPlum)
原文链接:开源OLAP引擎测评报告(SparkSql、Presto、Impala、HAWQ、ClickHouse、GreenPlum)
2020-02-20 17:17:06
1069
原创 计算机组成原理之存储(六)
前言为什么CPU与内存之间的速度差距如此大呢? 有什么方法可以解决这两者之间速度的差距么? 了解了计算机各存储原理对编程有什么帮助呢? 为什么传统的HDD难以提升其性能? 为什么SDD访问性能会比HDD好如此多? SDD性能比机械硬盘好那么多,价格算亲民,市面为何还是存在如些多的HDD?一、存储器的层次结构直观感受计算机的层次结构如下图所示:存储器的层次关系图Regi...
2020-01-20 16:46:14
813
原创 计算机组成原理之GPU(七)
目录前言一、GPU 的发展图形渲染的过程二、GPU架构现代GPU的核心优化1、芯片瘦身2、多核并行和 SIMT3、GPU 里的“超线程”三、GPU与CPU的区别前言GPU(Graphics Processing Unit,图形处理器)是计算机里的另一个处理器,同样可以进行计算;其是显卡中的最核心组件,由于显卡主要是通过GPU来工作的,因而通常有人...
2019-12-28 17:38:55
2666
原创 计算机组成原理之信息传输(五)
目录前言一、二进制之间的转换短除法二、二进制的表示方式用二进制表示字符串三、如何通过0,1实现传输信息电报如何传递信息的前言众所周知,现代计算机都是用 0 和 1 组成的二进制来表示所有的信息。那么文本字符串是怎么表示成二进制的?键盘中输入与显示器中输出的又是怎么实现的呢?特别是时常遇到的乱码究竟又是怎么回事儿?计算机在硬件层面究竟是怎么表示二进...
2019-12-24 11:20:42
2180
1
转载 mysql grant 用户权限总结
注:根据自己个人爱好对格式转换了下,原文出自mysql grant 用户权限总结目录前言一、用户授权二、刷新权限三、查看用户权限四、回收权限五、删除用户六、用户重命名七、修改密码八、忘记密码九、Mysql权限一.权限表二.MySQL各种权限(共27个)前言 用户权限管理主要有以下作用:1. 可以限制用户访问哪些库、哪些表...
2019-12-18 13:15:03
597
原创 计算机组成原理之指令(三)
目录前言一、什么是计算机指令二、常见的计算机指令三、指令层面看代码的执行过程前言怕什么真理无穷,进一寸有一寸的欢喜。 -- 胡适在粗略学习完计原硬件相关的知识后,进入到学习计原指令,心底其实还是挺迷惑的,指令这一块到底有啥好学的呢?具体又要怎么学呢?学了之后对我未来编码又有那些帮忙呢?也很清楚抱着好奇心与问题去学习是最好的,但成年人的世界往往是需要抱着任务去学习。一...
2019-12-17 18:28:27
1555
原创 计算机组成原理之CPU架构(二)
目录一、CPU的内部结构二、CPU 相关的小知识点三、程序在CPU中的运行机制四、CPU之寄存器一、CPU的内部结构硬件组成:由许多晶体管组成的超大规模集成电路(IC,Integrated Circuit),通过电路实现了加法、乘法乃至各种各样的处理逻辑。从软件工程师的角度来讲,CPU 就是一个执行各种计算机指令(Instruction Code)的逻辑机器。逻辑组成:...
2019-12-05 17:37:46
640
原创 计算机组成原理(一)
目录前言一、为什么要学习计算机组成原理二、如何学习计算机组成原理三、计算机的硬件设备组成CPU内存主板显卡四、冯·诺依曼体系结构五、计算机性能六、计算机功耗前言记得吴军博士说过,上帝喜欢“笨人”。左耳朵浩子也说过类似的观点,这个世界上聪明的人太多,真正肯下苦功夫的“笨人”太少了。这段时间,停更了许久,迷茫与低沉如影随形。终于下定决心,踏踏实实把...
2019-11-29 17:38:07
1487
转载 Teach Yourself Programming in Ten Years
因为不想一直做一个CURD BOY,近来想把之前学的基础知识系统串一串,如数据结构、操作系统、数据库、计算机组成原理... 老实说,感觉学习基础知识真是比完成任务需求痛苦得多。因此时而亢奋,时而低沉。唯有靠时不时给自己画画饼,讲讲故事来说服自己去啃了。 下文正是低沉时给自己讲故事的一文。个人感觉在这快餐式文化盛行下,特别不错。注:原文出自Teach Yourself Pr...
2019-07-28 11:39:27
525
原创 纯属瞎掰
以下为个人瞎掰或被大神所触动的观点花20%的精力学习一个领域80%的基础知识,然后花80%的精力打造属于自己的硬核技能。 学习是反人性的,要想学的牢可抱着“以教为学”的心态去学。 从事脑力活动者都应当适当利用运动进行休息,而不是葛优瘫。正所谓,最好的休息是切换大脑。 技术是可以相通的,这点取决于你是学在表面还是深入本质。---左耳朵耗子 要事第一。《高效能人士的七个习惯》提示紧急重要...
2019-07-19 17:23:15
321
1
转载 终于有人把中台说清楚了
来源:边缘计算社区(ID:edgewnet)最近朋友圈被中台刷屏了,那么今天我们来说说中台!注:笔者认为本文干货在白话数据中台部分目录一、缘起二、芬兰游戏公司Supercell三、阿里中台四、白话数据中台五、滴滴中台六、总结一、缘起 百度指数搜索“中台”,可以发现,中台一词前几年几乎都没有搜索,反倒是今年5月21号开始蹭蹭往上涨!百度指数...
2019-07-14 11:25:43
489
原创 JVM GC机制初探(三)
前言1. GC处理重点区域2. STW机制3. 对象分配规则一、垃圾标记1. 引用计数算法2. 根搜索算法二、垃圾收集器算法的分类1. 标记清除算法(Mark-Sweep)2. 复制算法(Copying)3. 标记压缩算法(Mark-Compact)4. 增量算法(Incremental Collecting)5. 分代算法(Generational...
2019-07-13 17:09:04
370
原创 JVM 内存模型(二)
一、JVM内存架构1. 方法区(MethodArea)2. 堆(Heap)3. 程序计数器(PC Regiser)4. 虚拟机栈(VM Stack)5. 本地方法栈(Native Method Stack)二、JVM 简单参数说明注:环境JDK8、HotSpot一、JVM内存架构JVM内存由堆、方法区、程序计数器(PC寄存器)、虚拟机栈(Java栈)、本地方法栈...
2019-07-12 13:13:55
277
原创 JVM 入门学习(一)
前言一、JVM 是什么二、JVM 组成架构1. JVM 的发展史2. JDK默认的JVM HotSpot组成架构三、Java 代码是如何运行的1. 前端编译2. 类加载3. 运行时编译前言 为什么要学习JVM? 针对为什么要学习JVM,对于一个工作了四年之久的老人,笔者很尴尬的回答主要原因是面试会被问到这个。当然还有啥扩展视野、满足好奇心等,但这些貌...
2019-07-11 18:29:10
319
原创 数据结构小结
目录一、时空复杂度二、数据结构分类图三、细分数据结构1. 数组2. 链表3. 栈4. 队列5. 散列表6. 跳表7. 树8. 图一、时空复杂度 小结:通常所说的时空复杂度分析其实是描述程序运行过程中所需要的时间与额外空间的一种度量方式并非真实所需要的时间与空间,因此也称为渐近时间复杂度或渐近空间复杂度。二、数据结构分类图总结...
2019-07-01 18:54:21
538
原创 Mysql 之日志架构
前言一、错误日志二、慢查询日志三、查询日志四、二进制binlog日志五、redo log(InnoDB 引擎日志文件)binlog 与 redolog的区别 六、Mysql 执行一条更新操作的整体流程前言 对于Myql来说,其所包含的文件有多种,主要有如下几种: 参数文件:存储了Mysql启动与运行时配置信息相关的属性;如 my.c...
2019-06-30 23:28:12
3149
原创 Mysql 之体系架构
前言 对于Mysql我们是否有好奇过,当执行一条普通的查询语句,其内部流程是怎么样的呢 ?Mysql 整体的组成架构又是怎么样的呢?一、Mysql 体系架构 如下图所示(摘自Mysql官方手册),Mysql的架构分为四层,分别是Connectors层、 Server层、Enginer层、File System层。connectors (网络连接层):这一层通常对应着客户端...
2019-06-30 00:11:23
349
原创 为何要学习数据结构(一)
一、为什么要学习数据结构与算法二、如何高效系统的学习数据结构与算法 1. 如何定义数据结构与算法 2. 为啥数据结构与算法总是一起出现呢? 3. 如何高效地学习数据结构与算法?前言 笔者于2015年普通本科院校毕业,在接近大四还很坚决自己不会走IT路,因此在相关专业课上算是得过且过了。没有耀眼的文凭,没有扎实的基础。 ...
2019-06-27 10:09:08
344
原创 数据结构之图(十)
前言一. 图的基本概念二. 图的存储方式 1. 邻接距阵存储 2. 邻接表存储图 3. 十字链表三. 图的实际应用 1. 存储微信或微博的好友关系四. 图的遍历 广度优先遍历(BFS) 深度优先遍历简称 DFS五. 学习过程中的疑问前言 相信大家都有听过《哥尼斯堡七桥》这个故事吧,正是这个故...
2019-06-25 23:08:01
851
原创 数据结构之树(九)
目录前言一、什么是树二、常见的树<二叉树>链表式的存储二叉树数组存储二叉树三、二叉查找树(Binary Search Tree) 二叉查找树基本操作与时间复杂度分析1. 查找2. 插入3. 删除四、树的遍历二叉查找树遍历代码实现有了如此高效的散列表,为什么还需要二叉树呢?五、树的应用场景前言 在前面几篇博文学习了...
2019-06-23 18:52:10
316
原创 数据结构之跳表(八)
前言一. 什么是跳表二. 跳表的基本概念1. 跳表的创建过程2. 跳表的时空复杂性分析3. 更新数据时跳表的维护三. 跳表的实际应用场景四. 学习过程中的疑问点小记前言 有序数组运用数组随机读取的特性,通过二分查找法可实现快速查找,检索的时间复杂度为O(logN)。由于是对数的时间复杂度,因此随着数据量的增加其检索效率更凸显。例如在42亿的数据集...
2019-06-22 14:18:33
855
原创 Linux 磁盘管理
目录一. 统计磁盘使用情况 为什么会 df 与 fdisk 统计的结果有差距呢?二. df 命令三. du命令四. fdisk 如何估算上述硬盘是否都被划分了呢场景:需要对磁盘做如下信息统计解决思路:由于只是临时统计因而怎么简单怎么来了,直接通过命令或拿网上的脚本修改一通进行统计。实际上操作起来才发现还有不少的疑问,因此便有了...
2019-06-19 23:43:35
340
原创 JDK1.8 之HashMap 原理探索
前言: 为啥出来工作4年之后再来探究HashMap的原理呢? 从开始出来工作之后,就断断续续的了解了HashMap的一些原理,但终究是没形成一个比较完整的架构,还有就是近期在进行数据结构的系统学习,还有就是发现JDK8之后对HashMap做了不少的优化。 首先需要明确一点 HashMap的底层数据结构是散列表,其整个组成由数组+链表或数组+链表与树组成。如下图所示...
2019-06-18 23:55:44
340
原创 数据结构之散列表(七)
前言一、什么是散列表散列表是如何组织数据的呢?散列表的基本概念二、Hash算法的设计什么是Hash算法Hash算法的应用场景三、散列表冲突的解决1. 开放寻址法2. 链表法3. 开放寻址法与链表法的对比四、散列表实际应用场景1. 拼写检查器2. LRU缓存淘汰算法3. 高级语言中对应的容器五、学习过程中的疑问前言 散列表笔...
2019-06-18 22:13:52
631
原创 数据结构之队列(六)
前言:一. 什么是队列二. 队列的实际应用三. 队列的代码实现 1.数组实现(顺序队列) 2.循环队列(基于数组) 3. 链表实现(链式队列)前言: 想必大家都有过在车站排队买票的经验吧,先来的排在前面,后来的依次往后排,当排在最前面的买到票则退出队列,这时排在后面的则跟上。其实这跟数据结构中的队列是同一个原理,先进先...
2019-06-16 23:08:44
266
原创 数据结构之栈(五)
目录前言: 物理结构与逻辑结构一. 什么是栈二. 栈的应用场景 1. 首先由于栈是受限的操作结构,因此对于不想暴露过多操作接口的需求就很适合应用了。 2. 实现浏览器的前进与后退 3. 栈在函数调用中的应用 4. 栈在括号匹配中的应用 5. 栈在表达式求值中的应用三. 栈操作的实现代码前言: 在对...
2019-06-08 08:41:29
357
原创 数据结构之链表(四)
目录前言:一、链表的底层原理二、常见的链表单链表循环单链表双链表循环双链表三、链表的基本操作四、链表与数组性能对比五、链表的实现代码常见的 Java 链表容器六、简述缓存机制如何分别用链表和数组实现LRU缓冲淘汰策略?如何通过单链表实现“判断某个字符串是否为水仙花字符串”?七、链表的实际应用场景前言: 在上一篇文章中我们学...
2019-06-07 22:38:43
338
原创 数据结构之复杂度分析(二)
一. 什么是复杂度分析二. 为什么需要复杂度分析三. 如何进行复杂度分析 空间复杂度四. 复杂度分析的细化一. 什么是复杂度分析衡量一段代码的执行效率最主要的无非是“快”、“省”,其中快是指运行速度快,省是指占用空间少。这里所指的复杂度分析指的是时间、空间复杂度。我们常说的以空间换取时间也正是对应这两点。时间复杂度:代码执行时间随着数据量规模增长的变化趋势,这...
2019-06-07 10:34:54
655
原创 数据结构之数组(三)
目录前言:一. 数组的底层原理数组如何实现随机读取二. 数组的基本操作删除操作的优化:三. 数组常见的操作方法四.可否用容器替代数组五. 数组为啥在很多语言中都是以0为开始下标呢前言: 常见的数据结构分为线性表与非线表,线性表有:数组、链表、队列、栈、哈希表(hash表),非线表有:树、堆、图等。 线性表的特点:以线的方式组织数据,每个线性表...
2019-06-07 10:33:27
301
转载 程序员小灰2017-2019年原创汇总
目录2019年汇总2018汇总2017汇总2019年汇总算法漫画:寻找无序数组的第k大元素(修订版)漫画:如何将一个链表“逆序”?漫画:什么是加密算法?漫画:什么是 “图”?(修订版)漫画:深度优先遍历 和 广度优先遍历漫画:图的 “最短路径” 问题漫画:Dijkstra 算法的优化漫画:图的 “多源” 最短路径漫画:有趣的 “切蛋糕...
2019-05-28 21:36:50
22255
1
转载 高并发编程
(一)高并发编程基础知识这里涉及到一些基础的概念,我重新捧起了一下《实战 Java 高并发程序设计》这一本书,感觉到心潮澎湃,这或许就是笔者叙述功底扎实的魅力吧,喜欢。对于并发的基础可以参照一下我之前写过的一篇博文:Java学习笔记(4)——并发基础1)多线程和单线程的区别和联系?答: 在单核 CPU 中,将 CPU 分为很小的时间片,在每一时刻只能有一个线程在执行,是一种微...
2019-05-07 16:14:23
271
转载 一文读懂JVM
(一)JVM 基础知识1)Java 是如何实现跨平台的?注意:跨平台的是 Java 程序,而不是 JVM。JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM答:我们编写的 Java 源码,编译后会生成一种 .class 文件,称为字节码文件。Java 虚拟机(JVM)就是负责将字节码文件翻译成特定平台下的机器码然后运行,也就是说,只要在...
2019-05-07 16:13:00
351
原创 Mysql大批量数据导入ElasticSearch
注:笔者环境 ES6.6.2、linux centos6.9、mysql8.0、三个节点、节点内存64G、八核CPU场景:通过Logstash插件批量导数据,个人感觉出现各种奇怪的问题,例如ES 内存暴满,mysql 所在服务器内存暴,最主要的是在一次导数时不能所导的数据量不能太大。经过一次次试探Logstash与优化Logstash导数的最后,终于还是动手直接运用ES提供的api进行导数了...
2019-03-29 23:51:06
31009
40
原创 TensorFlow +Anaconda + Pycharm 环境搭建
注:笔者 环境 win10 + 64位 + NVDIA9.0,目前tensorFlow gpu版本只支持NVDIA下安装一、安装 Anaconda1、官网下载地址:https://repo.anaconda.com/archive/Anaconda3-2018.12-Windows-x86_64.exe2、解压,安装基本一直下一步这一步笔者选择将anaconda 环境默认加入path,默...
2019-03-24 11:37:01
2254
原创 Logstash-input-jdbc 同步mysql 数据至ElasticSearch
笔者环境: Logstash 6.6.2 ,Centos6.9, Mysql 8.0, ElasticSearch 6.6.2 ,三个节点一、安装 logstash-input-jdbc1、下载Logstash 上传并解压,笔者已经安装,见如下链接 Logstash Centos上部署与入门测试注:logstash-input-jdbc插件是logstash 的一个个插件,因此需要...
2019-03-22 23:19:38
7649
2
JavaSE_Android精华版2.0.chm
2017-11-21
hadoop2.7.2的winutils.exe、hadoop.dll、hadoop-eclipse-plugin-2.7.2.jar
2017-02-25
Spark高级数据分析 (美) sandy ryza;uri laserson; 龚少成(译) 人民邮电出版社 2015-11-01.pdf
2016-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人