Thinking in Java
1. 一切都是对象
1. 用引用操纵对象
尽管一切都看作对象,但操纵的标识符实际上是对象的一个“引用”(reference)。可以想象成遥控器(引用)来操纵电视机(对象)。
如果想操纵一个词或句子。则可以创建一个String引用:
String s;
但这里所创建的只是引用,并不是对象。
2. 必须有你创建所有对象
一旦创建了一个引用,就希望它能与一个新的对象相关联。通常用new操作符来实现这一目的。new关键字的意思是“给我一个新对象”,所以前面的例子可以写成:
String s = new String("asdf);
3. 存储到什么地方
寄存器:这是最快的存储区,因为它位于不同于其他存储区的地方–处理器内部。但是寄存器的数量极其有限,所以寄存器根据需求进行分配。你...
shell基础知识
1. -n来判定字符串非空
ARGS=$*
if [ -n "$ARGS" ] then
print "with argument"
fi
print "without argument"
变量必须加双引号
2. 参数的含义
$#:传入脚本的参数个数;
$0: 脚本自身的名称;
$1: 传入脚本的第一个参数;
$2: 传入脚本的第二个参数;
$@: 传入脚本的所有参数;
$*:传入脚本的所有参数;
$$: 脚本执行的进程id;
$?: 上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;
其中$@与$正常情况下一样,当在脚本中将$加上双引号作为“$”引用时,此时将输入的所有参数当做一个整体字符串对待。比如输入参数有a b...
node基础知识
1. npm
1. npm更新
npm install npm@latest -g
npm install npm@next -g
2. 升级node到指定版本
npm cache clean -f //清除npm缓存
npm install -g n //n模块是专门用来管理nodejs的版本
n stable // 把当前系统的 Node 更新成最新的 “稳定版本”
n lts // 长期支持版
n latest // 最新版
n 10.14.2 // 指定安装版本
3. npm包管理工具
npm init //初始化,在项目中创建一个package.json文件
npm install/i xxx // 安装到项目目录下
npm in...
TCL基础知识
1. TCL中用于文件处理的命令
file atime name返回文件的最近存取时间。
file dirname name返回name所描述的文件名的目录部分。eg:source [file dirname $argv0]/vxTestCommon.tcl
file executable name返回文件是否可被执行。
file exists name返回1 表示文件存在,0 表示文件不存在。
file extension name返回文件的扩展名。
file isdirectory name判断是否为目录。
file isfile name判断是否为文件。
file lstat name varName以数组形式返回。执行lstat系统函数。存储在...
Compile GTK
1. Compile
1. Getting GTK
git clone https://github.com/GNOME/gtk.git
2. GTK versions
git branch -a
git checkout 3.12.2
git clean -xdf
3. Compiling
cd ~/gtk
./autogen.sh
./configure
make
find . -name "*.so*" -exec cp {} ~/gtk_src/ \;
4. Set GTK
Simply use the LD_LIBRARY_PATH environment variable and point it to your .libs folder that you got fr...
Typescript基础语法
1. 预备知识
TypeScript起初是微软开发的以JavaScript为基础的编程语言,他兼容JavaScript的所有特性,并扩展了JS的类型系统,使得用户在大型系统开发中更加游刃有余,VS Code天然支持TypeScript,帮助开发者写出更加稳定、安全的代码。因此所有文档的示例,包括插件本身,绝大部分都是使用TypeScript开发的,俗话说“不积跬步无以至千里”,当你足够了插件的基础之后,阅读文档才会更加顺利。
VS Code已经禁用了CSS和HTML
2. 基础语法
tsc Test.ts
单行注释 ( // ) − 在 // 后面的文字都是注释内容。
多行注释 (/* */) − 这种注释可以跨越多行。
每行指令都是一段语句,你可以使用分号或不使用, 分号在 T...
VS Code插件开发
1. 预备知识
1. 框架
VS Code,便是建立在浏览器开源项目Chromium演化而来——名为Electron的客户端技术之上,它使用了性能极高的JS编译器和浏览器界面技术,将前端的三大编程基础JavaScript,HTML,CSS无缝地衔接进来,并融合了系统层级的编程接口。而VS Code在此之上进一步封装和优化,将编辑器进程和插件进程独立开来,同时高度封装DOM(文档对象模型)接口,禁止用户直接修改界面,我们只能通过VS Code提供的模式去开发符合规范的插件,虽然这些规定限制了开发者的手脚,但是更带来了安全、稳健、性能上的优势。
2. TypeScript
TypeScript起初是微软开发的以JavaScript为基础的编程语言,他兼容JavaScript的所有特性,并扩...
Eclipse插件基础知识梳理
1. SWT基础
1.Display&Shell
// 1. 创建、获取当前的UI线程
Display display = Display.getDefault();
// 2. 创建窗口(一个shell实例就代表一个窗口)
Shell shell = new Shell(display);
// 3. Display的事件队列和事件循环
while(!shell.isDisposed()){
if(!display.readAndDispatch()){
display.sleep();
}
}
// 图形操作系统会为每一个GUI程序分配一个事件队列,用户操作鼠标或键盘时,操作系统负责将这些事件放到对应程序的事件队列中
2.显示器、边界和客户区域
// 获得主显示器...
53 post articles, 7 pages.