自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kevin.wang

英国Computer Science本科在读,用最通俗的语言讲述计算机科学,见证计算机小白的进化...

原创 Java函数式编程之最细致的lambda表达式讲解

在这里给大家分享一下我从开始接触lambda表达式的故事: 2019年大一春季学期,教授突然开始讲Agda这门新语言,想必各位也是在此初识Agda(Agda是一个依赖类型的函数式编程语言),面对这门陌生的语言,有着许多奇奇怪怪的语言规则和无比抽象的表达方式,刚刚从半学期学习面向对象编程的Java苦...

2019-07-11 22:39:12 223 0

原创 对反向传播中梯度消失的全面理解

文章目录一.神经网络如何传播?1.1 正向传播1.2 反向传播二.梯度消失如何产生?2.1 数学角度2.2 激活函数角度三.结论 一.神经网络如何传播? 1.1 正向传播 如下图所示,两个输入值X1X_1X1​和X2X_2X2​,以第一层的第一个神经元f1(e)f_1(e)f1​(e)为例。 正向...

2020-05-05 04:11:09 196 0

原创 一文弄懂为什么深度学习需要激活函数

文章目录一.神经网络基本结构 一.神经网络基本结构

2020-05-01 23:05:15 108 0

原创 操作系统OS—中断机制全面解析

文章目录一.如何读写数据二.最简单的控制IO方法三.中断机制 Interrupt四.驱动中断I/O *建议先阅读文章【操作系统OS-大型计算机系统】,更容易理解中断机制 一.如何读写数据 CPU如何与IO设备之间协调来读取数据: 每个设备控制器(Device Controller)负责一个特殊...

2019-12-12 08:08:55 115 0

原创 操作系统OS—大型计算机系统Mainframe system

文章目录一.大型计算机系统(Mainframe system)1.Batch System(批处理任务)2.Multi-programming3.Time-shared二.计算机系统结构 一.大型计算机系统(Mainframe system) 大型计算机,顾名思义就是最早期体积很大的计算机。现在的...

2019-12-11 07:28:40 160 0

原创 Linux Kernel Programming(1)

文章目录1.1什么是Kernel Module?1.2关于Kernel的基本操作2.1 Hello World : 最简单的Module2.2 编译Kernel Modules2.2.1如何编写makefile文件 1.1什么是Kernel Module? 内核模块是可以按需加载或卸载的内核代码,...

2019-11-22 08:01:32 72 0

原创 C语言--多线程学习笔记

文章目录一.线程与进程二.并发与并行三.C语言中的线程3.1创建线程 pthread_create3.2结束线程 pthread_exit3.3线程等待 pthread_join四.结构体与多线程五.多线程的同步与互斥 一.线程与进程 二.并发与并行 三.C语言中的线程 我们先来看一下线程最基础的...

2019-11-01 08:20:47 51 0

原创 Haskell-- concatMap详解

经过了几次Haskell的作业后,发现concatMap对于list的作用极其强大,下面就具体讲解一下concatMap的作用: 文章目录1.concatMap定义及类型:2.Map定义及类型:3.举例说明 1.concatMap定义及类型: Map a function over a list...

2019-10-30 08:10:57 174 0

原创 计算机中 空间局限性(Spatial Locality)与时间局限性(Temporal Locality)

空间和时间局部性描述了程序如何访问数据(或指令)的两个不同特征。 定义: 如果在时间上被引用的事物在空间上也接近(相邻的存储器地址,磁盘上的邻近扇区等),则引用序列被认为具有空间局部性(Spatial Locality)。 如果对同一事物的访问在时间上聚集在一起,则该序列被称为具有时间局部性(T...

2019-10-16 05:29:29 240 0

原创 Sidecar功能中--如何交换Ipad与Mac的位置

Mac新系统Catalina的正式上线,更强大的生态系统更是吸引眼球,其中的SIdecar随航功能使得iPad与Mac形成更强大的Apple生态链,使得Mac与ipad同时办公效率倍增。 有的小伙伴可能会遇到这样的情况: 想让Mac位于Ipad的右侧,鼠标从Mac左端移入Ipad屏幕。却只能鼠标从...

2019-10-15 05:06:25 1298 0

原创 Haskell--“$“在Haskell中的作用

$是可以代替括号的一种符号 例如,下面的代码 Prelude> take 1 $ filter even [1..10] [2] 如果我们去掉$会怎么样呢? Prelude> take 1 filter even [1..10] <interactive>:3:1:...

2019-10-13 04:49:22 42 0

原创 Haskell--Tuples

Those are some lists: Prelude> [1,2] [1,2] Prelude> [1,2,3] [1,2,3] Hera are some tuples: Prelude> (1,2) (1,2) Prelude> (1,2,3) (1,2,3) ...

2019-10-03 22:42:21 39 0

原创 Haskell—List comprehensions

part1. Prelude> [2^n | n <- [1..10]] [2,4,8,16,32,64,128,256,512,1024] Prelude> [2^n | n <- [1..10],2^n >= 10, 2^n < 100] [16,32,6...

2019-10-03 22:24:57 29 0

原创 Java函数式编程-控制结构更具函数式风格

在看这篇文章前推荐阅读:《Java函数式编程之最细致的lambda表达式讲解》与《Java函数式编程之Java8四大函数接口》 文章目录如何使标准的控制结构更具函数式风格?进阶一:进阶二: 如何使标准的控制结构更具函数式风格? 我们知道控制结构是命令式编程的主要构成部分,比如if…else、swi...

2019-08-20 21:51:28 61 0

原创 Java问题:”接口内部创建类“与”类内部创建接口“分别有什么用

两种形式,到底各自都有什么用处?? class A { interface B {} } interface C { class D {} } 文章目录一.接口内部创建类1⃣️.用法12⃣️.用法2二.类内部创建接口 一.接口内部创建类 1⃣️.用法1 如果一个类的功能与一个接...

2019-08-19 17:47:27 213 0

转载 深入了解JVM—什么是虚拟机

我们都知道在 Windows 系统上一个软件包装包是 exe 后缀的,而这个软件包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软件安装包则是 dmg 后缀,同样无法在 Windows 系统上安装。 为什么不同系统上的软件无法安装,这是因为操作系统底层的实现是不一样的...

2019-08-16 16:27:31 36 0

原创 C语言fgets()与fputs()详解

文章目录fgets()与fputs()1⃣️fgets()优缺点:2⃣️fgets()返回值:3⃣️fgets()操作实例:3⃣️fgets()操作进阶: fgets()与fputs() fgets()函数的第二个参数指明了读入字符的最大数量。如果该参数为n,那么fgets函数将读入n-1个字符...

2019-08-12 18:43:39 1324 0

原创 C语言字符串的输出与输入学习笔记

文章目录字符串的输入与输入1.字符串初始化1⃣️:用足够的空间的数组存储字符串:2⃣️:省略数组初始化声明中的大小2.数组与指针1⃣️:指针创建字符串2⃣️:数组与指针的区别3⃣️:使用指针的优缺点3.scanf与printf4.gets与puts5.fgets与fputs 字符串的输入与输入 1...

2019-08-12 12:17:28 59 0

原创 C语言之 指针与多维数组最强解析

假设有以下声明: int multiArray [4] [2] //声明一个int类型的二维数组 数组名multiArray是该数组首元素( multiArray[0] )的地址。 在本例中,multiArray的首元素是一个内含两个int值的数组,所以multiArray是这个内含两个...

2019-08-10 17:43:08 48 0

原创 C语言运算符优先级(超详细)

学习c语言时,经常使用的到运算符的优先级,网上的总结参差不齐,今天找到一个相对比较完整的运算符优先级的总结,现在分享给大家: 原文转载自embed_huang 说明: 同一优先级的运算符,运算次序由结合方向所决定。 简单记就是:! > 算术运算符 > 关系运算符 > &a...

2019-08-03 11:53:50 365 0

原创 C语言 getchar()原理及易错点解析

文章目录一.getchar()系列1.getchar()工作原理及作用2.使用getchar()清理回车\n3.使用getchar()清理缓存 一.getchar()系列 1.getchar()工作原理及作用 工作原理:getchar()是stdio.h中的库函数,它的作用是从stdin流中读...

2019-08-01 19:52:10 854 1

原创 C语言基本数据类型int, short int, long int, long long int, unsigned int, signed int等解析

一. 普通int类型 int类型是有符号整型,即int类型的值必须是整数,可以是正整数,负整数,零。 int类型取值范围因计算机系统而异。早起的16位IBM PC兼容机使用16位来存储一个int值,其取值范围是-32769 ~32768。目前个人计算机一般是32位,因此用32位存储一个int值。现...

2019-07-27 20:47:07 612 0

原创 C语言之#define

文章目录一.什么是#define二.#define的一般形式三.#define如何工作?四.终止宏 #undef五.注意六.define与const区别 一.什么是#define C语言中,可以用 #define 定义一个标识符来表示一个常量。 特点是:定义的标识符不占内存,只是一个临时的符号,预...

2019-07-26 11:40:57 83 0

原创 解释CPU到底如何执行程序及取译码执行(Fetch-Decode-Execute Cycle)

现代的生活中电脑无处不在,我们都知道电脑的核心部件就是CPU,那CPU是如何工作的,是如何执行程序的呢? 大多数现代处理器的工作原理是取译码执行(Fetch-Decode-Execute Cycle)。 也被称为冯·诺依曼架构(Von Neumann Architecture)。这是一种将程序指令...

2019-07-25 19:06:08 872 1

原创 遗传算法Genetic Algorithms学习笔记

Outline of Basic Genetic Algorithms [Start] : Genertate random population of n chromosomes(suitable solutions for the problem) [Fitness] : Evaluate ...

2019-07-24 09:36:07 150 0

转载 UML类图与类的关系详解

虚线箭头指向依赖; 实线箭头指向关联; 虚线三角指向接口; 实线三角指向父类; 空心菱形能分离而独立存在,是聚合; 实心菱形精密关联不可分,是组合; 上面是UML的语法。 在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、...

2019-07-21 16:23:07 29 0

原创 Java8新特性Stream之归约reduce

归约和收集 一.归约 T reduce(T identity, BinaryOperator<T> accumulator); 作用:可以将流中的元素反复结合起来,得到新的值。返回T 第一个参数T identity,就是起始值 第二个参数BinaryOperator< T ...

2019-07-21 11:44:18 38 0

原创 Java枚举类

文章目录一.为什么要有枚举类二.JDK1.5以前的枚举类三.JDK1.5以后enum枚举关键字3.1两种enum方式3.2常用方法 一.为什么要有枚举类 有些集合不能或很难用公式或者叙述定理、规则等界定并做到既无遗漏,又无多余。而其个数有相对较少(有限)。此时用“枚举”可以最简单的说明这个集合的全...

2019-07-21 10:39:45 33 0

原创 Eclipse Mac系统常用的快捷方式

一.编写代码 command+option+S:快速生成代码,Getter&Setter,Constructor等 command+option+M:将某段代码抽出放在一个单独的方法里 操作方法:选中一段想封装的代码,然后快捷键 command+option+M command+opti...

2019-07-20 17:09:42 56 0

原创 Java测试单元JUnit4 imooc学习笔记(二)

一.JUnit使用详解 1.1新建source folder 为了方便测试代码,我们需要新建测试类,测试类可以创建于新建的source folder文件夹中。这样,在代码测试阶段方便测试,在代码发布阶段只需删除掉source folder中的全部测试类即可。 具体操作步骤:在src文件夹右键单击–...

2019-07-20 16:00:26 34 0

原创 Java测试单元JUnit4 immoc学习笔记(一)

一.概述: 1.1什么是JUnit? JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 xUnit是一套基于测试驱动开发的测试框架,其中包括PythonUnit,CppUni...

2019-07-20 11:35:39 59 0

原创 Eclipse中new一个Junit test case的class只能从other中找的问题

在学习JUnit测试框架时,新建完一个类并导入JUnit的jar包后: 在此有一个Class名为Calculate,位于default package下。现在我想新建一个Calculate的测试类,只能通过: 右键Calculate–>new–>other–>java包下的JU...

2019-07-20 10:43:46 146 0

原创 网络编程之TCP编程

上篇文章《弄懂UDP与TCP协议,这一篇就够了》我们已经初步了解网络编程的相关知识,也了解了UDP协议与TCP协议的相关内容。这种面向连接的TCP协议就是在正式通信前必须要与对方建立起连接,是按照电话系统建模的。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。这篇文章具体讲解TCP...

2019-07-19 19:58:31 222 0

原创 Java对象的序列化与反序列化

一.对象序列化 对象序列化是指的把一个对象变成二进制的数据流的一种方法,通过对象序列化可以方便地实现对象的传输或储存。 1.1序列化接口 public interface Serializable{} 要实现一个类的对象序列化,则对象所在的类就必须实现Serializable接口。 该接口中没有...

2019-07-18 09:43:12 38 0

原创 弄懂UDP与TCP协议,这一篇就够了

文章目录一.协议1.1什么是协议?1.2为什么要制定协议?二.OSI七层模型1.1什么是七层模型?1.2都有哪七层?三.面向连接的TCP协议TCP总结四.无连接的UDP协议UDP总结五.总结参考文献 一.协议 1.1什么是协议? 协议(Protocol)是指通信双方就如何进行通信的一种约定。通俗来...

2019-07-17 10:26:29 3838 0

原创 Java8新特性Stream之映射

一个非常常见的数据处理套路就是从某些对象中选择信息。比如在SQL里,你可以从表中选 择一列。Stream API也通过map和flatMap方法提供了类似的工具。 映射 1.map 流支持map方法,它会接受一个函数作为参数。这个函数会被应用到每个元素上,并将其映 射成一个新的元素(使用映射一词,...

2019-07-15 16:03:36 244 0

原创 GitHub官方中文文档正式推出,速度收藏!!

GitHub正式推出帮助文档中文版了!很多对英语不敏感的开发者有福了,以后可以直接看中文文档了。 文档链接:https://help.github.com/cn 以上只是部分GitHub帮助文档截图,详情请查看网页 ...

2019-07-15 09:07:10 721 0

原创 java8新特性Stream之筛选与切片

在文章开始之前,我们创建一个Student类,方便下面操作使用: public class Student { private String name; private int age; public Student(){} public Student(String ...

2019-07-14 17:18:17 77 0

转载 Java8新特性之Stream流与集合

流与集合 我们先来打个直观的比方吧。比如说存在DVD里的电影,这就是一个集合(也许是字节,也 许是帧,这个无所谓),因为它包含了整个数据结构。现在再来想想在互联网上通过视频流看同 样的电影。现在这是一个流(字节流或帧流)。流媒体视频播放器只要提前下载用户观看位置的 那几帧就可以了,这样不用等到流中...

2019-07-14 16:15:44 176 0

原创 Java8新特性Stream之创建Stream流

Stream接口简介: Stream是Java8中新加入具有强大功能的API,Stream是Java8中处理集合的关键抽象概念,可以帮助你对集合进行复杂的操作。总而言之,Stream API提供了一套高效又简便的操作方式。为什么要用Stream流?因为函数式编程带来的好处尤为明显。这种代码更多地表...

2019-07-13 18:03:05 62 0

提示
确定要删除当前文章?
取消 删除