- 博客(6)
- 收藏
- 关注
原创 基于Fibers开发Node.js的ExpressJS Restful服务
目前大部分Web应用包括Ruby on Rails, Java Spring, Django都是使用顺序编程风格。顺序编程是非常简单和可读的,大部分开发者都是以顺序方式思考,喜欢将一个应用逻辑划分为顺序的时序步骤。顺序编程通常会导致堵塞I/O,因为线程是遵循先来后到的多任务方式,而不是一种协作式的多任务方式,而非堵塞I/O能够带来更好地扩展性和性能。但是非堵塞I/O为特点的事件编程确实没有顺序编程代码易于理解,如何能够以易于理解的顺序编程风格编写异步非堵塞I/O的代码,Fibers提供了这种平衡。 F
2020-07-19 23:24:22
411
原创 Node.js的事件轮询Event Loop原理解释
事件轮询主要是针对事件队列进行轮询,事件生产者将事件排队放入队列中,队列另外一端有一个线程称为事件消费者会不断查询队列中是否有事件,如果有事件,就立即会执行,为了防止执行过程中有堵塞操作影响当前线程读取队列,事件消费者线程会委托一个线程池专门执行这些堵塞操作。事件队列Javascript前端和Node.js的机制类似这个事件轮询模型,有的人认为Node.js是单线程,也就是事件消费者是单线程不断轮询,如果有堵塞操作怎么办,不是堵塞了当前单线程的执行吗?其实Node.js底层也有一个线程池,线程池专门用
2020-07-19 00:46:55
7602
原创 QTextEdit和QTextBrowser点击事件响应
头文件重载过滤事件函数protected:bool eventFilter(QObject *obj, QEvent *event);//安装事件过滤器ui->textBrowser_22->viewport()->installEventFilter(this);//安装事件过滤器ui->textEdit_3->viewport()->installEventFilter(this);//重载事件过滤器函数原型bool Widget2::eventFilt
2020-07-19 00:39:32
1561
原创 Golang 入门~~基础知识
变量声明//通用形式,指定变量名,变量类型,变量值var name int = 99fmt.Println(name)//指定变量名,以及变量类型,未指定值的时候默认是类型零值var age int//可以后面赋值age = 88fmt.Println(age)//短变量声明,指定变量名,以及变量的值,而变量类型会自动由值的类型决定。gender := “male” //gender变量的类型是stringfmt.Println(gender)//变量列表 要求:左右两边变量名与值
2020-07-19 00:35:37
235
原创 Java基础—System类和Math类
12345678910111213//创建Map对象Map<String, String> map =newHashMa p<String,String>();//给map中添加元素map.put("1","Monday");map.put("7","Sunday");System.out.println(map);//当给Map中添加元素,会返回key对应的原来的 value值,若key没有对应的值,返回null Syst
2020-07-05 20:34:54
232
原创 基本包装类和System类
基本包装类程序界面上用户输入的数据都是以字符串类型进行存储的,要把字符串转成基本数据类型操作基本包装类就是对8种基本数据类型进行包装:Integer Character 其他的都是首字母大写1、将字符串转换成基本数据类型Integer.parseInt(字符串) Double.parseDouble(字符串) 其他类型也一样//parseXXX(String str) //传入的字符串必须是对应的基本数据类型 String str =...
2020-07-03 09:44:44
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人