eclipse中类似myeclipse打开explorer的插件
myeclipse中选择工程名,然后点击open in explorer可以打开工程文件夹,eclipse也可以实现
插件地址:http://blog.samsonis.me/2009/02/open-explorer-plugin-for-eclipse/
myeclipse中选择工程名,然后点击open in explorer可以打开工程文件夹,eclipse也可以实现
插件地址:http://blog.samsonis.me/2009/02/open-explorer-plugin-for-eclipse/
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
纪念莱斯·保罗电吉他之父诞辰 96 周年的可以直接弹奏的 doodle昨天已经多放了一天了,但是大家还是玩得不亦乐乎,总不能再多放一天吧?于是Google决定把这个doodle单独放到一个永久的网页里,大家可以随时玩个够了。
这好像也是继吃豆人游戏doodle之后,第二个被Google永久收藏的doodle。
弹吉他 doodle 永恒的归宿:http://www.google.com/logos/2011/lespaul.html
附上一些曲谱:
欢乐颂:EERT TREW QQWE EWW EERT TREW QQWE WQQ
春江花月夜:H-HHK-LHGG-G-H-KLDD-SDG-DGHKL-;-K-L;LKH-G(-和~是长音)
沧海一声笑:pouyt uytew wewetyuop ppouyty
本文是关于实现Java建立Zip压缩文件的代码实例
import java.io.*;
import java.util.zip.*;
class Zip {
public static void main(String[] args) throws IOException {
byte[] b = new byte[512];
ZipOutputStream zout = new ZipOutputStream(System.out);
for (int i = 0; i < args.length; i++) {
InputStream in = new FileInputStream(args[i]);
ZipEntry e = new ZipEntry(args[i].replace(File.separatorChar, '/'));
zout.putNextEntry(e);
int len = 0;
while ((len = in.read(b)) != -1) {
zout.write(b, 0, len);
}
zout.closeEntry();
print(e);
}
zout.close();
}
public static void print(ZipEntry e) {
PrintStream err = System.err;
err.print("added " + e.getName());
if (e.getMethod() == ZipEntry.DEFLATED) {
long size = e.getSize();
if (size > 0) {
long csize = e.getCompressedSize();
long ratio = ((size - csize) * 100) / size;
err.println(" (deflated " + ratio + "%)");
} else {
err.println(" (deflated 0%)");
}
} else {
err.println(" (stored 0%)");
}
}
}
有时候需要实现一组线程任务,但是我们希望线程一个执行完成后再去执行另外一个,有一个很简单的方法,就是使用thread的join()方法,如下:
第二个方法的涵义是:
“()V”
“(II)V”
“(Ljava/lang/String;Ljava/lang/String;)V”
“()” 中的字符表示参数,后面的则代表返回值。例如”()V” 就表示void Func();
“(II)V” 表示 void Func(int, int);
参考文章:http://hi.baidu.com/zhlg_hzh/blog/item/f0d782081f2f45d963d986f5.html