- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 Lamda表达式
Lamda表达式1.什么是Lamda?Lamda 是JAV 8 添加的一个新的特性,说白了Lamda 就是一个匿名函数。为什么要使用Lamda?使用Lamda表达式可以对一个接口实现非常简洁的实现。比如说我们要实现一个比较大小的接口:方式一:接口的实现类来完成此功能。public class Program { public static void main(String[] args) { MyComparator myComparator = new
2020-12-08 12:43:53
511
转载 Linux vi 和vim编辑器
Linux vi 和vim编辑器所有的Linux 系统都会内建vi 文本编辑器。Vim 具有程序编辑的能力,尅看作是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,翻遍程序设计。代码补全、编译、以及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。1.vi和vim 常用的三种模式 正常模式 以vim打开一个档案就直接进入一般模式了(这是默认的模式)在这个模式中,你可以使用[上、下、左、右]按键来移动光标,也可以使用[删除字符]或者[删除整行]来处理档案内容,也可以使用[.
2020-07-09 12:54:30
323
原创 Linux目录
Linux目录介绍Linux的文件系统是采用层级式的树状目录结构,在此结构中最上层的根目录“/”,然后再次目录下再创建其他的目录。在Linux世界里,一切皆文件。Linux目录Linux 目录介绍 目录 说明 /bin 是Binary 的缩写,存放二进制可执行文件,常用命令一般都在这里。 /dev 用于存放设备文件,把所有硬件映射成文件。类似于windows下的设备管理器。 /etc 所有系统管理存放系统管理和配置文件。 .
2020-07-09 10:25:35
166
原创 Git命令行操作本地库
Git命令行操作本地库操作 本地库初始化 命令:git add 在工作目录下 右键鼠标打开 Git Bash Hear 然后执行git init 命令 进行初始化 效果 会生成一个.get 的隐藏文件目录,如果要看到它,需要通ls -lA 命令来查看 注意 git目录中存放的是本地库相关的子目录和文件,不要删除,也不要随意修改 设置签名 Git规定开发人员必须设置签名,类似于用户名 ...
2020-06-20 13:57:57
284
原创 Git版本控制&代码托管中心
1 版本控制工具应该具备的功能协同修改多人并行不悖的修改服务器端的同一个文件。数据备份不仅保存目录和文件的当前状态,还能够保存每一次提交过的历史状态版本管理在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行的效率,这方面SVN 采用的是增量式管理的方式,而Git才用了文件系统快照的方式。权限控制对团队中参与开发的人员进行权限控制对团队外开着这资源的代码进行审核-Git 独有。历史记录查看修改人、修改时间、修改内容、日志信息将本地文件恢复到一.
2020-06-19 09:08:44
223
原创 Apache CXF 框架介绍,以及实现JAXWS和JSXRS规范的webservice服务
Apache CXF 框架介绍Apache CXF = Celtix + XFire, ApacheCXF 的前身叫做Apache CeltiXfire,现在已经正式更名为Apache CXF了,CXF继承了Celtix 和XFire两大开源项目的精华,提供了对JAX-WS 全面的支持,并且提供了多种Binding、DataBing、Tramsport 以及各种对Format 的支持,并且可以根据实际项目的需要,采用代码有限 (Code First)或者 WSDL 优先(WSDL First) ...
2020-06-18 00:18:14
692
原创 webService基本概念
webService1)webService即web服务,它是一种跨编译语言和跨操作系统平台的远程调用技术。2)java中共有三种WebService规范,分别是JAX-WS(JAX-RPC)、JAXM&SAAJ、JAX-RS。3)webService的三要素:soap、wsdl、uddi。(1)JAX-WS:(soap协议)JAX-WS(JAVA API For XML-WebService) ,JDK1.6自带的版本为JAX-WS2.1,其底层支持为JAXB。JAX.
2020-06-13 17:24:36
319
原创 Node.js Buffer、fs同步和异步(写入,读取)简单(写入、读取)流式(写入、读取)
fs读取文件var fs = require('fs');//导入文件模块//node 同步读写文件,等待和阻塞var content = fs.readFileSync("hello.txt",{flag:'r',encoding:"UTF-8"});console.log(content.toString());//node 异步读文件,var sycContext = fs.readFile("hello.txt",{flag:'r',encoding:"UTF-8"},fu
2020-05-30 22:15:11
3642
原创 Node.js之CommonJS、模块化理解、导入、导出、CommonJs的模块化机制
CommonJS规范一个js文件就是一个模块 模块内所有的变量均为局部变量,不会污染全局 模块中需要提供给其他模块使用的内容需要导出 导出使用exports.xxx = xxx或module.exports=xxx或this.xxx=xxx 其他模块可以使用require函数导入node实现了CommonJS规范在编写模块时,都有require、exports、module三个预先定义好的变量可以使用。require{}函数的两个作用 执行导入的模块中的代码; 返回导入
2020-05-25 11:42:11
1560
1
原创 Node.js介绍和安装
由于api 不同,它们能够实现的功能不同:浏览器api:提供有限的功能,主要用于操作浏览器窗口(DOM)和页面中的元素 node api :提供非常完整的功能,包括但不限于:文件处理、进程处理。。。。从使用场景看:浏览器的...
2020-05-25 09:35:31
135
原创 JS箭头函数 Arrow Function
箭头函数 Arrow Function箭头函数的特点: 能够使函数的写法更简洁(一行写完一个函数) 函数返回值可以被隐式返回(不需要写reutrn) 不重新绑定this的值 使用胖箭头//如何将下面的函数改写为箭头函数function doubleValue(value){ return value * value;}首先要将原来的函数转化成如下函数// es6规定 const定义的变量不可以修改,而且必须初始化。const doubleValue = f.
2020-05-22 11:29:22
535
原创 TypeScript装饰器、装饰器的执行顺序
装饰器特殊的类型声明,它能够附加到类声明,方法,属性或参数上,可以修改类的行为。通俗的讲装饰器就是一个方法,可以注入到类、方法、属性参数上来扩展类、属性、方法、参数的功能。常见的装饰器有:类装饰器、属性装饰器、方法装饰器、参数装饰器。装饰器的写法:普通装饰器(无参)、装饰工厂(可传参)装饰器是过去几年中js 最大的成就之一,已是ES7的标准特征之一。普通类装饰器和属性装饰器类装饰器是在类声明之前被声明(紧靠着类声明)。类装饰器应用于类构造函数,可以用来监视,修改或者替换类定义。
2020-05-22 10:11:21
1276
原创 TypeScript模块(外部模块)、命名空间(内部模块)
模块关于数据的一点说明:TypeScript 1.5里术语已经发生了变化,“内部模块”现在称作“命名空间”。“外部模块”现在简称为“模块” 模块在其自身的作用域里执行,而不是在全局作用域里;这意味着定义一个模块里的变量,函数,类等等在模块外部是不可见的,除非你明确地使用export形式之一导出他们。相反,如果想使用其他模块导出的变量,函数,类,接口等的时候,你必须要导入他们,可以使用import形式之一。假设创建一个db.ts的文件,那么它就是一个模块export var tes.
2020-05-21 15:47:38
1450
原创 TypeScript泛型、泛型变量、泛型类、泛型接口、把类作为参数类型的泛型类
泛型软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以自己的数据类型来使用组件。泛型的特点:支持多种类型的数据(不特定的数据类型)。 传入的类型与返回的类型应该是相同的。 使用类型变量且指标是类型,不是值。 泛型的类型取决于调用的时候传入的参数类.
2020-05-21 10:45:23
348
原创 TypeScript抽象类、约束和接口、接口扩展接口继承
抽象类抽象类做为其它派生类的基类使用。 它们一般不会直接被实例化。 不同于接口,抽象类可以包含成员的实现细节。abstract关键字是用于定义抽象类和在抽象类内部定义抽象方法。abstract class Animal { abstract makeSound(): void; move(): void { console.log('roaming the earch...'); }}抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。 抽象方法.
2020-05-20 17:34:57
738
原创 TypeScript类和修饰符静态属性和方法
TypeScript类介绍传统的JavaScript程序使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员来讲就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来的。 从ECMAScript 2015,也就是ECMAScript 6开始,JavaScript程序员将能够使用基于类的面向对象的方式。 使用TypeScript,我们允许开发者现在就使用这些特性,并且编译后的JavaScript可以在所有主流浏览器和平台上运行,而不需要等到下个JavaScript版本。
2020-05-20 00:38:19
1001
原创 TypeScript类前奏之ES5中的类
TypeScript类//es5中的类:众所周知,在es5中是用构造函数来定义一个类function Person () { this.name = 'ag'; // 属性 this.age = 23; // 属性方法 this.run = function () { console.log(this.name + '在跑步') }}// 静态方法Person.staticWork = function () { console.log('静态方法在工作')}
2020-05-15 08:14:49
172
原创 TypeScript函数
TypeScript函数//es5定义函数的两种方法//函数声明法function fun(){}//匿名函数var run = function(){}//ts 中定义函数的方法 function(name: string, age: number): number { return '${name} -- ${age}'; };var getInfo = function(name:string,age:number):string {
2020-05-12 08:43:38
931
1
原创 TypeScript 基础类型
TypeScript 基础类型typeScript 的基础类型有以下几种:布尔值let isDone: boolean = false;数字TypeScript里的所有数字都是浮点数。 这些浮点数的类型是number。 除了支持十进制和十六进制字面量,TypeScript还支持ECMAScript 2015中引入的二进制和八进制字面量。let decLiteral: number = 6; let hexLiteral: number = 0xf00d; let bin..
2020-05-11 23:56:29
128
原创 typeScript的介绍、安装、开发工具
typeScript的介绍 TypeScript 是由微软开发的开源编程语言 TypeScript是javaScript 的超集,遵循最新的ES6、ES5规范。TypeScript扩展了javaScript的语法。 TypeScript更像后端JAVA、C#这样的面向对象语言,可以让js开发大型企业项目。 谷歌也在大力支持TypeScript 的推广,谷歌的an...
2020-05-05 11:14:23
264
原创 JS 加载时间线
JS 加载时间线1、创建Document对象、开始解析web页面。解析HTML元素和他们的文本内容后添加Element 对象和text节点到文档中。这个document.readyState='loading'。2、遇到link外部css,创建线程加载,并继续解析文档。3、遇到script 外部js,并且没有设置async、defer,浏览器加载,并阻塞,并阻塞,等待js 加载完成...
2020-05-04 17:52:40
106
原创 JS异常和es5严格模式
JS异常<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=298 height=52 src="//music.163.com/outchain/player?type=2&id=167691&auto=1&height=32"></iframe>...
2020-05-04 12:41:16
140
原创 JS中的动态指向this(运行环境)
this会根据运行环境的改变而改变1.预编译过程this-->window function test(c) { console.log(this); var a = 23; function b() { } } test(1); AO{ arguments:[1], ...
2020-05-02 15:16:14
389
原创 JS命名空间with
JS命名空间众所周知一个页面可能会被很多人开发,那么这时候就有一个问题,那就是命名的重复(变量,函数名),所以为了解决这个问题,命名空间就应用而生了。可以先看如下代码: var org = { groupA:{ tom:{ name:"abc", sex:"man" }, je...
2020-05-01 17:52:26
129
原创 JS继承模式
JS继承模式继承发展史1 传统模式 -->原型链过多继承了没用属性Grand.prototype.lastNmae= 'Wang';function Grand() {}var grand = new Grand();Father.prototype = grand;function Father() {}var father = new Fat...
2020-02-10 10:22:10
132
原创 JS原型
JS原型1.定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法,原型也是对象。2.利用原型特点和概念,可以提取共有属性。3.对象如何查看原型->隐式属性 //Person.prototype -原型 //Person.prototype ={} -是祖先 Per...
2020-02-09 13:01:23
802
原创 JS闭包
JS闭包闭包:当内部函数被保存到外部时,将会生成闭包 ,闭包会导致原有的作用域链不会释放,造成内存溢出。 function test() { var arr=[]; for (var i = 0;i<10;i++){ arr[i]=function () { console.log(i); do...
2020-02-07 16:02:57
108
原创 JS对象、包装类
JS对象对象的创建方法:1 var Object = {} plainObject 对象字面量/对象直接量2 构造函数(两种)大驼峰式命名规则 1)系统自带的构造函数 Object() new Object() 2)自定义3 Object.create(原型);构造函数内部原理:构造函数三段式function Student(name,age,sex...
2020-02-06 10:39:20
166
原创 JS立即执行函数
JS立即执行函数(能被执行函数执行的表达式,它的函数名会被忽略)定义:此类函数没有声明,再一次执行过后即释放。适合做初始化工作。如果说定义一个函数,但是还没有执行这个函数,那么它将一直等待被调用,所以它占用空间。语法:无参:(function () {}( ))有参:(function (a,b,c) { console.log(a+b+c);}(1...
2020-02-04 13:31:25
131
转载 Js中函数声明和函数表达式的区别
先看以下几段烧脑的代码: 1 2 3 4 5 6 7 8 f();//=>? varf =function() { console.log("var"); } functionf() { console.log("function");...
2020-02-04 12:29:14
128
原创 JS作用域、作用域链、闭包
JS作用域、作用域链运行期上下文:当函数执行时,会创建一个称为执行期上下文的内部对象。一个执行期上下文定义了一个函数待执行时的环境,函数每次执行时对应的函数上下文都是独一无二的,所以多次调用一个函数会调至创建多个执行上下文,当函数执行完毕时,它所产生的执行上下文被销毁。查找变量:在那个函数中查找变量就从这个函数的作用域链的顶端一次向下查找。作用域:[[scope]]:每...
2020-02-02 19:04:23
116
原创 JS预编译——函数预编译和全局预编译
JS预编译(函数预编译和全局预编译)一、函数预编译预编译发生在函数执行前一步函数预编译四部曲创建AO对象(执行期上下文) 找形参和变量声明,将变量和形参名作为AO 属性名,值为undefined 将实参值和形参统一 在函数体里面找函数声明,值赋予函数体例一:<script> function fn(a) { console....
2020-02-01 17:38:02
521
转载 Eclipse中vi插件vrapper的安装和使用
Eclipse中vi插件vrapper的安装和使用,送给习惯了用vi的朋友!这篇文章是用以下两篇文章拼起来的,结合二者看的话比较全面。原文1:http://hi.baidu.com/loyal_to_you/item/14a402e03ca89e178d3ea8d2原文2:http://blog.sina.com.cn/s/blog_685ab04101013yaw.html...
2019-08-14 09:19:04
581
原创 设计模式----(三、装饰者模式)
三、装饰者模式(Decoator-patterns)咖啡厅订单系统项目:1)咖啡种类:Espresso、ShortBack、LongBack|、Decaf2)调料:Milk、Soy、Chocolate如果此时新加一种调料,或者新加一种原料,那么组合起来就会导致类的爆炸,导致不易维护。那么此时可以用一个超类将所有类型的原料和调料放进去。那么如果新加原料或者调料那么直接...
2019-01-08 14:47:27
282
1
原创 设计模式----(二、观察者模式)
二、观察者模式(observer-patterns)1、引出观察者模式:Internet 气象站项目,普通OO设计方案,有些问题:提供温度、气压和湿度的接口,测量数据更新时需要将数据实时通知第三方。需要设计开放API 便于其他第三方公司也能接入气象站获取数据。2、假设气象站提供了一个WeatherData类获取温度,湿度,气压。气象站检测到的数据一旦发生改变WeatherD...
2019-01-08 09:05:09
117
原创 设计模式----(一、策略模式)
设计模式 1、设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用的经验。模式不是代码,而是某类问题的通用设计解决方案。2、4人组Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides总结写了《设计模式》3、设计模式的本质目的是使软件工...
2019-01-07 00:37:33
158
原创 网络安全--加密入门
网络安全--加密入门1.加密起源,凯撒密码的原理和破解方式。2.对称加密的原理和破解方式。3.DEA和AES两种加密算法的加密原理和应用。4.Base64编码在加密过程中的使用。凯撒密码古时候两军对垒为了防止敌方截获信息导致信息泄露,从而进行数据加密,就算敌军截获后无法解密就无法获取信息。明文:就是原始信...
2019-01-03 18:57:47
365
原创 计算机网络概述
计算机网络概述: 英特网发展的三个阶段: ARPANET -----> 三级结构的英特网 --------->多层次的ISP结构的英特网 英特网的组成: 电路交换适合的场景:电路交换适合于数据量很大的实时性传输: 和兴路由器之间可以使用电路...
2018-12-31 19:05:43
326
2
原创 计算机科学 Computer Science
计算机科学 哈弗 MARK1 号 最早用于二战,它被用来给“曼哈顿计划”跑模拟。这台计算器的大脑是继电器。继电器是用电控制的机械开关。 控制线路:控制电路是开还是关。控制线圈还连一个线圈,当电流流过线圈,线圈产生电磁场,从而吸引金属臂,从而闭合电路因为继电器有重量无法快速的开关还要考虑到齿轮磨损所以被淘汰。Bug 的来源:1947年9月 哈弗马克2型...
2018-12-28 10:47:10
343
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人