自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄小鑫的博客

大神都是从菜鸟一步步转变而来的

  • 博客(63)
  • 收藏
  • 关注

原创 Java学习笔记——网络编程

之前学习了计算机网络的课程 但是没有结合java练习过。这篇文章打算记录一些java网络编程知识点以及找一个小project练练手。Socket 简介网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 socket。 建立网络通信连接至少要一对端口号(socket)。socket 本质是编程接口(API),对 TCP/IP 的封装,TCP/IP 也要提供可供程序员...

2019-07-31 12:25:04 207

原创 Java学习笔记——IO

简介整个 Java.io 包中最重要的就是 5 个类。指的是 File、OutputStream、InputStream、Writer、Reader;本节将重点讲解 Java.io 的相关内容。知识点文件 随机读写 文件操作 文件拷贝 文件属性 目录读取 IO 流 字节流 字符流文件Java 使用 File 类来直接处理文件和文件系统。File 类没有指定信...

2019-07-30 20:22:30 405

原创 Java学习笔记——Lambda

Lambda 表达式是 Java SE 8 中一个重要的新特性。Lambda 表达式允许你通过表达式来代替功能接口。什么是函数式编程函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程典范,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且...

2019-07-29 18:46:16 133

原创 Java学习笔记之设计模式(7)单例模式

什么是单例模式单例模式(Singleton Pattern),顾名思义,就是被单例的对象只能有一个实例存在。单例模式的实现方式是,一个类能返回对象的一个引用(永远是同一个)和一个获得该唯一实例的方法(必须是静态方法)。通过单例模式,我们可以保证系统中只有一个实例,从而在某些特定的场合下达到节约或者控制系统资源的目的。单例模式类图在 【装饰者模式】中,我们体验了拥有各种不同特性的女朋友的...

2019-07-29 12:20:33 122

原创 Java学习笔记之设计模式(6)观察者模式

什么是观察者模式一句话,观察者模式(Observer Pattern)就是一种 “发布者-订阅者” 的模式。有时也被称为 “模型-视图”模式、“源-监听者”模式等。在这种模式中,由一个目标对象来管理所有依赖与它的观察者对象,并且当这个目标对象自身发生改变时,会主动向它的观察者们发出通知。观察者模式类图比如你最近在追一个美剧《生活大爆炸》,假设著名在线视频网站某狐买下独家版权,在线更新与...

2019-07-29 00:43:24 95

原创 Java学习笔记之设计模式(5)装饰者模式

什么是装饰者模式装饰者模式(Decorator Pattern,有的也用 Wrapper Pattern)就是动态地把职责附加到已有对象上去,实现功能扩展。这种特性,使得装饰者模式提供了比继承更具有弹性的解决方案。提到装饰者模式,总让我想起卞之琳的《断章》来:你站在桥上看风景,看风景的人在楼上看你。明月装饰了你的窗子,你装饰了别人的梦。多么有意境啊,单身狗读完会不会...

2019-07-29 00:17:51 99

原创 Java学习笔记之设计模式(4)适配器模式

什么是适配器模式顾名思义,适配器模式(Adapter Pattern)当然是用来适配的啦。当你想使用一个已有的类,但是这个类的接口跟你的又不一样,不能拿来直接用,这个时候你就需要一个适配器来帮你了。这就好像你兴冲冲地跑去香港,买了个港版的 iPhone6,充电器插头拿回家一看,不能用啊。这时候你多么需要买一个转接头适配器...你去香港旅游,买的 iPhone6 的充电器插头是英标的...

2019-07-28 23:57:32 112

原创 Java学习笔记之设计模式(3)抽象工厂模式

什么是抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。如果比较抽象工厂模式和工厂模式,我们不难发现前者只是在工厂模式之上增加了一层抽象的概念。抽象工厂是一个父类工厂,可以创建其它工厂类。所以我们也叫它 “工厂的工厂”。(想想上节课的 “女娲娘娘”,这简直就是 “女娲娘娘...

2019-07-28 23:21:42 82

原创 Java学习笔记之设计模式(2)工厂模式

工厂模式(Factory Pattern)的意义就跟它的名字一样,在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象。工厂模式根据不同的参数来实现不同的分配方案和创建对象。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。例如用工厂来创建人这个对象,如果我们需要一个男人对象,工厂就会为我们创建一个男人;如果我们需要一个女人,工厂...

2019-07-28 22:41:04 75

原创 Java学习笔记之设计模式(1)设计模式简介

在软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案。换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。设计模式原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改封闭。在程序需要进行扩展的时候,不能去修改或影响原有...

2019-07-28 21:07:44 102

原创 CMU 15-213 Introduction to Computer Systems学习笔记(7) Machine-Level Programming-Data

Arrays注意机器级代码里面是没有数组这一概念的,而是将其视为字节的集合,结构也是如此。然后C编译器的工作就是生成适当的代码来分配该内存,从而当你去引用结构或者数组时给你正确的值Array Allocation一个char数组一个字符是一个字节,双精度或长整数则是8个字节,指针也是八个字节,int是四个字节。Array Access注意c语言中没有边界检查,...

2019-07-28 15:40:12 406

原创 CMU 15-213 Introduction to Computer Systems学习笔记(6) Machine-Level Programming-Procedures

Mechanisms in ProceduresStack Structurestack只是内存中某个具体的地址,主要功能是用来帮助一些函数的调用,要注意的是图上stack pointer指向最下,每加入一个数据指针向下方向地址是递减的。stack push&pop注意的是stack pop指令我们没有对内存中的数据进行改动,而是移动了pointer指针!Pas...

2019-07-25 22:18:29 236

原创 CMU 15-213 Introduction to Computer Systems学习笔记(5) Machine-Level Programming-Control

Control: Condition codes处理器状态 (x86-64, Partial)图上的CF,ZF,SF,OF就是微机学过的状态位,其中各自代表的意思如下Explicit Setting: Compare 指令注意compare指令是利用减,因此对CF,OF状态位略有不同。compare用于两个数字间比较的操作而下面的test指令只...

2019-07-25 00:17:15 195

原创 CMU 15-213 Introduction to Computer Systems学习笔记(4) Machine-Level Programming-Basic

这节课老师说不会让我们坐下来写汇编代码(那真的有点痛苦),而是我们会阅读大量代码,这些代码由GCC编译产生!History of Intel processors and architectures 英特尔处理器架构的历史这一部分老师讲的有点琐碎,blog中就不写了!Assembly Basics: Registers, operands, move 汇编基础Assembly Ch...

2019-07-23 23:59:30 1378 3

原创 In file included from /usr/include/stdio.h:27:0, from btest.c:16: /usr/include/feat出错的解决办法

今天在做cmu15213的练习,要用 make btest方法检测,但是报了下图中的错误网上查了下 发现是因为使用了-32指令,我的服务器是64位的,无法直接编译执行32位机器指令解决方法如下:在linux命令行输入apt install libc6-dev-i386后续又在make中碰到如下问题解决方法如下:在linux命令行输入sudo apt-get i...

2019-07-19 11:27:28 10491 1

原创 CMU 15-213 Introduction to Computer Systems学习笔记(3) Floating Point

前言:这个视频在我第一次看的时候,上课到十几分钟,老师笔算完后,就一直没切slides,搞得上课小伙伴都懵逼了,而且这节课停下来确实有点难,讲到十几分钟就基本听不太懂了,去看了书对应的部分,也是懵懵懂懂,这次是第二次看视频,顺便把一些地方记录下来,希望这次能多看懂一点东西。恩,开头老师用了一个GRE单词,解释浮点数是计算机系统中的arcane area!受伤的心被安慰了一下。Backg...

2019-07-19 01:01:24 550

原创 CMU 15-213 Introduction to Computer Systems学习笔记(2) Bits,Bytes,Integer

将信息表示为bitsEverything is bits每个bit是0或1为什么选用bit?这是因为电子的实现容易存储可以比特的元素 抗干扰能力强(比如电路中存在噪声或者其他干扰)因此数字信号比模拟信号更好。用二进制计数的举例解析Byte布尔代数用布尔代数实现位运算用bit表示集合注意&&与&、|与||的区别,...

2019-07-18 21:02:10 379

原创 15款13英寸低配mbp的外接显示器选择

心水外接显示器很久了,想提升一下自己的学习效率,这次在同城收了一个dell 24寸 u2515h 2k。总的来说效果差强人意,首先用HDMI显示输出只有30hz,不过还好,没有感觉明显卡顿,但是清晰度就仔细看还是有锯齿,长期盯着看感觉眼睛不太舒服,毕竟眼睛已经被Retina养刁钻了。如果外接显示器想要达到Retina这样的效果,要下载RDM软件开启hidpi。不过这样外接显示屏的分辨率就只有和...

2019-07-18 00:38:03 4455 1

原创 StanfordDB class自学笔记 (16) 心得体会

总的来说这门Stanford Database 入门课还是不错的,自己自学学到了很多东西。不过练习题做的不是很好,很多题目都是看别人的答案才做出来。并且在最后recusion的部分搞的不是很懂,等到以后实际要用到了,再好好地去钻研一下!...

2019-07-15 16:01:46 85

原创 StanfordDB class自学笔记 (15) Recursion

Basic Recursive WITH Statement - IntroductionSQL不是一种图灵完整的语言-即SQL不能做所有的计算Simple, convenient, declarative  Expressive enough for most database queries  But basic SQL can’t express unbounded comp...

2019-07-15 15:59:59 107

原创 StanfordDB class自学笔记 (14) On-Line Analytical Processing

Introduction to OLAP数据库活动类型被分为两类OLTP – Online Transaction Processing– Short transactions – Simple queries – Touch small portions of data – Frequent updatesOLAP – Online Analytical Process...

2019-07-15 13:56:00 178

原创 StanfordDB class自学笔记 (13) Views and Authorization

Three-level vision of database 三层数据库Physical – Conceptual – Logical之前讲解数据库的时候 用户和程序主要在conceptual level 实际上用户和程序也可以在logical level!为什么使用viewHide some data from some users 对一些用户隐藏数据 Make som...

2019-07-15 01:18:41 140

原创 StanfordDB class自学笔记 (12) Constraints and Triggers

constraints 和 trigger 是为 relational database提供服务,是SQL的标准,系统变化可以很多。(Integrity)Constraints用来限制正当的数据库状态,例子如下为什么要用constraint检查Data-entry errors (insert时) correctness criteria (update时) enfo...

2019-07-14 17:31:55 205

原创 StanfordDB class自学笔记 (11) Indexes and Transactions

Indexes提高数据库性能的原始机制 持续的数据结构,存在数据中 有很多有趣的实现问题下面说的主要是注重在用户、应用层用处具体的来说,用户访问的不是index,使用的是query索引机制通过查询语句返回的是index索引潜在的数据结构有两种,平衡树或者哈希表 其中哈希表的使用情况比较单一,而平衡树的使用情况适合更多情况,如上图!许多DBMS自动构建索引 ...

2019-07-14 00:15:58 163

原创 StanfordDB class自学笔记 (10) Unified Modeling Language

UML Data Modeling如果我们创建一个数据库在关系系统中数据库将由关系组成。一般我们不是直接设计关系!数据库设计师,我们会在这里画出来的,使用更高级别的设计模型。然后那个模型就会出现通过类似转换器,这个通常可以是自动的将翻译的过程更高级别的模型进入由数据库系统实现的关系。高级别数据库设计E/R模型使用了非常久的时间,也非常的流行,不过UML正在兴起! 两者都是图形...

2019-07-13 00:51:57 293 1

原创 StanfordDB class自学笔记 (九) Relational Design Theory 关系设计理论

设计数据库设计数据库通常有好几种设计方法,有一些会比其他的要好,那么要怎么选择呢?先看一个例子 比如要设计下面的大学申请系统如果我们只有一个apply表的话,会造成一些我们不想要的情况这样就会出现重复的信息,造成了冗余 更新时候的异常,比如我们只想更新一个tuple,但是更新了我们指定attribute的tuple(这是因为上面重复信息的冗余) 删除时候的异常,同理我们想删...

2019-07-11 20:52:55 525

原创 StanfordDB class自学笔记 (8) Querying XML

查询XML没有查询relational model那样成熟 XML相对比较新 没有潜在的关系代数发展历程XPath XSLT XQueryXPath= expressions + Conditions把XML想象成一棵树的结构XQuery表达语言(成分) 每个表达式都对一些元素序列进行操作或者返回一些元素序列 XPath是一种表达式XQuery表达式...

2019-07-11 17:31:53 160

原创 StanfordDB class自学笔记 (7) SQL

SQL简介SQL类似relational model 已经用了非常久的年份,是一个标准的语言。是申明性的语言,基于关系代数。关于SQL术语SQL语句下面所有的sql语句基于的relational model都是自学笔记(6)中的大学申请系统基本selectTable variabletable variable主要影响的是from 语句后面,相当于是对ta...

2019-07-11 14:10:27 123

原创 StanfordDB class自学笔记 (6) 关系代数

对一个relation的集合做查询操作会产生相应的集合!下面用一个大学申请系统做示例下面要做的是利用不同操作选取出我们想要的结果!select 选择操作select操作选出满足条件对应的行 格式为Project操作project操作用于选出符号条件的列的列 格式为当我们又要选出指定row和指定column的时候,我们可以对操作符进行组合例如选出 ID ...

2019-07-10 21:28:38 219

原创 StanfordDB class自学笔记 (5) JSON Data

JSON简介JSON的全称是 JavaScript Object Notation,和XML类似,可以认为是一种存储数据的模型“serializing序列化” 数据对象的标准,一般用在文件中 人可读,对数据交换有帮助 对表达&存储 半结构数据(没有严格结构的数据)有用和JavaScript 不再紧密相连 已经有很多编程语言有JSON的解析器,并且能输出JSON...

2019-07-10 18:45:37 111

原创 StanfordDB class自学笔记 (4) XML Data

XML的全称是 Extensible Makeup Language 数据表示、交换的标准 文件的格式类似HTML 其中tags用来表示content内容而不是formatting格式 流式格式 比如下面是一个具体的xml格式Relational Model 对比 XML要注意的点是Relational Model的结构是提前设计好并且锁定的,而...

2019-07-10 16:52:11 252

原创 StanfordDB class自学笔记 (3) 查询关系型数据库总览

创建、使用关系型数据库的步骤设计schema;用DDL(data definition language)创建 “批量装载”初始数据 重复:执行查询和修改操作查询返回一些组合的关系,如下图查询语言relational algebra 关系代数:相对正规 SQL :实际使用...

2019-07-10 15:54:12 200

原创 StanfordDB class自学笔记 (2) 关系模型

关系模型的一些性质关系模型存在所有的主要商业数据库系统 简单的模型 用高级语言查询:简单但是有效 有效率的操作schema(架构)表示数据库中关系的结构表示instance(实例)给定某个时间、结点的表中内容关系模型可以用下图表示数据库=有名字的关系relation(或者表格table)的集合每一个关系含有命名的attribute(或者columns) 每...

2019-07-10 14:29:47 235

原创 StanfordDB class自学笔记 (1) 数据库系统简介

斯坦福大学的数据库课程 也是好几年前的课程了,第一遍学习差不多用了10天看完视频,上完只是做了一些课后的练习,没有做任何的笔记。自己感觉学完二周后就忘了很多东西(大概是没有大量的去使用),这次打算再好好看一遍视频,把一些知识点串联、整理一下,为以后的面试、工作做一些准备。整体来说感觉这门课还是不错的,推荐同学们上一下。数据库管理系统提供了什么数据库系统提供了:有效、可靠、方便、多用户存储利...

2019-07-10 13:40:50 539

转载 Introduction to Computer Networking学习笔记(二十九):DHCP

原贴地址:https://blog.csdn.net/djl806943371/article/details/89981808 这一节主要讲Dynamic Host Configuration Protocol (DHCP)动态主机配置协议。说实话看这节课,感受到了嘲讽...Philips说他95年上大学的...

2019-07-10 11:06:41 145

转载 Introduction to Computer Networking学习笔记(二十八):DNS

DNS应该算是经常听到的名词之一了,它是 Domain Name System 的缩写,旨在提供根据域名获得IP地址的服务。一个URL包含三个部分,第一部分应用层协议类型及端口号,域名代表的host,及host中的文件。DNS即负责告知client域名所对应的的IP。有两个特点让DNS设计可行:1. 只...

2019-07-10 10:00:52 156

转载 Introduction to Computer Networking学习笔记(二十七):BitTorrent

原贴地址:https://blog.csdn.net/djl806943371/article/details/89683607 ...

2019-07-10 00:24:36 90

转载 Introduction to Computer Networking学习笔记(二十六):HTTP、SPDY

原贴地址:https://blog.csdn.net/djl806943371/article/details/89648426 HyperText Transfer Protocol(HTTP) 超文本传输协议是现今因特网的一大基石。也是面试中经常问的一个问题。HTTP包含请求和回复,下面分别是请求和回复...

2019-07-09 22:44:36 89

转载 Introduction to Computer Networking学习笔记(二十五):NATs

原贴地址:https://blog.csdn.net/djl806943371/article/details/89577965 Yahoo!终于看完了第四单元拥塞控制,现在开始第五单元Applications and NATs。首先第一节从NATs开始。NATs全称 Network Address Tra...

2019-07-09 10:37:48 234

转载 Introduction to Computer Networking学习笔记(二十四):拥塞控制 TCP Reno

原贴地址:https://blog.csdn.net/djl806943371/article/details/89550824 TCP经历了Tahoe版本之后,出现了一个新版本 Reno 。这个版本对Tahoe进行了改进,如果从有限状态机的角度看,Tahoe有两个状态,Reno有三个状态: ...

2019-07-08 20:51:55 213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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