Ⅰ 如何防止代码被反编译
由于apk是android虚拟机加载的,它有一定的规范,加密apk后Dalvik无法识别apk了。完全避免是不可能的,总有人能够破解你的代码。但是有几种方式来提高被反编译取代码的难度。
1 关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译
2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。 网上开源的java代码混淆工具较多,一般是用ant的方式来编译的。
1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如下所示:
target=android-8
proguard.config=proguard.cfg
Eclipse会通过此配置在工程目录生成proguard.cfg文件
2 . 生成keystore (如已有可直接利用)
按照下面的命令行 在D:\Program Files\Java\jdk1.6.0_07\bin>目录下,输入keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore
参数意义:-validity主要是证书的有效期,写100000天;空格,退格键 都算密码。
命令执行后会在D:\Program Files\Java\jdk1.6.0_07\bin>目录下生成 android.keystore文件。
3. 在Eclipce的操作
File -> Export -> Export Android Application -> Select project -> Using the existing keystore , and input password -> select the destination APK file
经过混淆后的源代码,原先的类名和方法名会被类似a,b,c。。。的字符所替换,混淆的原理其实也就是类名和方法名的映射。
但4大组件并没有混淆(所有在清单文件定义的组件不能被混淆),因为系统需要通过清单文件来查找和运行应用程序。
proguard.cfg 文件代码解读
-optimizationpasses 5 ->设置混淆的压缩比率 0 ~ 7
-dontusemixedcaseclassnames -> Aa aA
- ->如果应用程序引入的有jar包,并且想混淆jar包里面的class
-dontpreverify
-verbose ->混淆后生产映射文件 map 类名->转化后类名的映射
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* ->混淆采用的算法.
-keep public class * extends android.app.Activity ->所有activity的子类不要去混淆
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>; -> 所有native的方法不能去混淆.
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
-->某些构造方法不能去混淆
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * { -> 枚举类不能去混淆.
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable { -> aidl文件不能去混淆.
public static final android.os.Parcelable$Creator *;
}
Ⅱ 如何实现APK的反编译得到APK的源码
最新的反编译不用此方法, 有最新的一键自动反编译工具:
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。
在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。
注:本Android反编译教程,在Windows7-Ultimate-64bit操作系统上,测试通过!
下述所需的反编译工具包 下载
一、反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI
前者dex2jar是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:
dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
具体步骤:
首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录(在DOS命令下CD 目录)
运行
dex2jar.bat classes.dex
生成
classes.dex.dex2jar.jar
生成jar文件的截图如下:
运行JD-GUI(jd-gui.exe),打开上面生成的jar包,即可看到源代码了
HelloAndroid源码(编译前的apk源码对照)如下:
二、反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
如果是汉化软件,这将特别有用。首先还是下载工具,这次用到的是apktool
下载地址:http://code.google.com/p/android-apktool/downloads/list
下载:apktool1.4.1.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2(两个包都下载)
具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
在命令行下定位到apktool.bat文件夹,输入以下命令:apktool d C:\*.apk C:\*文件夹,如下图:
命令行解释:apktool d [apk文件 ] [输出文件夹]
反编译的文件如下(AndroidManifest.xml为例):
特别注意:你要反编译的文件一定要放在C盘的根目录里(其实不用放在C盘根目录也行)
例如:在D盘目录D:\apktool1.4.1
cd /d D:\apktool1.4.1 //切换到D盘目录,包含HelloAndroid.apk以及aapt.exe,apktool.bat,apktool.jar三个文件
apktool.bat d -f HelloAndroid.apk HelloAndroid // apktool反编译命令,注意 d和
-f 的写法
将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可,命令如下:这个主意你文件所在盘
打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹:
build
dist
其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下,Ok
最后,再介绍一款刚出来的反编译工具 Androidfby ,它是一款对上述步骤进行了封装的图形界面工具,下载地址
但是,针对部分签名的apk,无法实现反编译,但本博客方法则仍然可以反编译成功!仅供参考使用
另外,作为应用开发者,肯定不希望自己的代码被反编译的,下一遍博客将讲述如何通过混淆代码防止被别人反编译
Android如何防止apk程序被反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。
Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹
proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。
下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先来看看android-sdk-windows\tools\lib\proguard.cfg的内容:
[html] view
plainprint?
1. -optimizationpasses 5
2. -dontusemixedcaseclassnames
3. -
4. -dontpreverify
5. -verbose
6. -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
7.
8. -keep public class * extends android.app.Activity
9. -keep public class * extends android.app.Application
10. -keep public class * extends android.app.Service
11. -keep public class * extends android.content.BroadcastReceiver
12. -keep public class * extends android.content.ContentProvider
13. -keep public class * extends android.app.backup.BackupAgentHelper
14. -keep public class * extends android.preference.Preference
15. -keep public class com.android.vending.licensing.ILicensingService
16.
17. -keepclasseswithmembernames class * {
18. native <methods>;
19. }
20.
21. -keepclasseswithmembernames class * {
22. public <init>(android.content.Context, android.util.AttributeSet);
23. }
24.
25. -keepclasseswithmembernames class * {
26. public <init>(android.content.Context, android.util.AttributeSet, int);
27. }
28.
29. -keepclassmembers enum * {
30. public static **[] values();
31. public static ** valueOf(java.lang.String);
32. }
33.
34. -keep class * implements android.os.Parcelable {
35. public static final android.os.Parcelable$Creator *;
36. }
从脚本中可以看到,混淆中保留了继承自Activity、Service、
Application、BroadcastReceiver、ContentProvider等基本组件以及
com.android.vending.licensing.ILicensingService,
并保留了所有的Native变量名及类名,所有类中部分以设定了固定参数格式的构造函数,枚举等等。(详细信息请参考<proguard_path>/examples中的例子及注释。)
让proguard.cfg起作用的做法很简单,就是在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”就可以了
完整的default.properties文件应该如下:
[html] view
plainprint?
1. # This file is automatically generated by Android Tools.
2. # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3. #
4. # This file must be checked in Version Control Systems.
5. #
6. # To customize properties used by the Ant build system use,
7. # "build.properties", and override values to adapt the script to your
8. # project structure.
9.
10. # Project target.
11. target=android-9
12. proguard.config=proguard.cfg
大功告成,正常的编译签名后就可以防止代码被反编译了。反编译经过代码混淆的apk得到的代码应该类似于下面的效果,是很难看懂的:
如果您使用的是2.3之前的SDK版本也没关系,把上面的proguard.cfg文件复制一份放到项目中,然后进行相同的操作即可
Ⅲ 电脑里常用的的英语有那些(汉语意思)
第一部分、计算机算法常用术语中英对照
Data Structures 基本数据结构
Dictionaries 字典
Priority Queues 堆
Graph Data Structures 图
Set Data Structures 集合
Kd-Trees 线段树
Numerical Problems 数值问题
Solving Linear Equations 线性方程组
Bandwidth Rection 带宽压缩
Matrix Multiplication 矩阵乘法
Determinants and Permanents 行列式
Constrained and Unconstrained Optimization 最值问题
Linear Programming 线性规划
Random Number Generation 随机数生成
Factoring and Primality Testing 因子分解/质数判定
Arbitrary Precision Arithmetic 高精度计算
Knapsack Problem 背包问题
Discrete Fourier Transform 离散Fourier变换
Combinatorial Problems 组合问题
Sorting 排序
Searching 查找
Median and Selection 中位数
Generating Permutations 排列生成
Generating Subsets 子集生成
Generating Partitions 划分生成
Generating Graphs 图的生成
Calendrical Calculations 日期
Job Scheling 工程安排
Satisfiability 可满足性
Graph Problems -- polynomial 图论-多项式算法
Connected Components 连通分支
Topological Sorting 拓扑排序
Minimum Spanning Tree 最小生成树
Shortest Path 最短路径
Transitive Closure and Rection 传递闭包
Matching 匹配
Eulerian Cycle / Chinese Postman Euler回路/中国邮路
Edge and Vertex Connectivity 割边/割点
Network Flow 网络流
Drawing Graphs Nicely 图的描绘
Drawing Trees 树的描绘
Planarity Detection and Embedding 平面性检测和嵌入
Graph Problems -- hard 图论-NP问题
Clique 最大团
Independent Set 独立集
Vertex Cover 点覆盖
Traveling Salesman Problem 旅行商问题
Hamiltonian Cycle Hamilton回路
Graph Partition 图的划分
Vertex Coloring 点染色
Edge Coloring 边染色
Graph Isomorphism 同构
Steiner Tree Steiner树
Feedback Edge/Vertex Set 最大无环子图
Computational Geometry 计算几何
Convex Hull 凸包
Triangulation 三角剖分
Voronoi Diagrams Voronoi图
Nearest Neighbor Search 最近点对查询
Range Search 范围查询
Point Location 位置查询
Intersection Detection 碰撞测试
Bin Packing 装箱问题
Medial-Axis Transformation 中轴变换
Polygon Partitioning 多边形分割
Simplifying Polygons 多边形化简
Shape Similarity 相似多边形
Motion Planning 运动规划
Maintaining Line Arrangements 平面分割
Minkowski Sum Minkowski和
Set and String Problems 集合与串的问题
Set Cover 集合覆盖
Set Packing 集合配置
String Matching 模式匹配
Approximate String Matching 模糊匹配
Text Compression 压缩
Cryptography 密码
Finite State Machine Minimization 有穷自动机简化
Longest Common Substring 最长公共子串
Shortest Common Superstring 最短公共父串
DP——Dynamic Programming——动态规划
recursion —— 递归
第二部分、编程词汇
A2A integration A2A整合
abstract 抽象的
abstract base class (ABC)抽象基类
abstract class 抽象类
abstraction 抽象、抽象物、抽象性
access 存取、访问
access level访问级别
access function 访问函数
account 账户
action 动作
activate 激活
active 活动的
actual parameter 实参
adapter 适配器
add-in 插件
address 地址
address space 地址空间
address-of operator 取地址操作符
ADL (argument-dependent lookup)
ADO(ActiveX Data Object)ActiveX数据对象
advanced 高级的
aggregation 聚合、聚集
algorithm 算法
alias 别名
align 排列、对齐
allocate 分配、配置
allocator分配器、配置器
angle bracket 尖括号
annotation 注解、评注
API (Application Programming Interface) 应用(程序)编程接口
app domain (application domain)应用域
application 应用、应用程序
application framework 应用程序框架
appearance 外观
append 附加
architecture 架构、体系结构
archive file 归档文件、存档文件
argument引数(传给函式的值)。参见parameter
array 数组
arrow operator 箭头操作符
ASP(Active Server Page)活动服务器页面
ASP.NET worker process ASP.NET工作者进程
assembly 装配件、配件
assembly language 汇编语言
assembly manifest 装配件清单
assert(ion) 断言
assign 赋值
assignment 赋值、分配
assignment operator 赋值操作符
associated 相关的、相关联的
associative container 关联式容器(对应sequential container)
asynchronous 异步的
atomic 原子的
atomic operation 原子操作
attribute 特性、属性
authentication service 验证服务
authorization 授权
audio 音频
A.I. 人工智能
B2B integration B2B整合、B2B集成(business-to-business integration)
background 背景、后台(进程)
backward compatible 向后兼容、向下兼容
backup 备份
backup device备份设备
backup file 备份文件
bandwidth 带宽
base class 基类
base type 基类型
batch 批处理
BCL (base class library)基类库
binary 二进制
binary search 二分查找
binary tree 二叉树
binary function 双参函数
binary large object二进制大对象
binary operator 二元操作符
binding 绑定
bit 位
bitmap 位图
bitwise 按位...
bitwise 为单元进行复制;位元逐一复制,按位拷
bitwise operation 按位运算
block 块、区块、语句块
bookkeeping 簿记
boolean 布林值(真假值,true或false)
border 边框
bounds checking 边界检查
boxing 装箱、装箱转换
brace (curly brace) 大括号、花括号
bracket (square brakcet) 中括号、方括号
breakpoint 断点
browser applications 浏览器应用(程序)
browser-accessible application 可经由浏览器访问的应用程序
build 编连(专指编译和连接
built-in 内建、内置
bus 总线
business 业务、商务(看场合)
business Logic 业务逻辑
business rules 业务规则
buttons 按钮
bug 臭虫
by/through 通过
byte 位元组(由8 bits组成)
cache 高速缓存
calendar 日历
call 调用
callback 回调
call-level interface (CLI)调用级接口(CLI)
call operator 调用操作符
candidate key 候选键 (for database)
cascading delete 级联删除 (for database)
cascading update 级联更新 (for database)
casting 转型、造型转换
catalog 目录
chain 链(function calls)
character 字符
character format 字符格式
character set 字符集
CHECK constraints CHECK约束 (for database)
checkpoint 检查点 (for database)
check box 复选框
check button 复选按钮
child class 子类
CIL (common intermediate language)通用中间语言、通用中介语言
class 类
class declaration 类声明
class definition 类定义
class derivation list 类继承列表
class factory 类厂
class hierarchy 类层次结构
class library 类库
class loader 类装载器
class template 类模板
class template partial specializations 类模板部分特化
class template specializations 类模板特化
classification 分类
clause 子句
client application 客户端应用程序
client cursor 客户端游标 (for database)
code page 代码页
cleanup 清理、清除
CLI (Common Language Infrastructure) 通用语言基础设施
client 客户、客户端
client area 客户区
client-server 客户机/服务器、客户端/服务器
clipboard 剪贴板
clone 克隆
CLS (common language specification) 通用语言规范
code access security 代码访问安全
COFF (Common Object File Format) 通用对象文件格式
collection 集合
COM (Component Object Model) 组件对象模型
combo box 组合框
command line 命令行
comment 注释
commit 提交 (for database)
communication 通讯
compatible 兼容
compile time 编译期、编译时
compiler 编译器
component组件
composite index 复合索引、组合索引 (for database)
composite key 复合键、组合键 (for database)
composition 复合、组合
concept 概念
concrete具体的
concrete class 具体类
concurrency 并发、并发机制
constraint 约束 (for database)
configuration 配置、组态
connection 连接 (for database)
connection pooling 连接池
console 控制台
constant 常量
construct 构件、成分、概念、构造(for language)
constructor (ctor) 构造函数、构造器
container 容器
containment包容
context 环境、上下文
control 控件
cookie (不译)
拷贝
CORBA 通用对象请求中介架构(Common Object Request Broker Architecture)
cover 覆盖、涵盖
create/creation 创建、生成
crosstab query 交叉表查询 (for database)
CRTP (curiously recurring template pattern)
CTS (common type system)通用类型系统
cube 多维数据集 (for database)
cursor 光标
cursor 游标 (for database)
custom 定制、自定义
data 数据
data connection 数据连接 (for database)
Data Control Language (DCL) 数据控制语言(DCL) (for database)
Data Definition Language (DDL) 数据定义语言(DDL) (for database)
data dictionary 数据字典 (for database)
data dictionary view 数据字典视图 (for database)
data file 数据文件 (for database)
data integrity 数据完整性 (for database)
data manipulation language (DML)数据操作语言(DML) (for database)
data mart 数据集市 (for database)
data pump 数据抽取 (for database)
data scrubbing 数据清理 (for database)
data source 数据源 (for database)
Data source name (DSN) 数据源名称(DSN) (for database)
data warehouse 数据仓库 (for database)
dataset 数据集 (for database)
database 数据库 (for database)
database catalog 数据库目录 (for database)
database diagram 数据关系图 (for database)
database file 数据库文件 (for database)
database object 数据库对象 (for database)
database owner 数据库所有者 (for database)
database project 数据库工程 (for database)
database role 数据库角色 (for database)
database schema 数据库模式、数据库架构 (for database)
database script 数据库脚本 (for database)
data-bound 数据绑定 (for database)
data-aware control数据感知控件 (for database)
data member 数据成员、成员变量
dataset 数据集 (for database)
data source 数据源 (for database)
data structure数据结构
data table 数据表 (for database)
datagram 数据报文
DBMS (database management system)数据库管理系统 (for database)
DCOM (distributed COM)分布式COM
dead lock 死锁 (for database)
deallocate 归还
debug 调试
debugger 调试器
decay 退化
decision support 决策支持
declaration 声明
declarative referential integrity (DRI)声明引用完整性(DRI) (for database)
dection 推导
DEFAULT constraint默认约束 (for database)
default database 默认数据库 (for database)
default instance 默认实例 (for database)
default result set 默认结果集 (for database)
default 缺省、默认值
defer 推迟
definition 定义
delegate 委托
delegation 委托
dependent name
deploy 部署
dereference 解引用
dereference operator (提领)运算子
derived class 派生类
design by contract 契约式设计
design pattern 设计模式
destroy 销毁
destructor(dtor)析构函数、析构器
device 设备
DHTML (dynamic HyperText Markup Language)动态超文本标记语言
dialog 对话框
digest 摘要
digital 数字的
DIME (Direct Internet Message Encapsulation)直接Internet消息封装
directive (编译)指示符
directory 目录
dirty pages脏页 (for database)
dirty read 脏读 (for database)
disassembler 反汇编器
DISCO (Discovery of Web Services)Web Services的查找
disk 盘
dispatch 调度、分派、派发(我喜欢“调度”)
DISPID (Dispatch Identifier)分派标识符
distributed computing 分布式计算
distributed query 分布式查询 (for database)
DNA (Distributed interNet Application) 分布式网间应用程序
document 文档
DOM (Document Object Model)文档对象模型
dot operator (圆)点操作符
driver 驱动(程序)
DTD (document type definition) 文档类型定义
double-byte character set (DBCS)双字节字符集(DBCS)
mp 转储
mp file 转储文件
dynamic cursor 动态游标 (for database)
dynamic filter 动态筛选 (for database)
dynamic locking 动态锁定 (for database)
dynamic recovery 动态恢复 (for database)
dynamic snapshot 动态快照 (for database)
dynamic SQL statements 动态SQL语句 (for database)
dynamic assembly 动态装配件、动态配件
dynamic binding 动态绑定
EAI (enterprise application integration)企业应用程序集成(整合)
EBCO (empty base class optimization) 空基类优化(机制)
e-business 电子商务
EDI (Dlectronic Data Interchange)电子数据交换
efficiency 效率
efficient 高效
end-to-end authentication 端对端身份验证
end user 最终用户
engine 引擎
entity 实体
encapsulation 封装
enclosing class 外围类别(与巢状类别 nested class有关)
enum (enumeration) 枚举
enumerators 枚举成员、枚举器
equal 相等
equality 相等性
equality operator 等号操作符
error log 错误日志 (for database)
escape code 转义码
escape character 转义符、转义字符
exclusive lock 排它锁 (for database)
explicit transaction 显式事务 (for database)
evaluate 评估
event 事件
event driven 事件驱动的
event handler 事件处理器
evidence 证据
exception 异常
exception declaration 异常声明
exception handling 异常处理、异常处理机制
exception-safe 异常安全的
exception specification 异常规范
exit 退出
explicit 显式
explicit specialization 显式特化
export 导出
expression 表达式
facility 设施、设备
fat client 胖客户端
feature 特性、特征
fetch 提取
field 字段(java)
field 字段 (for database)
field length 字段长度 (for database)
file 文件
filter 筛选 (for database)
finalization 终结
firewall 防火墙
finalizer 终结器
firmware 固件
flag 标记
flash memory 闪存
flush 刷新
font 字体
foreign key (FK) 外键(FK) (for database)
form 窗体
formal parameter 形参
forward declaration 前置声明
forward-only 只向前的
forward-only cursor 只向前游标 (for database)
fragmentation 碎片 (for database)
framework 框架
full specialization 完全特化
function 函数
function call operator (即operator ()) 函数调用操作符
function object 函数对象
function overloaded resolution函数重载决议
functionality 功能
function template函数模板
functor 仿函数
GAC (global assembly cache) 全局装配件缓存、全局配件缓存
GC (Garbage collection) 垃圾回收(机制)、垃圾收集(机制)
game 游戏
generate 生成
generic 泛化的、一般化的、通用的
generic algorithm通用算法
genericity 泛型
getter (相对于 setter)取值函数
global 全局的
global object 全局对象
global scope resolution operator 全局范围解析操作符
grant 授权 (for database)
granularity 粒度
group 组、群
group box 分组框
GUI 图形界面
GUID (Globally Unique Identifier) 全球唯一标识符
hand shaking 握手
handle 句柄
handler 处理器
hard-coded 硬编码的
hard- 截屏图
hard disk 硬盘
hardware 硬件
hash table 散列表、哈希表
header file头文件
heap 堆
help file 帮助文件
hierarchy 层次结构、继承体系
hierarchical data 阶层式数据、层次式数据
hook 钩子
Host (application)宿主(应用程序)
hot key 热键
hyperlink 超链接
HTML (HyperText Markup Language) 超文本标记语言
HTTP pipeline HTTP管道
HTTP (HyperText Transfer Protocol) 超文本传输协议
icon 图标
IDE (Integrated Development Environment)集成开发环境
IDL (Interface Definition Language) 接口定义语言
identifier 标识符
idle time 空闲时间
if and only if当且仅当
IL (Intermediate Language) 中间语言、中介语言
image 图象
IME 输入法
immediate base 直接基类
immediate derived 直接派生类
immediate updating 即时更新 (for database)
implicit transaction隐式事务 (for database)
incremental update 增量更新 (for database)
index 索引 (for database)
implement 实现
implementation 实现、实现品
implicit 隐式
import 导入
increment operator 增加操作符
infinite loop 无限循环
infinite recursive 无限递归
information 信息
infrastructure 基础设施
inheritance 继承、继承机制
inline 内联
inline expansion 内联展开
initialization 初始化
initialization list 初始化列表、初始值列表
initialize 初始化
inner join 内联接 (for database)
in-place active 现场激活
instance 实例
instantiated 具现化、实体化(常应用于template)
instantiation 具现体、具现化实体(常应用于template)
integrate 集成、整合
integrity 完整性、一致性
integrity constraint完整性约束 (for database)
interprocess communication (IPC)进程间通讯(IPC)
interacts 交互
interface 接口
for GUI 界面
interoperability 互操作性、互操作能力
interpreter 解释器
introspection 自省
invariants 不变性
invoke 调用
isolation level 隔离级别 (for database)
iterate 迭代
iterative 反复的、迭代的
iterator 迭代器
iteration 迭代(回圈每次轮回称为一个iteration)
item 项、条款、项目
JIT compilation JIT编译 即时编译
key 键 (for database)
key column 键列 (for database)
laser 激光
late binding 迟绑定
left outer join 左向外联接 (for database)
level 阶、层例
high level 高阶、高层
library 库
lifetime 生命期、寿命
link 连接、链接
linkage 连接、链接
linker 连接器、链接器
literal constant 字面常数
list 列表、表、链表
list box 列表框
livelock 活锁 (for database)
load 装载、加载
load balancing 负载平衡
loader 装载器、载入器
local 局部的
local object 局部对象
lock 锁
log 日志
login 登录
login security mode登录安全模式 (for database)
lookup table 查找表 (for database)
loop 循环
loose coupling 松散耦合
lvalue 左值
machine code 机器码、机器代码
macro 宏
maintain 维护
managed code 受控代码、托管代码
Managed Extensions 受控扩充件、托管扩展
managed object 受控对象、托管对象
mangled name
manifest 清单
manipulator 操纵器(iostream预先定义的一种东西)
many-to-many relationship 多对多关系 (for database)
many-to-one relationship 多对一关系 (for database)
marshal 列集
member 成员
member access operator 成员取用运算子(有dot和arrow两种)
member function 成员函数
member initialization list成员初始值列表
memberwise 以member为单元…、members 逐一…
memberwise
memory 内存
memory leak 内存泄漏
menu 菜单
message 消息
message based 基于消息的
message loop 消息环
message queuing消息队列
metadata 元数据
metaprogramming元编程
method 方法
micro 微
middleware 中间件
middle tier 中间层
modeling 建模
modeling language 建模语言
modifier 修饰字、修饰符
modem 调制解调器
mole 模块
most derived class最底层的派生类
mouse 鼠标
mutable 可变的
mutex 互斥元、互斥体
multidimensional OLAP (MOLAP) 多维OLAP(MOLAP) (for database)
multithreaded server application 多线程服务器应用程序
multiuser 多用户
multi-tasking 多任务
multi-thread 多线程
multicast delegate 组播委托、多点委托
named parameter 命名参数
named pipe 命名管道
namespace 名字空间、命名空间
native 原生的、本地的
native code 本地码、本机码
Native Image Generator (NGEN)本地映像生成器
nested class 嵌套类
nested query 嵌套查询 (for database)
nested table 嵌套表 (for database)
network 网络
network card 网卡
nondependent name
object 对象
object based 基于对象的
object file 目标文件
object model 对象模型
object oriented 面向对象的
laser 激光
late binding 迟绑定
left outer join 左向外联接 (for database)
level 阶、层例
high level 高阶、高层
library 库
lifetime 生命期、寿命
link 连接、链接
linkage 连接、链接
linker 连接器、链接器
literal constant 字面常数
list 列表、表、链表
list box 列表框
livelock 活锁 (for database)
load 装载、加载
load balancing 负载平衡
loader 装载器、载入器
local 局部的
local object 局部对象
lock 锁
log 日志
login 登录
login security mode登录安全模式 (for database)
lookup table 查找表 (for database)
loop 循环
loose coupling 松散耦合
lvalue 左值
machine code 机器码、机器代码
macro 宏
maintain 维护
managed code 受控代码、托管代码
Managed Extensions 受控扩充件、托管扩展
managed object 受控对象、托管对象
mangled name
manifest 清单
manipulator 操纵器(iostream预先定义的一种东西)
many-to-many relationship 多对多关系 (for database)
many-to-one relationship 多对一关系 (for database)
marshal 列集
member 成员
member access operator 成员取用运算子(有dot和arrow两种)
member function 成员函数
member initialization list成员初始值列表
memberwise 以member为单元…、members 逐一…
memberwise
memory 内存
memory leak 内存泄漏
menu 菜单
message 消息
message based 基于消息的
message loop 消息环
message queuing消息队列
metadata 元数据
metaprogramming元编程
method 方法
micro 微
middleware 中间件
middle tier 中间层
modeling 建模
modeling language 建模语言
modifier 修饰字、修饰符
modem 调制解调器
mole 模块
most derived class最底层的派生类
mouse 鼠标
mutable 可变的
mutex 互斥元、互斥体
multidimensional OLAP (MOLAP) 多维OLAP(MOLAP) (for database)
multithreaded server application 多线程服务器应用程序
multiuser 多用户
multi-tasking 多任务
multi-thread 多线程
multicast delegate 组播委托、多点委托
named parameter 命名参数
named pipe 命名管道
namespace 名字空间、命名空间
native 原生的、本地的
native code 本地码、本机码
Native Image Generator (NGEN)
Ⅳ 推荐如何系统的学习JAVA
如何系统学习java体系
学java首先要学 J2SE,它是java体系的基础,也是重中之重。很多人往往不重视基础,其实这是舍本逐末的做法。说这么多就是希望大家能重视基础,能在这条路上走的更远。
学j2se有下面几个目标:
1、你要能真正理解面向对象的优势,理解为什么不是面向过程。
2、掌握java语法基础。包括异常处理、多线程、网络编程、GUI编程等
3、如果你对swing不感兴趣,可以跳过它。
这一阶段结束后,你需要能独立写一个小游戏,比如坦克大战、俄罗斯方块、贪吃蛇等。
当你完成J2SE的学习之后,你就要开始学习java web了。
你需要掌握web基础知识:html、css、javascript、ajax、jQuery。
别怕,这些技术看起来很多,其实也没要你精通它们,只是要你能在用到它们的时候,能通过快速查阅相关文档,能正确使用它们。如果这一阶段顺利的话,你可能还用不到一个月。
学习servlet、jsp、jdbc。
这些是javaweb的基础,如果你自学有难度,可以在网上下载一些相关视频,帮助理解,降低学习难度曲线。
当你完成上一阶段的学习后,你就可以进入J2EE的阶段了。
这一阶段,你可能会见到很多各种各样的框架,会让你眼花缭乱,头晕目眩。不过别担心,你只需要学习三个就足够了。它们是struts2、hibernate、spring。这些框架为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。
首先你需要学习三个框架的基本配置和使用,直到你能熟练搭建一个ssh项目。
如果学有余力,你可以深入学习这些框架的设计模式。
学习完三大框架之后,其实你学的已经足够多了。如果对移动应用的开发感兴趣,你可以接着学习安卓开发。安卓开发不需要其他知识,只要你j2se学的不错,学安卓开发对你就没太大难度了。