自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Go语言学习资料

Go 语言官方文档库:https://golang.org其他学习资料也非常丰富:许式伟 <Go语言编程>谢孟军<Go Web编程>雨痕<Go 语言学习笔记>(有Go运行机理源码解读)《Effective Go》《The Go Programming Language Specification》github开源库...

2018-12-14 09:58:34 215

原创 Goroutine channel机制

channel结构是Goroutine间消息传递的基础,属于基本类型。 Goroutine基于Communicating Sequential Processes并发模型理论。由count、sendx和recvx一同构成了一个环形buffer的状态域1、任务 Go#1 向channel发送数据#1,此时channel的缓冲区是空的,并且没有正在阻塞的任务,则数据#1被拷贝到缓冲区,缓冲区指针后...

2018-12-13 20:21:25 231

原创 Go的机理- Green Thread模型、work stealing调度算法、非阻塞式IO

Goroutine使用Green Thread模型(N:M 多个green threads运行在多个kernel threads ),既可以快速的进行context switch,又可以很好的利用多核,使用work stealing算法进行调度模型:MPG三个角色,分别代表kernel threads,processor和goroutine。调度:P负责完成对G和M的调度1、P维护一个de...

2018-12-13 20:13:35 651

原创 Go语言语法简记

Hello, World!package mainimport "fmt"func main() { fmt.Println("Hello, World!")}数据类型布尔型:bool数字类型: int, int8~64, uint, uint8~64, float, float32, float64, complex64, complex128, byte, rune,...

2018-12-13 19:47:40 286

原创 我的编码过程

编码原则我比较推崇优秀编码中的SLAP原则和面向对象的SRP原则。SLAP原则(单一抽象层次原则)的含义是:让一个方法中所有的操作处于相同的抽象层。符合SLAP原则的代码,阅读起来更流畅且易于理解。SRP原则(单一职责原则)的含义是:一个类应该仅有一个引起它变化的原因。遵循SRP原则的好处是,减低了类的复杂性,提高了代码的可读性、可维护性。我的编码过程主要借鉴了这2个原则的思想,形成了...

2018-12-13 14:20:14 1209

原创 快速学习编程技术的链接

菜鸟教程http://www.runoob.com/w3cschoolhttps://www.w3cschool.cn/Java编程思想读书笔记https://blog.csdn.net/leonliu06/article/details/78638841Effective Java通俗理解https://www.cnblogs.com/yulinfeng/archive/2017/...

2018-12-13 14:08:17 373

原创 外观模式、代理模式和中介者模式的区别

外观模式(Facade Pattern)定义一个外观类,外观类隐藏系统的复杂性,为客户端提供简化的方法和对现有系统类方法的委托调用。例如:二手房交易的中介,属于外观模式。买房者通过中介可以简单地买到二手房,中介自己把联系房东看房砍价、过户、交税这些复杂的事情都搞定了。代理模式(Proxy Pattern)用一个代理类代表另一个类的功能,但是不改变被代理类的功能。目的是控制对被代理类的访问。...

2018-12-13 11:59:57 7576

原创 简单理解设计模式

前言对接口编程而不是对实现编程。优先使用对象组合而不是继承。1、创建型模式工厂模式(Factory Pattern)通过工厂类创建产品类的实例。简单工厂模式只有一个工厂类,由这一个工厂类根据用户输入的条件来决定创建出哪一个产品类的实例。用户使用这一个工厂类并输入判断条件来创建相应的产品类实例。工厂方法模式有一个抽象工厂类(或接口),多个具体工厂类继承(或实现)抽象工厂类。每个具体...

2018-12-13 11:54:50 179

原创 代码整洁之道

任何一个傻瓜都能写出机器能懂的代码,好的程序员应该写出人能懂的代码” ——Martin Fowler“程序写出来是给人看的,附带能在机器上运行”——Harold Abelson等人[SICP] 1985《计算机程序的结构与解释》“编写程序首先为人,其次为计算机”——Steve McConnell[M04, Section 34.3]“随着年龄的增长,我逐渐意识到编程不仅仅是让程序运行而...

2018-12-13 11:53:21 265 1

转载 【转】UML类图几种关系的总结

【转】UML类图几种关系的总结https://blog.csdn.net/tianhai110/article/details/6339565

2018-12-13 11:51:53 115

原创 面向对象设计与开发原则

介绍这里介绍了5个面向对象设计与开发原则–SOLID原则,分别是:单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则。另外还介绍了其他3个原则:迪米特法则、"Tell, Don’t ask"原则、单一抽象层次原则。在面向对象的程序设计和开发过程中时,这些原则非常重要,我们应该尽量去遵守它。SRP(The Single Responsibility Principle) 单...

2018-12-13 11:50:12 761

原创 让眼睛去代码里旅行(代码检视的一些心得)

一、前言我一直相信,代码检视可以帮助开发人员,验证软件的所有功能,发现代码中的所有Bug。我也一直认为,不断进行代码检视,是开发人员提升软件质量,提高工作效率最好的方法。代码检视就是LLT测试,代码检视也是黑盒测试,当你的眼睛扫过代码行的同时,你的脑子在想着软件功能,这就是高效、活生生的功能测试。另外,代码检视还能完成功能测试不能完成的事情:提高代码简洁性、可读性、低耦合、可维护性等。下...

2018-12-12 11:01:56 2235

原创 Python2语法简记(9):异常处理

9 异常处理try…except…else语句try: fh = open("testfile", "w") fh.write("这是一个测试文件,用于测试异常!!")except IOError: # 可以带多种异常类型except(excep1, excep2),或者不带任何异常类型 print "Error: 没有找到文件或读取文件失败"else: #...

2018-12-12 10:55:53 199

原创 Python2语法简记(8):类

8 类类变量(变量名前加 类名. 或cls. 或self.来访问)、实例变量(在实例方法中定义,变量名前加 self.来访问)、类方法、实例方法、静态方法class Animal: # 类对象age = 0 # 类变量 def __init__(self, name): # 魔法方法 self.name = name # 实例变量 def smile(se...

2018-12-12 10:53:21 173

原创 Python2语法简记(7):函数

7 函数:def printme(str1, str2):def printme(str1, str2): "打印传入的字符串" # 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 print str1, str2 return str1, str2 # return只能返回一个值,可以是任何类型。写成这样...

2018-12-12 10:51:01 173

原创 Python2语法简记(6):模块

6 模块(Module):就是一个python文件Python 模块(Module),是一个 Python 文件,以 .py 结尾。模块能定义函数,类和变量,模块里也能包含可执行的代码。包:携带__init__.py文件的文件夹。不需要在.py文件中通过语句来声明自己属于哪个包包就是文件夹,但该文件夹下必须存在 init.py 文件。通过包、子包来组织功能相近的模块。不需要在模块中通过语句...

2018-12-12 10:40:49 135

原创 Python2语法简记(4、5):条件语句、循环语句

4 条件语句:if…elif…else,不支持switchnum = 5if num == 3: print 'boss'elif num == 2: print 'user' # 如果一个条件语句只有一条语句,可以用简单写法 else: print 'roadman' 不支持switch语句。5 循环语句while…else循环:...

2018-12-12 10:36:37 270

原创 Python2语法简记(3):运算符

3 运算符支持运算符:算术、比较、赋值、逻辑、位、成员、身份算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符**算术运算符:+,-,,/,%,幂,//取整数加+、减-、乘、除/、取模%幂** -返回x的y次幂。例如:10**2为10的2次方取整数// -返回商的整数部分(向下取整)。例如:9//2 为4,-9//2为-5/ 和 // 的区别:如...

2018-12-12 10:33:32 580

原创 Python2语法简记(2):变量类型

2 变量类型变量创建:用等号(=)赋值来创建变量。变量与类型无关,对象与类型有关。可以通过del删除变量。在Python中只有对象才有类型,变量没有类型,通过等号(=)赋值来创建变量。等号(=)前面的变量名与类型无关,等号(=)后面的值才是被创建的对象,变量名只是引用了该值对象的地址。同一变量名可以引用不同类型的对象。多个变量之间用逗号 ,隔开counter = 100 # 赋值整型变量...

2018-12-12 10:31:33 196

原创 Python2语法简记(1):基础语法

1 基础语法一切皆对象:查看地址id(), 查看类型type(), 通过.访问属性Python中一切皆对象。数字、字符串、元组、列表、字典、函数、方法、类、模块等等都是对象。Python 中的一切都可以赋值给变量或者作为参数传递给函数。Python 缓存了某些不变的对象对其进行复用,而不是每次创建新的对象。Python 的所有对象都有三个特性:身份:通过id()查看对象的内存地址类型...

2018-12-12 10:11:04 155

原创 Python2语法简记

1 基础语法一切皆对象:查看地址id(), 查看类型type(), 通过.访问属性单行注释:采用 # 开头多行注释:使用三个单引号(’’’)或三个双引号(""")标示符:区分大小写,以下划线开头进行访问控制代码块:不用;和{},用缩进字符串:单、双、三引号都可以Print 输出:各种变量都可以输出,格式化输出与C语言类似2 变量类型变量创建:用等号(=)赋值来创建变量。变量与类型...

2018-12-12 10:06:42 199

原创 三种工厂模式的区别

简单工厂模式只有一个工厂类,由这一个工厂类根据用户输入的条件来决定创建出哪一个产品类的实例。用户使用这一个工厂类并输入判断条件来创建相应的产品类实例。工厂方法模式有一个抽象工厂类(或接口),多个具体工厂类继承(或实现)抽象工厂类。每个具体工厂类只能创建一个具体产品类的实例。由用户决定使用哪个具体工厂类来创建对应的产品类实例。抽象工厂模式对工厂方法模式进行了扩展,区别是:工厂方法模式中每个...

2018-12-11 19:44:53 1170

原创 Maven

Maven 是一个项目管理工具,可以对 Java,C#,Ruby,Scala 和其他语言编写的项目进行构建、依赖管理。Maven 仓库Maven 仓库是项目中依赖的第三方库所存放的位置。Maven 仓库有三种类型:本地(local):默认在user.home/.m2/repository目录,可以在{user.home}/.m2/repository目录,可以在user.home/.m2/...

2018-12-10 20:29:47 133

原创 Eclipse快捷键

1 查看Ctrl+Shift+R:打开资源(类,文件)Ctrl+Shift+T:搜索类(包括工程和关联的第三jar包)Ctrl+E:下拉列出所有已经打开的编辑文件F4:打开类型层次结构Ctrl+G:列出所选标示符在工作区中的声明Ctrl+Shift+G:列出所选标示符在工作区中的引用Ctrl+Shift+U:列出所有包含字符串的行Ctrl+H:打开搜索,搜索关键字Ctrl+(Sh...

2018-12-10 20:25:55 92

原创 Java内部类

成员内部类:定义在外部类成员区。静态内部类:可以单独实例化,不依赖外部类先实例化。静态内部类访问外部类成员和方法时,只能访问外部类的静态成员和静态方法。非静态内部类:可以直接访问外部类的成员。不能有静态成员变量和静态方法。因为:要想使用某个类的static属性和方法,那么这个类必须要加载到虚拟机中。非静态内部类并不随外部类一起加载,只有在实例化外部类之后才会加载。局部内部类:定义...

2018-12-10 19:50:41 61

空空如也

空空如也

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

TA关注的人

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