JAVA基础及规范学习笔记
JAVA基础及规范学习笔记
一、代码编写规范
- 优势
- 促进团队合作
- 减少bug的处理
- 减低维护成本
- 有助于代码审查
- 规则
- 数据库操作
数据库操作、IO操作等需要使用结束close()的对象必须在try-catch-finally的finally中close(),如果有多个IO对象需要close(),需要分别对每个对象的close()方法进行try-catch,防止一个IO对象关闭失败其他IO对象都未关闭。 - 异常处理
记录日志、throws子句、Error继承异常、记录异常、异常数量、异常捕获。 - 优先级
- 数值表达式定义清晰
避免使用不易理解的数字,用有意义的标识来替代。 - 数组声明规则
数组声明的时候使用int[] index,而不是使用int index[]使程序的可读性差。 - 定义打印类调试代码
不使用System.out与System.err进行控制台打印,应该使用工具类(如:日志工具)进行统一记录或者打印。
说明:代码发布的时候可以统一关闭控制台打印,代码调试的时候又可以打开控制台打印,方便调试。 - 集合必须指定类型
为方便程序阅读,除去强制转化代码; - 数据类覆写Object的方法
数据类覆写通toString()、hashCode()、equals()->数据类的比较
父类如果实现了比较合理的toString(),子类可以继承不必再重写。 - 重复代码合并
- 及时释放内存空间
- 保持代码简洁易懂
- 性能与可靠性
- 等级先进行判断
- 数组复制使用System.arraycopy(*)
- 不要使用循环将集合转化为数组,可以使用 集合的toArray()方法
- 大量字符串的相加等于处理应该使用StringBuffer
- 对类中日志工具对象logger应声明为static
- 尽量使用JDK自带的API函数
- 参数不合法应该自动抛出RuntimeException
- IO操作流使用有Buffer功能的class
二、JAVA代码排版
- 代码排版的定义
代码排版主要指的是通过使用空行、空白字符,对当个源文件中代码组成元素进行空间布局,包括横/纵向空间布局。 - 规范排版的好处
- 可读性强
- 易于维护
- 容易纠错
- 节约成本
- 规范排版的方法
- 缩进要求
使用4个空格缩进
不使用TAB缩进 - 分行书写
分解符(如大括号‘{’和‘}’)应各独占一行
较长代码语句、表达式或参数要分成多行书写
短句分行书写,不允许把多个短语句写一行
判断符(如:if、for、do等)语句独占一行,判断符的执行语句无论多少都要加括号{} - 巧用空格
独立代码块见空格分割
对等操作符间空格隔开 - 同类相近
属性和方法尽量按同类顺序放置
关系较为紧密的代码尽可能相邻
三、JAVA基础语法
- 基础
- Java基本语法
严格区分大小写
自由格式的语言
注释
行注释//
分块注释/** * */
多行注释/ */ - Java语言规范
标识符:字母、数字、下划线、$,不以数字开头
保留字:已经定义过的字
- 数据类型
- 基本数据类型
数值型(整数类型、浮点类型)
字符型
布尔型 - 复合数据类型
- 隐式、显示数据类型
- 隐式数据类型:由系统自动完成的转化(小猫 推断出是 动物)
- 显示数据类型:转化后的范围比转化前的范围类型大,可能造成精度的丢失(动物 不能推断出移动是 小猫)
-
常量
用finally来定义,一旦赋值后不可修改。 -
变量
赋值后可修改。 -
Java语法
- 编码方式
只采用Unicode编码方式,在JVM内部,统一使用Unicode表示。 - 栈内存
栈中主要存放一些基本类型的变量数据(int、short、long、byte、float、double、boolean、char)和对象句柄(引用)。
- Java运算符
- 算数运算符:+、-、*、/、%
- 比较、条件运算:>、<、<=、>=、、=、!=
- 逻辑运算:&&、||、&、|
- 递增、递减运算:++、–
- 一元运算符:+(正)、-(负)、!(否)
- 结构化编程
- 顺序结构
- 选择结构
- 循环结构
四、JDKAPI文档
JDKAPI文档就是Java的新华字典,对于JDK中所有的Java包、类、接口、方法、变量的详细说明。
五、Servlet
- 网页
分静态页面和动态页面 - Servlet定义
- 一个Java提供的API接口,运行在Servlet容器上,负责动态生成Web。
- Java Servlet
- Java编写的服务端程序
- 主要功能是动态生成Web内容
3. Servlet引擎
- 一种容器程序(如:Tomcat和Weblogic)
- 管理Servlet生命周期
- 将请求转向指定的Servlet程序
- 完成客户端与服务器的数据交互
- Servlet接口方法
- getServletConfig()
- getServletInfo()
- init()
- service()
- destory()
- 生命周期
六、Servlet基于JDBC实现CRUD (增删改查)
CRUD是任何项目开发的最重要的应用程序,在Servlet中,可以轻松穿件CRUD应用程序。
CRUD:
- 增加(Create)
- 读取(Retrieve)
- 更新(Update)
- 删除(Delete)
diffmerage:文件比较