Java必背基础词汇

1、保留关键字(2个)const ——常量,常数:用于修改字段或局部变量的声明。goto——转到:指定跳转到标签,找到标签后,程序将处理从下一行开始的命令2、访问修饰符的关键字(3个)public (公有的):可跨包protected (受保护的):当前包内可用private (私有的):当前类可用3、定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(6个)class (类):public class A(){}花括号里是已实现的方法体,类名需要与文件名相同interface (接口):public interface B(){}花括号里有方法体,但没有实现,方法体句子后面是英文分号;结尾abstract (声明抽象):public abstract class C(){}介于类与接口中间,可以有,也可以没有已经实现的方法体implemenst (实现):用于类或接口,实现接口public class A interface B(){}extends (继承):用于类继承类public class A extends D(){}new (创建新对象):A a=new A();A表示一个类4、包的关键字(2个)import (引入包的关键字):当使用某个包的一些类时,仅需要类名,然后使用ctrl+shift+o或者选定类名(类或属性或方法)按住ctrl+单击,即可自动插入类所在的包package (定义包的关键字):将所有相关的类放在一个包类以便查找修改等5、数据类型的关键字(12个)byte (字节型):8bitchar (字节型):16bitboolean (布尔型):–short (短整型):16bitint (整型):32bitfloat (浮点型):32bitlong (长整型):64bitdouble (双精度):64bitvoid (无返回):public void A(){}其他需要反回的经常与return连用null (空值)true (真)false (假)6、条件循环(流程控制)(12个)if (如果) :if(条件语句{执行代码}如果条件语句成立,就开始执行{}里面的内容else (否则,或者) :常与if连用,用法相同:if(…){…}else{…}while (当什么时候):while(条件语句){执行代码}for(满足三个条件时):for(初始化循环变量;判断条件;循环变量值{}switch (选择结构):switch(表达式){case 常量表达式1:语句1;…case 常量表达式2;语句2;default:语句;}default就是如果没有匹配的case就执行它,default并不是必须的。case后的语句可以不用大括号。case (匹配switch的表达式里的结果) :同上default (默认): default就是如果没有匹配的case就执行它, default并不是必须的do (运行) :通长与while连用break (跳出循环):直接跳出循环,执行循环体后的代码continue (继续) : 中断本次循环,并开始下一轮循环return (返回) :返回方法指定类型的值或结束方法的执行instanceof(实例):一个二元操作符,和==、>、<是同一类的。测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据7、修饰方法、类、属性和变量(9个)static(静态的):属性和方法都可以用static修饰,直接使用类名、属性和方法名。只有内部类可以使用static关键字修饰,调用直接使用类名、内部类类名进行调用。static可以独立存在final(最终的不可被改变):方法和类都可用final来修饰;final修饰的类是不能被继承的;final修饰的方法是不能被子类重写。常量的定义:final修饰的属性就是常量super(调用父类的方法):常见public void paint(Graphics g){super.paint(g);…}this(当前类的父类的对象):调用当前类中的方法(表示调用这个方法的对象)this.addActionListener(al):等等native(本地)strictfp(严格,精准)synchronized(线程,同步):一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块transient(短暂)volatile(易失)8、错误处理(5个)catch(处理异常):(1)try+catch 程序流程是:运行到try块中,如果有异常抛出,则转到catch块去处理。然后执行catch块后面的语句(2)try+catch+finally 程序流程是:运行到try块中,如果有异常抛出,则转到catch垮,catch块执行完毕后,执行finally块的代码,再执行finally块后面的代码。如果没有异常抛出,执行完try块,也要去执行finally块的代码。然后执行finally块后面的语句(3)try+finally 程序流程是:运行到try块中,如果有异常抛出,则转到finally块的代码。try(捕获异常)finally(有没有异常都执行)throw(抛出一个异常对象):一些可以导致程序出问题,比如书写错误,逻辑错误或者是api的应用错误等等。为力防止程序的崩溃就要预先检测这些因素,所以java使用了异常这个机制在java中异常是靠“抛出” 也就是英语的“throw”来使用的,意思是如果发现到什么异常的时候就把错误信息“抛出”throws(声明一个异常可能被抛出):把异常交给他的上级管理,自己不进行异常处理9、其它(2个)enum(枚举,列举,型别)assert(断言)

二、常见缩写词JDK(Java Development Kit) java开发工具包JVM(Java Virtual Machine) java虚拟机OOP(object oriented programming) 面向对象编程JIT(just-in-time) 及时处理DLL(Dynamic Link Library)动态链接库Io(in out) 输入/输出JDK(JavaDevelopment Kit) Java开发工具JSP(Java Server Page) Java服务页JVM(Java VirtualMachine) Java虚拟机

三、常用的基础词java 解释命令Javac 编译命令Javadoc 生成java文档命令classpath 类路径switch 多路分支case 与常值匹配while 当到循环do 直到循环for 已知次数循环continue结束本次循环进行下次跌代Character(字符类)Integer(整型类)Letter (字母)Lower (小写)Upper (大写)Identifier (标识符)length (值)equals (等于)sub (提取)concat (连接)trim (整理)Buffer (缓冲器)reverse (颠倒)delete (删除)append (添加)Interrupted (中断的)

四、类相关词Object 对象String 字符串类System 系统类Class 类Class member 类成员Class method 类方法Class variable 类变量Constructor 构造方法Package 包Import package 导入包Extends 继承base class 基类Super class 超类Overloaded method 重载方法Overridden method 重写方法Public 公有Private 私有Protected 保护Static 静态Abstract 抽象Interface 接口Implements interface 实现接口

五、错误异常Exception 意外,异常RuntimeExcepiton 运行时异常ArithmeticException 算术异常IllegalArgumentException 非法数据异常ArrayIndexOutOfBoundsException 数组索引越界异常NullPointerException 空指针异常ClassNotFoundException 类无法加载异常(类不能找到)NumberFormatException 字符串到float类型转换异常(数字格式异常)IOException 输入输出异常FileNotFoundException 找不到文件异常EOFException 文件结束异常InterruptedException (线程)中断异常try 尝试catch 捕捉finally 最后throw 投、掷、抛throws 投、掷、抛print Stack Trace() 打印堆栈信息get Message() 获得错误消息get Cause() 获得异常原因method 方法able 能够instance 实例check 检查

六、文件相关File 文件import 导入exists 存在isFile 是文件isDirectory 是目录getName 获取名字getPath 获取路径getAbsolutePath 获取绝对路径lastModified 最后修改日期length 长度InputStream 输入流OutputStream 输出流Unicode 统一的字符编码标准, 采用双字节对字符进行编码Information 信息FileInputStream 文件输入流FileOutputStream文件输出流IOException 输入输出异常fileobject 文件对象available 可获取的read 读取write 写BufferedReader 缓冲区读取FileReader 文本文件读取BufferedWriter 缓冲区输出FileWriter 文本文件写出flush 清空close 关闭DataInputStream 二进制文件读取DataOutputStream二进制文件写出EOF(End Of File) 文件结束encoding 编码Remote 远程release 释放IDE相关词汇:Enterprise 企业版Developer 开发版Foundation 基础版Messages 消息格Structure 结构窗格Project 工程Files 文件Source 源代码Design 设计History 历史Doc 文档File 文件Edit 编辑Search 查找Refactor 要素View 视图Run 运行Tools 工具Window 窗口Help 帮助Vector 矢量addElement 添加内容Project Winzard 工程向导Step 步骤Title 标题Description 描述Copyright 版权Company 公司Aptech Limited Aptech有限公司author 作者Back 后退Finish 完成version 版本Debug 调试New 新建ErrorInsight 调试其它常见词:Date 日期,日子After 后来,后面Before 在前,以前Equals 相等,均等toString 转换为字符串SetTime 设置时间Display 显示,展示Calendar 日历Add 添加,增加GetInstance 获得实例getTime 获得时间Clear 扫除,清除Clone 克隆,复制Util 工具,龙套Components 成分,组成Month 月份Year 年,年岁Hour 小时,钟头Minute 分钟Second 秒Random 随意,任意Next Int 下一个整数Gaussian 高斯ArrayList 队列LinkedList 链表Hash 无用信息,杂乱信号Map 地图Vector 向量,矢量Size 大小Collection 收集Shuffle 混乱,洗牌RemoveFirst 移动至开头RemoveLast 移动至最后lastElement 最后的元素Capacity 容量,生产量Contains 包含,容纳Copy 副本,拷贝Search 搜索,查询InsertElementAt 插入元素在某一位置

七、Java必背英语单词Schedule [\’skedʒul] 表 清单Negative [\’negətiv] 否定的cursor / \’kɜ:sə / 指针comment / \’kɔment / 注释Compilation / kɔmpi\’leɪʃən / 编辑Scriptlet 小脚本declaration / deklə\’reiʃən / 声明directive / dɪ\’rektɪv / 指示Invert [in\’və:t] 使转位 倒转diamond: [\’daiəmənd] 菱形parameter / pə\’ræmitə / 参数Quantity / \’kwɔntiti / 量,数量Decimal / \’desiməl / 十进制的,小数的Validate / \’vælɪ,deɪt / 确认,验证Invalidate / ɪn\’vælɪ,deɪt / 使无效Trim [trim] 切除 修改 缩减Concatenate [kɔn\’kætineit] 使连锁 连成一串 使连接Buffer [\’bʌfə] 缓冲储存器OOP object-oriented programming 面向对象编程JDK Java development kit java开发工具包JVM java virtual machine java虚拟机Compile 编绎member-variable 成员变量member-function 成员函数Access 访问Throw 抛出Throws (投掷)表示强制异常处理Throwable (可抛出的)表示所有异常类的祖先类ArithmeticException /mətic/ 算术异常ArrayIndexOutOfBoundsException 数组下标越界异常PopupMenu 弹出菜单Jdbc java database connectivity java数据库连接DriverManager 驱动管理器Statement 表示执行对象Preparedstatement:表示预执行对象Resultset:结果集executeQuery:执行查询

File:文件

New:新建

Reopen:重新打开

Close projects:关闭项目

Combobox:复选框

Event:事件

Mouse:鼠标

Key:键

Focus:焦点

Listener:监听

Border:边界

Flow:流

Grid:网格

form:表单

action:行动(提交的路径)

method:方法(提交的方式)

input:输入

type:类型

name:名称(元素名称)

value:值(输入项的内容)

size:大小(可以是文字字体的大小,也可以是输入框的宽度)

checked:被选中

readonly:只读

disabled:不可用的

maxlength:最大长度(输入框可以输入的最大长度)

pink:粉红色

gold:金黄色

gray:灰色

blue:蓝色

red:红色

yellow:黄色

black:黑色

white:白色

background-color:背景颜色

border:边框

margin:外边距

padding:内边距

element:元素

top:顶部

bottom:底部

product:产品,商品

header:头部信息

menu:菜单

show:显示

father:父亲

big:大的

small:小的

document:文档

check:检查

change:改变

init:初始化

history:历史

alert:警告框

confirm:确认框

prompt:输入框

function:功能(函数)

click:点击

back:返回

tips:提示

info:信息

onfocus:聚焦

find:查找

after(content | fn) 后来,以后(外部追加,在content后面追加)

function:功能(函数)

click:点击

back:返回

tips:提示

info:信息

onfocus:聚焦

onblur:离焦

location:位置

screen:屏幕

navigator:导航(浏览器相关信息)

onmouseover:鼠标移入

onmouseout:鼠标移出

attribute:属性

node:节点

document:文档

element:元素

textNode:文本节点

append:追加

Compatible:兼容性

viewport:视口

device:设备

initial:初始化(缩写init)

Template:模板

scale:缩放

preparedStatement:预编译声明

distinct:(去掉重复)

count:计数

connector:连接器

register:注册,登记

driver:驱动器

database:数据库

start:开始

insert:插入

unique:唯一

category:分类

truncate:摧毁(彻底删除表)

resultSet:结果集

Author: frank

Date: April 24, 2016

OO: object-oriented ,面向对象 OOP: object-oriented programming,面向对象编程

JDK: Java development kit, java开发工具包 JVM: java virtual machine ,java虚拟机

Compile:编译 Run:运行 Class:类 Object:对象

System:系统 out:输出 print:打印 line:行

variable:变量 type:类型 operation:操作,运算 array:数组 parameter:参数

method:方法 function:函数 member-variable:成员变量 member-function:成员函数

get:得到 set:设置 public:公有的 private:私有的 protected:受保护的

default:默认 access:访问 package:包 import:导入 static:静态的

void:无(返回类型)

extends:继承 parent class:父类 base class:基类 super class:超类

child class:子类 derived class:派生类 override:重写,覆盖 overload:重载

final:最终的,不能改变的 abstract:抽象 interface:接口 implements:实现

exception:异常 Runtime:运行时 Arithmetic Exception:算术异常

Array Index Out Of Bounds Exception:数组下标越界异常 Null Pointer Exception:空引用异常

Class Not Found Exception:类没有发现异常

Number Format Exception:数字格式异常(字符串不能转化为数字)

Try:尝试 Catch:捕捉 Finally:最后 Throw:抛出

Throws: (投掷)表示强制异常处理 Throwable: (可抛出的)表示所有异常类的祖先类

Lang: language, 语言 Util: 工具 Display:显示 Random:随机

Collection:集合 ArrayList:(数组列表)表示动态数组 HashMap: 散列表,哈希表

Swing:轻巧的 Awt:abstract window toolkit:抽象窗口工具包

Frame:窗体 Size:尺寸 Title:标题 Add:添加

Panel:面板 Layout:布局 Scroll:滚动 Vertical:垂直

Horizonatal:水平 Label:标签 TextField:文本框

TextArea:文本雨 Button:按钮 Checkbox:复选框

Radiobutton:单选按钮 Combobox:复选框 Event:事件 Mouse:鼠标 Key:键

Focus:焦点 Listener:监听

Border:边界 Flow:流 Grid:网格 MenuBar:菜单栏

Menu:菜单 MenuItem:菜单项 PopupMenu:弹出菜单

Dialog:对话框 Message:消息 Icon:图标

Tree:树 Node:节点

Jdbc:java database connectivity,java数据库连接

DriverManager:驱动管理器 Connection:连接 Statement:表示执行对象

Preparedstatement:表示预执行对象 Resultset:结果集

Next:下一个 Close:关闭 executeQuery:执行查询

Jbuilder中常用英文(共33个)

File:文件 New:新建 New Project:新建项目 New Class: 新建类

New File:新建文件 Open project:打开项目 Open file:打开文件

Reopen:重新打开 Close projects:关闭项目

Close all except…:除了..全部关闭 Rename:重命名 Exit:退出

View:视图

Panes:面板组 Project:项目 Content:内容 Structure:结构

Message:消息 Source:源文件 Bean:豆子 Properties:属性

Make:编绎 Build:编绎 Rebuild:重编绎 Refresh:刷新

Project properties:项目属性 Default project properties:默认的项目属性

Run:运行 Debug:调试 Tools:工具 Preferences:参数配置

Configure:配置 Libraries:库

JSP中常用英文

URL: Universal Resource Location:统一资源定位符

IE: Internet Explorer 因特网浏览器

JSP:java server page.java服务器页面

Model:模型

View:视图

C:controller:控制器

Tomcat:一种jsp的web服务器

WebModule:web模块

Servlet:小服务程序

Request:请求

Response:响应

Init: initialize,初始化

Service:服务

Destroy:销毁

Startup:启动

Mapping:映射

pattern:模式

Getparameter:获取参数

Session:会话

Application:应用程序

Context:上下文

redirect:重定向

dispatch:分发

forward:转交

setAttribute:设置属性

getAttribute:获取属性

page:页面

contentType:内容类型

charset:字符集

include:包含

tag:标签

taglib:标签库

EL:expression language,表达式语言

Scope:作用域

Empty:空

JSTL:java standard tag library,java标准标签库

TLD:taglib description,标签库描述符

Core:核心

Test:测试

Foreach:表示循环

Var:variable,变量

Status:状态

Items:项目集合

Fmt:format,格式化

Filter:过滤

报错英文

第一章:

JDK(Java Development Kit) java开发工具包

JVM(Java Virtual Machine) java虚拟机

Javac 编译命令

java 解释命令

Javadoc 生成java文档命令

classpath 类路径

Version 版本

author 作者

public 公共的

class 类

static 静态的

void 没有返回值

String 字符串类

System 系统类

out 输出

print 同行打印

println 换行打印

JIT(just-in-time) 及时处理

第二章:

byte 字节

char 字符

boolean 布尔

short 短整型

int 整形

long 长整形

float 浮点类型

double 双精度

if 如果

else 否则

switch 多路分支

case 与常值匹配

break 终止

default 默认

while 当到循环

do 直到循环

for 已知次数循环

continue结束本次循环进行下次跌代

length 获取数组元素个数

第三章:

OOP object oriented programming 面向对象编程

Object 对象

Class 类

Class member 类成员

Class method 类方法

Class variable 类变量

Constructor 构造方法

Package 包

Import package 导入包

第四章:

Extends 继承

Base class 基类

Super class 超类

Overloaded method 重载方法

Overridden method 重写方法

Public 公有

Private 私有

Protected 保护

Static 静态

Abstract 抽象

Interface 接口

Implements interface 实现接口

第五章:

Exception 意外,异常

RuntimeExcepiton 运行时异常

ArithmeticException 算术异常

IllegalArgumentException 非法数据异常

ArrayIndexOutOfBoundsException 数组索引越界异常

NullPointerException 空指针异常

ClassNotFoundException 类无法加载异常(类不能找到)

NumberFormatException 字符串到float类型转换异常(数字格式异常)

IOException 输入输出异常

FileNotFoundException 找不到文件异常

EOFException 文件结束异常

InterruptedException (线程)中断异常

try 尝试

catch 捕捉

finally 最后

throw 投、掷、抛

throws 投、掷、抛

print Stack Trace() 打印堆栈信息

get Message() 获得错误消息

get Cause() 获得异常原因

method 方法

able 能够

instance 实例

check 检查

第六章:

byte(字节)

char(字符)

int(整型)

long(长整型)

float(浮点型)

double(双精度)

boolean(布尔)

short(短整型)

Byte (字节类)

Character (字符类)

Integer(整型类)

Long (长整型类)

Float(浮点型类)

Double (双精度类)

Boolean(布尔类)

Short (短整型类)

Digit (数字)

Letter (字母)

Lower (小写)

Upper (大写)

Space (空格)

Identifier (标识符)

Start (开始)

String (字符串)

length (值)

equals (等于)

Ignore (忽略)

compare (比较)

sub (提取)

concat (连接)

replace (替换)

trim (整理)

Buffer (缓冲器)

reverse (颠倒)

delete (删除)

append (添加)

Interrupted (中断的)

第七章:

Date 日期,日子

After 后来,后面

Before 在前,以前

Equals 相等,均等

toString 转换为字符串

SetTime 设置时间

Display 显示,展示

Calendar 日历

Add 添加,增加

GetInstance 获得实例

getTime 获得时间

Clear 扫除,清除

Clone 克隆,复制

Util 工具,龙套

Components 成分,组成

Month 月份

Year 年,年岁

Hour 小时,钟头

Minute 分钟

Second 秒

Random 随意,任意

Next Int 下一个整数

Gaussian 高斯

ArrayList 对列

LinkedList 链表

Hash 无用信息,杂乱信号

Map 地图

Vector 向量,矢量

Size 大小

Collection 收集

Shuffle 混乱,洗牌

RemoveFirst 移动至开头

RemoveLast 移动至最后

lastElement 最后的元素

Capacity 容量,生产量

Contains 包含,容纳

Copy 副本,拷贝

Search 搜索,查询

InsertElementAt 插入元素在某一位置

第八章:

io->in out 输入/输出

File 文件

import 导入

exists 存在

isFile 是文件

isDirectory 是目录

getName 获取名字

getPath 获取路径

getAbsolutePath 获取绝对路径

lastModified 最后修改日期

length 长度

InputStream 输入流

OutputStream 输出流

Unicode 统一的字符编码标准, 采用双字节对字符进行编码

Information 信息

FileInputStream 文件输入流

FileOutputStream文件输出流

IOException 输入输出异常

fileobject 文件对象

available 可获取的

read 读取

write 写

BufferedReader 缓冲区读取

FileReader 文本文件读取

BufferedWriter 缓冲区输出

FileWriter 文本文件写出

flush 清空

close 关闭

DataInputStream 二进制文件读取

DataOutputStream二进制文件写出

EOF 最后

encoding 编码

Remote 远程

release 释放

第九章:

JBuider Java 集成开发环境(IDE)

Enterprise 企业版

Developer 开发版

Foundation 基础版

Messages 消息格

Structure 结构窗格

Project 工程

Files 文件

Source 源代码

Design 设计

History 历史

Doc 文档

File 文件

Edit 编辑

Search 查找

Refactor 要素

View 视图

Run 运行

Tools 工具

Window 窗口

Help 帮助

Vector 矢量

addElement 添加内容

Project Winzard 工程向导

Step 步骤

Title 标题

Description 描述

Copyright 版权

Company 公司

Aptech Limited Aptech有限公司

author 作者

Back 后退

Finish 完成

version 版本

Debug 调试

New 新建

ErrorInsight 调试

第十章:

JFrame 窗口框架

JPanel 面板

JScrollPane 滚动面板

title 标题

Dimension 尺寸

Component 组件

Swing JAVA轻量级组件

getContentPane 得到内容面板

LayoutManager 布局管理器

setVerticalScrollBarPolicy 设置垂直滚动条策略

AWT(Abstract Window Toolkit) 抽象窗口工具包

GUI (Graphical User Interface) 图形用户界面

VERTICAL_SCROLLEARAS_NEEDED 当内容大大面板出现滚动条

VERTICAL_SOROLLEARAS_ALWAYS 显示滚动条

VERTICAL_SOROLLEARAS_NEVER 不显示滚动条

JLabel 标签

Icon 图标

image 图象

LEFT 左对齐

RIGHT 右对齐

JTextField 单行文本

getColumns 得到列数

setLayout 设置布局

BorderLayout 边框布局

CENTER 居中对齐

JTextArea 多行文本

setFont 设置字体

setHorizontalAlignment 设置文本水平对齐方式

setDefaultCloseOperation 设置默认的关闭操作

add 增加

JButton 按钮

JCheckBox 复选框

JRadioButton单选按钮

addItem 增加列表项

getItemAt 得到位置的列表项

getItemCount 得到列表项个数

setRolloverIcon 当鼠标经过的图标

setSelectedIcon 当选择按钮的图标

getSelectedItem 得到选择的列表项

getSelectedIndex 得到选择的索引

ActionListener 按钮监听

ActionEvent 按钮事件

actionPerformed 按钮单击方法

abstract (关键字) 抽象

access vt.访问,存取 (n.入口,使用权)

algorithm n.算法

Annotation [java] 代码注释

anonymous adj.匿名的 (反义:directly adv.直接地,立即)

apply v.应用,适用

application n.应用,应用程序 (application crash 程序崩溃)

arbitrary a.任意的

argument n.参数;争论,论据 (缩写 args)

assert (关键字) 断言 \’ (java 1.4 之后成为关键字)

associate n.关联(同伴,伙伴)

attribute n.属性(品质,特征)

boolean (关键字) 逻辑的, 布尔型

call n.v.调用; 呼叫

circumstance n.事件(环境,状况)

crash n.崩溃,破碎

cohesion 内聚,黏聚,结合

(a class is designed with a single, well-focoused purpose. 应该不止这点)

command n. 命令,指令 (指挥, 控制) (command-line 命令行)

Comments [java] 文本注释

compile [java] v.编译 Compilation n.编辑

const (保留字)

constant n. 常量, 常数, 恒量

continue (关键字)

coupling 耦合,联结

making sure that classes know about other classes only through their APIs.

declare [java] 声明

default (关键字) 默认值; 缺省值

delimiter 定义符; 定界符

Encapsulation[java] 封装 (hiding implementation details)

Exception [java] 例外; 异常

entry n.登录项, 输入项, 条目

enum (关键字)

execute vt.执行

exhibit v.显示, 陈列

exist 存在, 发生 \'(SQL关键字 exists)

extends (关键字) 继承、扩展

false (关键字)

final (关键字) finally (关键字)

fragments 段落; 代码块

Generic [java] 泛型

goto (保留字) 跳转

heap n.堆

implements (关键字) 实现

import (关键字) 引入(进口,输入)

Info n.信息 (information )

Inheritance [java] 继承 (遗传,遗产)

initialize 预置 初始化

interface (关键字) 接口

invoke vt.调用 ( invocation)

Iterator [java] 迭代器, 迭代程序

legal 合法的

log n.日志,记录

native (关键字)

nested [java] 嵌套的] \’如:内部类(nested classes)

Object [java] 对象

Overload [java] 方法的重载(不同参数列表的同名方法)

Override [java] 方法的覆盖(覆盖父类的方法)

polymiorphism[java] 多态 (polymorphism 多形性)

allowing a single object to be seen as having many types.

principle n.原则,原理,主义

priority n. 优先级

process n. 程序, 进程

protected (关键字) 受保护的,私有的

provide v.规定(供应,准备,预防)

refer to v.引用

reference n. 参考(引用,涉及) –>reference variable 参量, 参考变量,引用变量

Reflection [java] 反射

script n.手写体,小型程序

serialized vt.序列化,串行化 (serializable adj.)(deserialize反序列化,反串行化)

Socket [java] 网络套接字

stack n.堆栈(对应 heap 堆)

statement 程序语句; 语句n. 陈述,指令

subclass n.子类\’ (supertype 父类)

switch (关键字) 选择语句。 n.开关,道岔

synchronized (关键字) 同步(锁)

Thread [java] 线程 [θred]

throw (关键字) throws (关键字) 抛出(异常)

transient (关键字) 瞬变;临时的 (可序列化)

valid 正确的,有效的

variable n.变量 a.可变的

volatile (关键字) 不稳定的

while (关键字) 循环语句。 当…的时候

abstract (关键字) 抽象

access vt.访问,存取 (n.入口,使用权)

algorithm n.算法

Annotation [java] 代码注释

anonymous adj.匿名的 (反义:directly adv.直接地,立即)

apply v.应用,适用

application n.应用,应用程序 (application crash 程序崩溃)

arbitrary a.任意的

argument n.参数;争论,论据 \'(缩写 args)

assert (关键字) 断言\’ (java 1.4 之后成为关键字)

associate n.关联(同伴,伙伴)

attribute n.属性(品质,特征)

call n.v.调用; 呼叫;

circumstance n.事件(环境,状况)

crash n.崩溃,破碎

cohesion 内聚,黏聚,结合

(a class is designed with a single, well-focoused purpose. 应该不止这点)

command n. 命令,指令(指挥, 控制) (command-line 命令行)

Comments [java] 文本注释

compile [java] v.编译 \’ Compilation n.编辑

const (保留字)

constant n. 常量, 常数, 恒量

continue (关键字)

coupling 耦合,联结

making sure that classes know about other classes only through their APIs.

declare [java] 声明

default (关键字) 默认值; 缺省值

delimiter 定义符; 定界符

Encapsulation[java] 封装 (hiding implementation details)

Exception [java] 例外; 异常

entry n.登录项, 输入项, 条目

enum (关键字)

execute vt.执行

exhibit v.显示, 陈列

exist 存在, 发生 \'(SQL关键字 exists)

extends (关键字) 继承、扩展

false (关键字)

final (关键字) finally (关键字)

fragments 段落; 代码块

Generic [java] 泛型

goto (保留字) 跳转

implements (关键字) 实现

Info n.信息 (information )

Inheritance [java] 继承(遗传,遗产)

initialize 预置 初始化 [i\’ni??laiz]

instanceof (关键字) 运算符,用于引用变量,以检查这个对象是否是某种类型。返回 boolean 值。

interface (关键字) 接口

invoke vt.调用 ( invocation])

Iterator [java] 迭代器, 迭代程序

legal 合法的

log n.日志,记录

native (关键字)

nested [java] 嵌套的\’如:内部类(nested classes)

Object [java] 对象

Overload [java] 方法的重载(不同参数列表的同名方法)

Override [java] 方法的覆盖(覆盖父类的方法)

polymiorphism[java] 多态 (polymorphism 多形性)

allowing a single object to be seen as having many types.

protected (关键字) 受保护的,私有的

provide v.规定(供应,准备,预防)

refer to v.引用

reference n. 参考(引用,涉及) –>reference variable 参量, 参考变量,引用变量

Reflection [java] 反射

script n.手写体,小型程序

serialized vt.序列化,串行化 (serializable adj.)(deserialize反序列化,反串行化)

Socket [java] 网络套接字

stack n.堆栈 (对应 heap 堆)

statement 程序语句; 语句\’ n. 陈述,指令

subclass n.子类 (supertype 父类)

switch (关键字) 选择语句。 n.开关,道岔

synchronized (关键字) 同步(锁)

Thread [java] 线程 [θred]

throw (关键字) throws (关键字)抛出(异常)

transient (关键字) 瞬变;临时的 (可序列化)

valid 正确的,有效的

variable n.变量 a.可变的

volatile (关键字) 不稳定的

while (关键字) 循环语句。 当…的时候

argument 参量 abstract 抽象ascent 提升 already 已经 AWT(Abstract Window Toolkit)抽象窗口工具 API(Application Programming Interface)应用程序接口

B. byte 字节 Boolean 布尔 banana香蕉 base 基础 buffer缓冲器 button 按钮 break 中断 body 身体

C. color 颜色 class 类 count 计数 client 客户 code 代码calculation 计算 cell 单元 circle圆 capital首都 catch捕获 check 检查 container容器 component 组件 command 命令 cube立方,三次方 char(=character)字符 cancel取消 case 情况 choice选择 click单击 center 中心 compile编译 clone克隆,复制 continue 继续 create建立

D. draw 绘图 data数据 demo 示例 DLL(Dynamic Link Library)动态链接库 document 文档 descent 继承 division 分裂,除法 define定义,说明 display显示

E. error 错误 extends 扩展 executed 执行 event 事件 enter 输入,回车键 exception 异常 except 除外 employee 雇员environment 环境 east 东方 equal 相等 Echo 重复

F. false 假的 float 单精度型 fruit 水果 file 文件 find 发现found 发现 field 域 final 终结的 friend 朋友 fill 填充 focus 焦点font 字体 factorial 阶乘

G. graphic 图像 grid 方格 GUI图形化用户接口 get 得到

H. host 主机 height 高度

I. init(=initialize)初始化 input 输入 implement 实现 instance 实例 io(=input/output)输出输入 interrupted 中断 int(=integer)整型 item元素 interface 接口 inner 内部的 import 导入 index 索引image 图像

J. Java 爪哇 JDK(Java Development Kit) Java开发工具 JSP(Java Server Page) Java服务页 JVM(Java Virtual Machine) Java虚拟机

K. Kit 工具

L. language 语言 loop 循环 long 长整型 label 标签 layout 布局 list 列表 listener 收听者

M. move 移动 menu 菜单 mode 模式 method 方法 metric 米的,公尺 motion 运动 manager 经理 main 主要的 msg(=message) 消息

N. new 新的 number 数字 north 北方 null 空的 native 本地的

O. override 过载 orange 橘子 output 输出 object 对象 out 外部的 oval 椭圆

P. public 公共的 protected 保护的 private 私有的 property 属性 point 点 price 价格 problem 问题 package 打包,包裹 print 打印 path 路径 po;ygon 多边形 program 程序 prompt 提示 parse 分析 press 按,压 panel 面板 paint 画

Q. q无

R. return 返回 runnable 可捕获的 radius 半径 round 环绕 release 释放 rect(=rectangle)长方形 radio 无线电 resolve 解析

S. short 短整型 south 南方的 string 字符串 static 静态的 system 系统 seed 种子 seasonal 季节的 set 设置 super 超级 square 平方,二次方 sub 替代的 screen 屏幕 sound声音 state 状态 salary 薪水 sleep 睡觉 size 大小,尺寸 start 开始 sort 排序 status 状态 synchronize 同步发生 switch 开关 stream 流 symbol 符号

T. true 真的 title 标题 type 类型 temp(=temporary)暂时的 throw 扔 thread 线程 temperate 温度 tool 工具 try 试图

U. undefined 未定义 UI(User Interface) 用户接口 update 更新 URL(Uniform Resource Locator) 统一资源定位器

V. volatile 挥发性 visible 不可见的 virtual 虚拟的 variable 变量 value 数值 void 无返回值的 volume 列 viewer 观察者 vector 矢量

● 我喜欢「式」:

constructor 建构式

declaration 宣告式

definition 定义式

destructor 解构式

expression 算式(运算式)

function 函式

pattern 范式、模式、样式

program 程式

signature 标记式(签名式/署名式)

● 我喜欢「件」:(这是个弹性非常大的可组合字)

assembly (装)配件

component 组件

construct 构件

control 控件

event 事件

hardware 硬件

object 物件

part 零件、部件

singleton 单件

software 软件

work 工件、机件

● 我喜欢「器」:

adapter 配接器

allocator 配置器

compiler 编译器

container 容器

iterator 迭代器

linker 连结器

listener 监听器

interpreter 直译器

translator 转译器/翻译器

● 我喜欢「别」:

class 类别

type 型别

● 我喜欢「化」:

generalized 泛化

specialized 特化

overloaded 多载化(重载)

● 我喜欢「型」:

polymorphism 多型

genericity 泛型

● 我喜欢「程」:

process 行程/进程(大陆用语)

thread 绪程/线程(大陆用语)

programming 编程

●英中繁简编程术语对照

英文 繁体译词

(有些是侯捷个人喜好,普及与否难说) 大陆惯用术语

—————————————————————————————

#define 定义 预定义

abstract 抽象的 抽象的

abstraction 抽象体、抽象物、抽象性 抽象体、抽象物、抽象性

access 存取、取用 存取、访问

access level 存取级别 访问级别

access function 存取函式 访问函数

activate 火化 激活

active 作用中的

adapter 配接器 适配器

address 位置 地址

address space 位址空间,定址空间

address-of operator 取址运算子 取地址操作符

aggregation 聚合

algorithm 演算法 算法

allocate 配置 分配

allocator (空间)配置器 分配器

application 应用程式 应用、应用程序

application framework 应用程式框架、应用框架 应用程序框架

architecture 架构、系统架构 体系结构

argument 引数(传给函式的值)。叁见 parameter 叁数、实质叁数、实叁、自变量

array 阵列 数组

arrow operator arrow(箭头)运算子 箭头操作符

assembly 装配件

assembly language 组合语言 汇编语言

assert(ion) 断言

assign 指派、指定、设值、赋值 赋值

assignment 指派、指定 赋值、分配

assignment operator 指派(赋值)运算子 = 赋值操作符

associated 相应的、相关的 相关的、关联、相应的

associative container 关联式容器(对应 sequential container) 关联式容器

atomic 不可分割的 原子的

attribute 属性 属性、特性

audio 音讯 音频

A.I. 人工智慧 人工智能

background 背景 背景(用於图形着色)

後台(用於行程)

backward compatible 回溯相容 向下兼容

bandwidth 频宽 带宽

base class 基础类别 基类

base type 基础型别 (等同於 base class)

batch 批次(意思是整批作业) 批处理

benefit 利益 收益

best viable function 最佳可行函式 最佳可行函式

(从 viable functions 中挑出的最佳吻合者)

binary search 二分搜寻法 二分查找

binary tree 二元树 二叉树

binary function 二元函式 双叁函数

binary operator 二元运算子 二元操作符

binding 系结 绑定

bit 位元 位

bit field 位元栏 ? 位域

bitmap 位元图 ? 位图

bitwise 以 bit 为单元逐一┅ ?

bitwise copy 以 bit 为单元进行复制;位元逐一复制 位拷贝

block 区块,区段 块、区块、语句块

boolean 布林值(真假值,true 或 false) 布尔值

border 边框、框线 边框

brace(curly brace) 大括弧、大括号 花括弧、花括号

bracket(square brakcet) 中括弧、中括号 方括弧、方括号

breakpoint 中断点 断点

build 建造、构筑、建置(MS 用语)

build-in 内建 内置

bus 汇流排 总线

business 商务,业务 业务

buttons 按钮 按钮

byte 位元组(由 8 bits 组成) 字节

cache 快去 高速缓存

call 呼叫、叫用 调用

callback 回忆 回调

call operator call(函式呼叫)运算子 () 调用操作符

(同 function call operator)

candidate function 候选函式 候选函数

(在函式多载决议程序中出现的候选函式)

chain 串链(例 chain of function calls) 链

character 字元 字符

check box 核取方块 (i.e. check button) 复选框

checked exception 可控式异常(Java)

check button 方牛 (i.e. check box) 复选按钮

child class 子类别(或称为derived class, subtype) 子类

class 类别 类

class body 类别本体 类体 ?

class declaration 类别宣告、类别宣告式 类声明

class definition 类别定义、类别定义式 类定义

class derivation list 类别衍化列 类继承列表

class head 类别表头 类头 ?

class hierarchy 类别继承体系, 类别阶层 类层次体系

class library 类别程式库、类别库 类库

class template 类别模板、类别范本 类模板

class template partial specializations

类别模板偏特化 类模板部分特化

class template specializations

类别模板特化 类模板特化

cleanup 清理、善後 清理、清除

client 客端、客户端、客户 客户

client-server 主从架构 客户/服务器

clipboard 剪贴簿 剪贴板

转载地址:https://zhuanlan.zhihu.com/p/365229569

100条必背JAVA知识点,你都掌握了吗?(上)

为了便于大家学习,本文整理分享一下100条初学者必背的Java知识点。由于篇幅过长,首先分享前50条,干货满满,建议先收藏哦~

1.编写:编写的Java代码保存在以“.java”结尾的源文件中。

2.编译:使用javac.exe命令编译java源文件,生成字节码文件。格式:javac 源文件名.java

3.运行:使用java.exe命令解释运行字节码文件。格式:java 类名

4.在一个java源文件中可以声明多个class,但是只能最多有一个类声明为public,而且被声明为public的类的类名必须与源文件名相同。

5.java关键字中所有字母都为小写

6.Java中的名称命名规范:包名:多单词组成时所有字母都小写:xxxyyyzzz 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

7.字符串是属于一个类,属于引用数据类型

8.在类体内,在方法体外声明的变量称为成员变量。

9.在方法体内部声明的变量称为局部变量。局部变量除形参外,需显式初始化才能使用。(形参也是局部变量)

10.java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’。

11.Java的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。

12.Java中的所有字符都使用Unicode编码,一个字符可以存储一个字母,一个汉字,所以java中char类型是两个字节。

13.boolean类型数据只允许取值true和false,无null。不可以使用0或非 0 的整数替代false和true。Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的 boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false 用0表示。

14.虽然long类型是8个字节,float是4个字节,但是float类型采用科学计数法存储,所以float类型的存储范围比long类型更大。

15.自动类型转换:容量小的类型自动转换为容量大的数据类型。byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

16.强制类型转换:将容量大的数据类型转换为容量小的数据类型,但可能造成精度降低或溢出。

17.字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。

18.计算机底层都以二进制补码的方式来存储数据。

19.正数(最高位是0)的原码、反码、补码都相同,负数(最高位是1)的补码是其反码+1。

20.赋值运算符:= += -= *= /= %=,运算的结果不会改变变量本身的数据类型。short i = i + 1;由于常量“1”默认是int型的,所以编译会报错,使用short i += 1,则做到了+1的作用,也没有改变数据类型。

21.&与&&、| 与 | | 的区别:&&、| | 具备短路功能,左边的条件成立或者不成立,右边的条件不用再判断,&、| 不管什么情况,都要把所有条件判断完。

22.位运算:位运算符操作的都是整型的数据。(左移运算符)<< :在一定范围内,每向左移1位,相当于 * 2(右移运算符)>> :在一定范围内,每向右移1位,相当于 / 2

23.流程控制:顺序结构:程序从上到下执行。分支结构:if – else、switch-case循环结构:for、while、do-while

24.数组属于引用数据类型变量,但是数组的元素既可以是基本数据类型,也可以是引用数据类型。

25.数组的长度一旦确定就不能修改,初始化完成,长度就定了。

26.数组静态初始化:数组元素的初始化和数组元素的赋值同时进行。例如:int a[ ] = new int [ ] { 1,2,3 };

27.数组动态初始化:数组元素的初始化和数组元素的赋值分开进行。例如:int b[ ] = new int [5]; b[0] = 1 ;

28.数组元素的默认初始化值:整型:0浮点型:0.0字符型:0或者’\\u0000’,而非’0’布尔类型:false引用数据类型:null

29.关键字 break、continue 可以带标签使用(类似于C语言的goto语句)break label;//结束指定标识的一层循环结构。continue label;//结束指定标识的一层循环结构当次循环。

30.面向对象vs面向过程面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

31.面向对象中两个重要的概念:类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)

32.虚拟机栈,即为平时提到的栈结构。局部变量存储在栈结构中;new出来的结构(比如:数组、对象)加载在堆空间中。

补充:对象的属性(非static的成员变量)也是加载在堆空间中。int arr [ ] = new arr [ ],以等号“=”为界,左边是局部变量存放在栈,右边是new 的机构,存放在堆中。

方法区:类的加载信息、常量池、静态域

33.“属性”与“变量”的区别:

① 在类中声明的位置的不同属性:

直接定义在类的一对{}内。局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量。

② 关于权限修饰符的不同属性:

可以在声明属性时,指明其权限,使用权限修饰符。常用的权限修饰符:private、public、缺省、protected —>体现为封装性。局部变量:不可以使用权限修饰符。

③ 默认初始化值的情况属性:

类的属性,根据其类型,都默认初始化值。整型(byte、short、int、long:0)、浮点型(float、double:0.0)、字符型(char:0 (或’\\u0000’))、布尔型(boolean:false)、引用数据类型(类、数组、接口:null)局部变量:没默认初始化值。意味着,我们在调用局部变量之前,一定要显式赋值。特别地:形参在调用时,我们赋值即可。

④在内存中加载的位置属性:

加载到堆空间中 (非static)。局部变量:加载到栈空间。

34.如果方法没返回值,“return;”表示结束此方法的意思。

35.封装性思想具体的代码体现:

36.权限修饰符的范围:

37.4种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类。修饰类的话,只能使用:缺省、public。

38.如果没显式的定义类的构造器的话,则系统默认提供一个空参的构造器。

39.一个类中定义的多个构造器,彼此构成重载。

40.一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器。

41.一个类中,至少会有一个构造器。

42.this可以理解为:当前对象或当前正在创建的对象。

43.可以显式的使用\”this(形参列表)\”方式,调用本类中指定的其他构造器,但是构造器中不能通过\”this(形参列表)\”方式调用自己(死循环)。

44.规定:\”this(形参列表)“必须声明在当前构造器的首行,可以推出构造器内部,最多只能声明一个\”this(形参列表)”,用来调用其他的构造器。

45.如果使用的类或接口是java.lang包下定义的,则可以省略import结构。使用\”xxx.*\”方式表明可以调用xxx包下的所有结构。但是如果使用的是xxx子包下的结构,则仍需要显式导入。

46.一个类可以被多个子类继承(一个爸爸可以有多个儿子),但是一个类只能有一个父类(一个儿子只能有一个亲生爸爸)

47.子类继承父类以后有哪些不同?一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然是获取了父类中私的结构,只因为封装性(private权限修饰符)的影响,使得子类不能直接调用父类的结构而已。子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。

48.子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类。子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法。

49.如果没有显式的声明一个类的父类的话,则此类继承于java.lang.Object类。

50.方法的重写(override 或 overwrite)。

子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作。

选Python还是选Java?2020年,顶尖程序员最应该掌握的7种编程语言

选自Medium

作者:Claire D

机器之心编译

参与:李诗萌、蛋酱

哪种编程语言最好?这个问题可能永远不会有答案。萝卜白菜,各有所爱,AI 工程师和科学家可以根据项目需要,从众多编程语言中选择最适合自己的。

有人曾经将编程比作做菜,那编程语言就是首先要准备的食材或厨具。

C:一把菜刀一口炒锅,一个很好用的灶,隔壁有个菜市场。Java:碎菜器,切菜机,绞肉机,和面机,烤箱,微波炉……Python:大超市的速冻柜台,要成品有成品,要半成品有半成品,什么都有。它能让你快速获得一桌还能吃的饭,但是深究口味火候什么的不那么容易。C++:一套顶级厨具,光刀就十几把,切肉的切片的雕花的;锅有爆炒的闷烧的平底煎肉的煎蛋的炖汤的……有人试图用二十一天掌握这套工具的用法,结果往往是玩刀伤了自己,或者是炸了厨房。

选自知乎用户:https://www.zhihu.com/question/284549387/answer/451018336

尽管在刚开始开发 AI 时,有很多编程语言都可以满足你的需求,但没有一种编程语言是可以一站式解决 AI 编程的问题,因为在每一个项目中,不同的目标需要特定的方法。和做菜时的精挑细选一样,在成为一个「高手」的过程中,我们要学会的是找到最适合自己的编程语言。Python

Python 是可读的最强大的语言。—Pau Dubois

Python 编程。图源:Unsplash。Python 开发于 1991 年,一项民意调查表明,在开发 AI 时,超过 57% 的开发者将 Python 作为首选编程语言,而不是 C++。因为易于学习,Python 让程序员和数据科学家可以更轻松地进入开发 AI 的世界。

Python 是一个程序员需要多少自由度的「实验」。太自由,没人可以读懂别人的代码;太不自由,就会没那么强的表现力。—Guido van Rossum

使用 Python,你不仅可以获得优秀的社区支持和广泛的库集,还能享受到其灵活性。你从 Python 中得到的最大的好处可能是平立性和针对深度学习和机器学习的广泛框架。

用 Python 编码的乐趣在于可以看到短小精悍、可读性高的类,这些类可以用少量清晰的代码表达大量行为(而不是用大量代码烦死读者)。——Guido van Rossum

Python 代码片段示例:

Python 代码段落示例。常用的库

  • TensorFlow——用于机器学习工作负载和用数据集处理;
  • scikit-learn——训练机器学习模型;
  • PyTorch——计算机视觉和自然语言处理;
  • Keras——高度复杂性的数学计算和操作的代码接口;
  • SparkMLib——类似 Apache Spark 的机器学习库,通过算法和实用程序等工具,让每一个人都能轻松地进行机器学习;
  • MXNet——Apache 的另一个库,可以简化深度学习流程;
  • Theano——定义、优化和评价数学表达式的库;
  • Pybrain——用于强大的机器学习算法。

另外,根据 GitHub 库的贡献度,Python 已经超越了 Java,成为世界第二受欢迎的语言。Stack Overflow 将 Python 称为「成长最快」的主流编程语言。

Python 入门课程

  • 《三门免费的 Python 入门课程:2020 版》

课程链接:https://hackernoon.com/3-free-python-courses-for-beginners-2020-edition-j7c23y3u

  • 《完整 Python 训练营:用 Python 3 从小白到大师》

课程链接:https://www.udemy.com/course/complete-python-bootcamp/?LSNPUBID=JVFxdTr9V80&ranEAID=JVFxdTr9V80&ranMID=39197&ranSiteID=JVFxdTr9V80-lB6TwxSdouentAk36.qjmwJava

编写一次,随时运行。

Java 被公认为世界上最好的编程语言之一,它在过去 20 年间的使用情况就是最好的证明。凭借其用户友好度、灵活的特性以及平立性,Java 以各种方式参与到了 AI 的开发中,比如:

  • TensorFlow——TensorFlow 支持的编程语言中也列出了带有 API 的 Java。虽然不像其他完全支持的语言那样功能丰富,但确实支持 Java,并且在迅速地改进。
  • Deep Java Library(深度 Java 库)——亚马逊开发的、用 Java 来创建并部署深度学习能力的库。
  • Kubeflow——Kubeflow 使在 Kubernetes 上部署和管理机器学习堆栈更容易,还提供了现成的 ML 解决方案。
  • OpenNLP——Apache 的 OpenNLP 是用于自然语言处理的机器学习工具。
  • Java Machine Learning Library(Java 机器学习库)——Java-ML 为开发者提供了多种机器学习算法。
  • Neuroph——Neuroph 借助 Neuroph GUI,利用 Java 开源框架设计了神经网络。

如果 Java 可以垃圾回收,大多数程序都会在执行时删除自己。——Robert Sewell

Java 代码片段示例:

Java 代码段示例。Java 入门课程

  • 《五大在线 Java 编程入门课程——最好的》

课程链接:https://javarevisited.blogspot.com/2018/05/top-5-java-courses-for-beginners-to-learn-online.htmlRRoss Ihaka 和 Robert Gentleman 在 1995 年发布了第一版 R 语言。现在由 R 开发核心队伍维护,R 是 S 编程语言的实现,用于统计软件的开发和数据的分析。R 的基础特征是善于处理大量数据,相比 Python 中不够完善的 NumPy 包,R 是更好的选择;你可以用 R 处理各种不同的编程范式,比如函数式编程、矢量计算和面向对象编程等。R 适用的 AI 编程包:

  • Gmodels——提供了一系列拟合模型用的工具;
  • Tm——文本挖掘应用的框架;
  • RODBC——R 的 ODBC 接口;
  • OneR——用来实现单规则机器学习分类算法,适用于机器学习模型。

在数据挖掘者和统计学家中,广泛使用的 R 的功能有:

  • 多种用于扩展功能的库和包;
  • 活跃的支持社区;
  • 能和 C、C++ 和 Fortran 协同工作;
  • 多个有助于扩展功能的包;
  • 支持生成高质量的图形。

Prolog逻辑编程(Logic Programming)的简称。Prolog 最早出现在 1972 年,适用于开发人工智能,尤其是自然语言处理。Prolog 最适合创建聊天机器人,ELIZA 是有史以来第一个用 Prolog 创建的聊天机器人。

第一个成功的聊天机器人。为了理解 Prolog,你必须熟悉一些指导 Prolog 工作的基本术语:

  • 事实(Fact)定义了正确的陈述;
  • 规则(Rule)定义了有附加条件的陈述;
  • 目标(Goal)根据知识库定义了提交陈述的位置;
  • 查询(Query)定义了如何使你的陈述正确,以及对事实和规则的最终分析。

Prolog 提供了两种实现 AI 的方法,这两种方法已经实现很久了,并且在数据科学家和研究人员中广为人知:

  • 符号方法包括基于规则的专家系统、定理证明和基于约束的方法;
  • 统计方法包括神经网络、数据挖掘、机器学习以及其他方法。

Lisp

用 Lisp 编码创建有 n 个输入 m 个单元的一层感知机。列表处理(List Processing)的简称。这是继 Fortran 后第二古老的编程语言。也被称作 AI 的奠基语言之一,由 John McCarthy 与 1958 年创建。

Lisp 是用来实现不可能的语言。——Kent Pitman

Lisp 是可以编程的实用数学符号,很快就成为了开发人员首选的 AI 编程语言。Lisp 因为其特有的功能,成为机器学习 AI 项目的最佳选择之一:

  • 快速创建原型;
  • 创建动态对象;
  • 垃圾回收;
  • 灵活性。

随着其他竞争的编程语言的重大改进,其他语言集成了 Lisp 特有的一些功能。涉及到 Lisp 的著名项目有 Reddit 和 HackerNews。

说到 Lisp,这是世界上最美的语言——至少在 Haskell 出现之前是这样。——Larry Wall

HaskellHaskell 创建于 1990 年,以著名数学家 Haskell Brooks Curry 的名字命名。Haskell 是纯粹的函数式和静态类型的编程语言,与惰性计算和短代码配合使用。Haskell 是一种非常安全的编程语言,因为和其他编程语言相比,Haskell 很少出现错误,所以在处理错误方面提供了更大的灵活性。即便发生了错误,也可以在编译(而非运行)时捕获大多数非语法错误。Haskell 提供的功能包括:

  • 强大的抽象能力;
  • 内置的内存管理;
  • 代码的可重用性;
  • 易于理解。

SQL、Lisp 和 Haskell 是我所见过的唯一可以把时间花在思考而不是打字上的编程语言。——Philip GreenspunHaskell 的功能有助于提高程序员的生产率。Haskell 与其他编程语言非常相似,但只有一小部分开发人员使用。撇开挑战不谈,随着开发者社区使用率的增加,可以证明 Haskell 和其他用于 AI 的竞争语言一样出色。

JuliaJulia 是一种高性能的通用动态编程语言,可以创建几乎任何应用,但最适合进行数值分析和计算科学。和 Julia 一起使用的工具还包括:

  • 像 Vim 和 Emacs 这样流行的编辑器;
  • 像 Juno 和 Visual Studio 这样的 IDE。

Julia 源代码组织。Julia 中有一些功能使其成为 AI 编程、机器学习、统计和数据建模的重要选择,这些功能有:

  • 动态类型系统;
  • 内置的包管理器;
  • 能够进行并行和分布式计算;
  • 宏和元编程能力;
  • 支持多分派;
  • 直接支持 C 函数。

Julia 是为了消除其他编程语言的弱点而构建的,和其他工具(如 TensorFlow.jl、MLBase.jl 和 MXNet.jl)集成后还可以用于机器学习,利用 Julia 的可伸缩性还可以做更多事。

谷歌趋势——Julia 的使用趋势。总结AI 工程师和科学家可以根据项目的需求,从多种编程语言中进行选择。每一种 AI 编程语言都有优缺点。随着这些语言的不断改进,AI 开发很快就可以有更舒适的体验,这样就会有更多人加入这一创新浪潮。出色的社区支持使新人们可以更好地工作,社区对包和扩展的贡献让每个人的工作都变得更加轻松。参考链接:https://towardsdatascience.com/top-programming-languages-for-ai-engineers-in-2020-33a9f16a80b0

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。