当前位置:  互联网>综合
本页文章导读:
    ▪Bit Map解析       1. Bit Map算法简介         来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空.........
    ▪Notepad 快捷键 大全       Notepad 快捷键 大全 Ctrl L 删除当前行 Ctrl T 当行向上移动一行 F3 查找下一个 Shift F3 查找上一个 Ctrl Shift F 组合在文件中查找 Ctrl F3 查找(volatil)下一页 Ctrl Shift F3.........
    ▪Eclipse 快捷键技巧 + 重构        第一讲 Eclipse的基本使用1.Eclipse工程的建立 2.源文件夹等概念     Eclipse会自动编译放置在源文件夹内的源文件     一些不需要编译的文件需要放置在普通文件夹下 3..........

[1]Bit Map解析
    来源: 互联网  发布时间: 2013-10-26
1. Bit Map算法简介         来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。

2、 Bit Map的基本思想

        我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byte的空间,将这些空间的所有Bit位都置为0,如下图:
                                                       


然后遍历这5个元素,首先第一个元素是4,那么就把4对应的位置为1(可以这样操作 p+(i/8)|(0x01<<(i%8)) 当然了这里的操作涉及到Big-ending和Little-ending的情况,这里默认为Big-ending),因为是从零开始的,所以要把第五位置为一(如下图):
 

                                                      


然后再处理第二个元素7,将第八位置为1,,接着再处理第三个元素,一直到最后处理完所有的元素,将相应的位置为1,这时候的内存的Bit位的状态如下: 
 

                                                    


然后我们现在遍历一遍Bit区域,将该位是一的位的编号输出(2,3,4,5,7),这样就达到了排序的目的。


优点:

1.运算效率高,不许进行比较和移位;

2.占用内存少,比如N=10000000;只需占用内存为N/8=1250000Byte=1.25M。 
缺点:

       所有的数据不能重复。即不可对重复的数据进行排序和查找。    


算法思想比较简单,但关键是如何确定十进制的数映射到二进制bit位的map图。


3、 Map映射表 假设需要排序或者查找的总数N=10000000,那么我们需要申请内存空间的大小为int a[1 + N/32],其中:a[0]在内存中占32为可以对应十进制数0-31,依次类推: 
bitmap表为: 
a[0]--------->0-31 
a[1]--------->32-63 
a[2]--------->64-95 
a[3]--------->96-127 
.......... 
那么十进制数如
    
[2]Notepad 快捷键 大全
    来源: 互联网  发布时间: 2013-10-26
Notepad 快捷键 大全

Ctrl L 删除当前行

Ctrl T 当行向上移动一行

F3 查找下一个

Shift F3 查找上一个

Ctrl Shift F 组合在文件中查找

Ctrl F3 查找(volatil)下一页

Ctrl Shift F3 查找(volatil)上一页

Ctrl Shift I 组合增量搜索

Ctrl S 保存文件

Ctrl Alt S 另存为

Ctrl Shift S 保存所有文件

Ctrl O 打开文件

Ctrl N 新建立文件

Ctrl F2 切换书签

F2 转到下一个书签

Shift F2 转到上一个书签

CTRL G 定位换行,偏移量

Ctrl W 关闭当前文档

Alt Shift Arrow 键移箭头键或

ALT 鼠标左键 单击列选择

F5 启动运行对话框

Ctrl 空格 输入法切换

Alt 空格 程序单击右键

Tab 插入缩进

Shift Tab 删除缩进

Alt-Shift-Arrow 或

Ctrl  鼠标滚轮钮 放大缩小

Ctrl  Keypad/恢复原来的大小

F11 全屏模式

Ctrl Tab 下一个文档

Ctrl Shift Tab 上一个文档

Ctrl Shift Up 当前线向上移

Ctrl-Shift-Down 当前线向下移

Ctrl Alt F 折叠当前层次

Ctrl Alt Shift F展开当前层次

Alt 0 折叠全部

Alt Shift 0 展开全部

Alt (1~8) 折叠级别(1~8)

Alt Shift (1~8) 展开级别(1~8)

Ctrl BackSpace 删除开始词

Ctrl Delete 删除结束词

Ctrl Shift BackSpace 删除至行

Ctrl Shift Delete 删除至行尾

CTRL U 转换为小写

Ctrl Shift U 转换为大写

Ctrl B 转至匹配的括号

Ctrl Shift R 的开始录制/停止录制宏

Ctrl Shift P 播放录制的宏

CTRL Q 注释/取消注释

Ctrl Shift Q 值流评论

Ctrl Shift T 当前行复制到剪贴板

Ctrl P 打印

Alt F4 退出

Ctrl I 分割线

 

Ctrl C 复制

Ctrl X 剪切

Ctrl V 粘贴

Ctrl Z 撤消

Ctrl Y 恢复

Ctrl A 全选

Ctrl F 键查找对话框启动

Ctrl H 查找/替换对话框

Ctrl D 复制并粘贴当行

 

 

 

 

Ctrl J 连接行

Ctrl Alt R 从右边阅读

Ctrl Alt L 从左边阅读

Ctrl H     打开Find / Replace 对话框

Ctrl D     复制当前行

Ctrl L     删除当前行

Ctrl T     上下行交换

F3     找下一个

Shift F3     找上一个

Ctrl Shift-F     在文件中找

Ctrl F2     触发书签


    
[3]Eclipse 快捷键技巧 + 重构
    来源: 互联网  发布时间: 2013-10-26
  第一讲 Eclipse的基本使用1.Eclipse工程的建立
2.源文件夹等概念
    Eclipse会自动编译放置在源文件夹内的源文件
    一些不需要编译的文件需要放置在普通文件夹下
3.基本代码的编写
    代码提示强制显示:alt + /
    

    第二讲 Eclipse基本操作(1)
1.建立包、建立接口及其他
    层级包的显示:平级显示;层级显示
2.工程的高级配置
3.工程的构建
    自动编译设定:Project——>Build Automatically
4.代码的自动完成、自动修正功能(在警告或者错误处点击左键,出现解决方案)
    黄色的、红色的标示
        黄色:警告
        红色:错误
        传递性...
    
    (1)方法的自动生成
        错误处点击左键,选择创建方法
    (2)导入import
        快捷键:Ctrl + Shift + O
    (3)清除无用的import
        错误处点击左键,选择删除
    (4)自动清除无用的方法、常量
        错误处点击左键,选择删除
    (5)自动实现接口的、抽象类的方法,自动重载父类的方法
        implements         extends            extends
        Source——>重载/实现方法菜单...
        点击左边的向上箭头,查看父类信息...
    
    第三讲 Eclipse基本操作(2)
1.Java的调试
    (1)断点、条件断点、异常断点
        断点:
        在左侧双击设置/删除断点,或者右键选择相应菜单设置/删除断点
        调试需要通过远程端口进行调试
        查看一个变量、表达式值的三种方法:
            1.鼠标放置查看处,自动显示
            2.右键,Watch菜单,也可以在Watch窗口添加表达式
            3.Window——>Show View——>Display,输入表达式,右键,Watch菜单
            
        条件断点:
        设置断点后,右键断点,断点属性菜单
        
        异常断点:
        运行时异常处,会自动中断
        非运行时异常处,不会自动中断,需要在Breakpoints页面加入Java异常断点
        
    (2)断点中变量的查看,语句的执行
2.智能纠错、自动完成
    (1)自动生成try...catch,自动列出异常列表,自动转型...
    必须捕获的异常,对应必须需要try...catch或者抛出
    在红色提示上点击鼠标,常常可以得到惊喜
    
    (2)自动生成set、get方法
    Sources——>生成Sets和Gets方法
    
    (3)自动生成构造函数
    Sources——>生成构造函数(两个)
    
    (4)javadoc的自动生成
    规范Java代码编写!!
    在函数上一行,输入 /** 再回车
    
    第四讲 eclipse高级操作(1)    重构
重构不高深——实战重构
1.方法抽取 Extract Method
    比如方法首部校验部分的抽取
    选中代码——>右键——>Refactor——>Extract Method...,具体设置部分在使用时学习
    
2.重命名 Rename
    重命名类名    
    选中类名——>右键——>Refactor——>Rename...,具体设置部分在使用时学习
    
3.内联 Inlining
    内联方法
    选中函数名——>右键——>Refactor——>Inline...,具体设置部分在使用时学习
    
4.常量抽取 Extract Constant
    将“XXX”抽取成常量
    选中常量字符串(包括引号)——>右键——>Refactor——>Extract Constant...,具体设置部分在使用时学习
    
5.抽取局部变量 Extract Local Variable
    将XXX抽取成变量
    选中类成员变量——>右键——>Refactor——>Extract Local Variable...,具体设置部分在使用时学习
    
6.包装字段 Encapsulate Field
    不要暴露字段!!
    重构XXX类,用set get包装
    选中类成员变量——>右键——>Refactor——>Encapsulate Field...,具体设置部分在使用时学习
    
7.抽取接口 Extract Interface
    XXX类中抽取XXX接口
    选中类成员方法——>右键——>Refactor——>Extract Interface...,具体设置部分在使用时学习
    
    第五讲 eclipse高级操作(1)    常用技巧
1.
    (1)代码完成功能
        Alt + /
        
    (2)代码格式化功能
        java代码规范
        先Ctrl + A选中所有代码——>再Ctrl + Shift + F
        设置自定义的格式化风格:
        Window——>Preferences——>Java——>Code Style——>Formatter——>New
        在Braces页面可以设置大括号的位置
        
    (3)jar包关联源代码
        注意:jar包和源代码是分离的
        jar包上——>右键——>Preferences——Java Source Attachment——>External File...——>JDK中的src.zip
            或者在页面中点击Attach Source按钮
    
    (4)打开类型、查看父类实现、查看类型层次结构、查看方法调用
        打开需要查看的类:
            Navigate——>Open Type...——>输入需要查询的类名,支持通配符
        查看父类实现:
            左侧出现向上箭头,点击箭头,查看父类
        查看类型层次结构:
            选中类名——>右键——>Open Type Hierarchy
        查看方法调用:
            选中方法名——>右键——>Open Call Hierarchy
            
2.代码搜索
    查找一定的信息
    Search——>File...

    搜索,工作集等的概念...




重构是对软件内部结构的一种调整,目的是在不改变软件行为的前提下,提高其可理解性,降低其修改成本。开发人员可以使用一系列重构准则,在不改变软件行为的前提下,调整软件的结构。 

有很多种原因,开发人员应该重构代码,例如之前的开发人员代码写得很烂、自己以前设计时有缺陷、需求变更需要添加一些新的功能或修改原有功能等等。Martin Fowler在其著名的<<Refactoring—Improv
    
最新技术文章:
 




特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3