- 浏览: 24926 次
- 性别:
- 来自: 北京
最新评论
文章列表
一个通用程序的相关原理
- 博客分类:
- 原理
一个通用程序的相关原理
因素
------------------------------------------------------------
【数据结构】
层次
vd 客户端展示控件数据结构/打印/导出
vcd 客户端内存数据结构
td_view 传输时json/xml结构
cd 计算时内存数据结构
td_cache 传输 ...
js 高级编程
- 博客分类:
- javascript
链式作用域
变量的作用域是整个函数,不是代码块
变量不可以被声明函数外部的程序引用,可以被声明函数内部的函数引用。
开发
声明函数内部一个变量不管声明在什么地方,函数内部都可以访问到。
声明函数内部一个变量不管声明在什么地方,函数内部子函数都可以访问到。
运行
声明函数运行一次,会产生一个变量放到内存中。运行完成如果内部函数对象被保留到外部,并且内部函数可能在运行时依赖该变量,则该变量一直留存在内存中。
声明函数再运行一次,会再产生一个变量放到内存中。当然也会再产生一些内部函数被保留到外部。这些变量,函数和上面的不是同一批。
闭包
就是声明函数的内部定 ...
node后台运行,不显示控制台窗口
- 博客分类:
- nodejs
node启动,通过参数隐藏 没有
node中通过console隐藏 没有
node forever
宕机重启注册表没有试过
nohub
linux才有该命令
bat
不起作用
start
起作用
但宿主窗口不能关闭
url protocol中不执行
&
不起作用
>
输出转移了,但窗口仍在
nircmd.exe
未试过
C++模块中隐藏
显示后隐藏
如何控制窗口的默认大小
在chrome下打印,一个页面打印了很多纸,而且乱码
在firefox下打印正常
C+ ...
libuvhttp://www.nowx.org/uvbook/threads.html#core-thread-operationsnodejs addonhttps://nodejs.org/dist/latest-v5.x/docs/api/events.htmladdonhttp://blog.csdn.net/youyudehexie/article/details/11613603nodejshttp://www.runoob.com/nodejs/nodejs-tutorial.htmlvisual studio 解决方案项目结构部署和配置http://my.oschina.net ...
!. 事件驱动模型
客户端/服务器端模型
阻塞IO + 单线程(一个cpu一个线程)
浪费了cpu资源
阻塞IO + 多线程(一个cpu多个线程)
增加了额外的创建、销毁、切换线程的开销。
阻塞IO + 线程池
大量并发连接仍然效率比较低。
非阻塞IO + 单线程(一个cpu一个线程) + 事件驱动模型
recv
select
epoll
libev
过程
注册母句柄事件到"注册的句柄事件列表"
检查"注册的句柄事件列表"
检查到一个或一组事件
为每一个事件执行一个处理函数,回调函数
重新整理"注册的 ...
对HashMap的理解
- 博客分类:
- JAVA
HashMap是一个逻辑结构,其存储结构是一个链表数组。
单元格1 Enry1(k1,v1,next) --> Entry2(k2,v2,next) --> Entry
单元格2 Enry4(k4,v4,next)
单元格3 Enry1(k5,v5,next)
单元格4 Enry1(k6,v6,next)
单元格5 Enry1(k7,v7,next)
我决得这个结构可能从下面这些阶段过渡而来:(估计完全不是这么回事,方便自己理解就可以了)
1. 完全用一个链表实现
Enry1(k1,v1,next) --> Entry2(k2,v2,next) ...
1. 三层架构与MVC
三层架构:表现层、业务层、持久层
MVC是表现层功能页面的组织方式,包括数据,页面控件,页面中的操作。
解释了为什么说一些js框架声称支持MVC。
2. 标准MVC
...
HotSpot JVM里的G1垃圾收集器
- 博客分类:
- JAVA
G1垃圾收集器
HotSpot JDK 7从update 4开始引入了G1垃圾收集器。
G1收集器是服务器风格的垃圾回收器,主要针对多处理器机器上占用大量内存的应用。G1能缩短暂停时间,也能提供高吞吐量。
与CMS的区别
和CMS(Concurrent Mark-Sweep)收集器相比,G1具备压缩功能,能避免碎片问题;G1的暂停时间更加可控,用户可以指定暂停时间指标。
以前的垃圾收集器(顺序、并行、CMS)都把堆分为三个部分:年轻代、老年代、永久代,三个部分的大小都是固定的。而在G1里,堆被分为若干区域,每个区域里的内存是连续的。区域会有“角色”,但某个“角色”的大小并不 ...
Java虚拟机学习 - 垃圾收集器
- 博客分类:
- JAVA
HotSpot JVM收集器
上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。
Serial(串行GC)收集器
Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的新生代收集器。对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率。
什么是算法时间复杂度
- 博客分类:
- 数据结构和算法
问题:
1 + 2 + 3 + ...... + 100 = ?
算法1:
int sum=0;
int n=100;
for(int i=1;i<=n;i++){
sum += i;
}
System.out.println(sum);
算法2:
int sum=0;
int n=100;
sum=(1 + n)*n/2;
System.out.println(sum);
影响算法效率的因素:
1.算法的内容
2.编译的质量 依赖编译器
3.问题的规模
4.机器执行指令的速度 ...
一、 内存管理
1. 内存结构
方法区:
类加载的信息
运行时常量池:来源class文件中的常量池,动态设置常量的API
所有线程共享
PermSpace,MaxPermSpace
堆
存放对象实例
分代收集
Eden
from survio ...
IO - 同步,异步,阻塞,非阻塞
- 博客分类:
- JAVA
当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到有位博友问了一个问题,我重新查阅了一些更权威的资料,才发现原来的文章中有很大的理论错误。我不知道有多少人已经看过这篇blog并受到了我的误导,鄙人在此表示抱歉。俺以后写技术blog会更加严谨的。一度想把 ...
虚拟机执行引擎如何确定调用方法版本
- 博客分类:
- JAVA
JVM引擎执行一个方法时,需要确定一个方法该执行的版本,页就是需要将字节码文件中的符号引用转换成内存中具体方法的地址。
方法调用源代码
是写在java源代码中的方法调用信息,转换成字节码时,需要用一个字符串也就是符号引用来表示,对于方法重载的情况,这个时候需要选择一个方法表示当前代码调用的方法。
符号引用是用一个字符串表示一个方法。存储在方法区的常量池中。
直接引用运行阶段才知道的方法在内存中的入口地址。
C++在编译时链接,确定直接引用。Java是在解析阶段和运行阶段才将符号引用转换成直接引用。
编译阶段
将一个方法的符号引用存储到字节码中,这时候可能 ...
@override报错
选择eclipse菜单Windows->Preferences-->java->Compiler-->compiler compliance level选择 1.6以上,刷新工程,重新编译。
Js中this机制全解
- 博客分类:
- javascript
JavaScript中有很多令人困惑的地方,或者叫做机制。但是,就是这些东西让JavaScript显得那么美好而与众不同。比方说函数也是对 象、闭包、原型链继承等等,而这其中就包括颇让人费解的this机制。不管是新手还是 ...