JAVA基础及规范学习笔记

JAVA基础及规范学习笔记

一、代码编写规范

  1. 优势
  • 促进团队合作
  • 减少bug的处理
  • 减低维护成本
  • 有助于代码审查
  1. 规则
  • 数据库操作
    数据库操作、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(),子类可以继承不必再重写。
  • 重复代码合并
  • 及时释放内存空间
  • 保持代码简洁易懂
  1. 性能与可靠性
  • 等级先进行判断
  • 数组复制使用System.arraycopy(*)
  • 不要使用循环将集合转化为数组,可以使用 集合的toArray()方法
  • 大量字符串的相加等于处理应该使用StringBuffer
  • 对类中日志工具对象logger应声明为static
  • 尽量使用JDK自带的API函数
  • 参数不合法应该自动抛出RuntimeException
  • IO操作流使用有Buffer功能的class

二、JAVA代码排版

  1. 代码排版的定义
    代码排版主要指的是通过使用空行、空白字符,对当个源文件中代码组成元素进行空间布局,包括横/纵向空间布局。
  2. 规范排版的好处
  • 可读性强
  • 易于维护
  • 容易纠错
  • 节约成本
  1. 规范排版的方法
  • 缩进要求
    使用4个空格缩进
    不使用TAB缩进
  • 分行书写
    分解符(如大括号‘{’和‘}’)应各独占一行
    较长代码语句、表达式或参数要分成多行书写
    短句分行书写,不允许把多个短语句写一行
    判断符(如:if、for、do等)语句独占一行,判断符的执行语句无论多少都要加括号{}
  • 巧用空格
    独立代码块见空格分割
    对等操作符间空格隔开
  • 同类相近
    属性和方法尽量按同类顺序放置
    关系较为紧密的代码尽可能相邻

三、JAVA基础语法

  1. 基础
  • Java基本语法
    严格区分大小写
    自由格式的语言
    注释
    行注释//
    分块注释/** * */
    多行注释/
    */
  • Java语言规范
    标识符:字母、数字、下划线、$,不以数字开头
    保留字:已经定义过的字
  1. 数据类型
  • 基本数据类型
    数值型(整数类型、浮点类型)
    字符型
    布尔型
  • 复合数据类型
  1. 隐式、显示数据类型
  • 隐式数据类型:由系统自动完成的转化(小猫 推断出是 动物)
  • 显示数据类型:转化后的范围比转化前的范围类型大,可能造成精度的丢失(动物 不能推断出移动是 小猫)
  1. 常量
    用finally来定义,一旦赋值后不可修改。

  2. 变量
    赋值后可修改。

  3. Java语法

  • 编码方式
    只采用Unicode编码方式,在JVM内部,统一使用Unicode表示。
  • 栈内存
    栈中主要存放一些基本类型的变量数据(int、short、long、byte、float、double、boolean、char)和对象句柄(引用)。
  1. Java运算符
  • 算数运算符:+、-、*、/、%
  • 比较、条件运算:>、<、<=、>=、=、!=
  • 逻辑运算:&&、||、&、|
  • 递增、递减运算:++、–
  • 一元运算符:+(正)、-(负)、!(否)
  1. 结构化编程
  • 顺序结构
  • 选择结构
  • 循环结构

四、JDKAPI文档
JDKAPI文档就是Java的新华字典,对于JDK中所有的Java包、类、接口、方法、变量的详细说明。

五、Servlet

  1. 网页
    分静态页面和动态页面
  2. Servlet定义
  • 一个Java提供的API接口,运行在Servlet容器上,负责动态生成Web。
  • Java Servlet
  • Java编写的服务端程序
  • 主要功能是动态生成Web内容
    JAVA基础及规范学习笔记3. Servlet引擎
  • 一种容器程序(如:Tomcat和Weblogic)
  • 管理Servlet生命周期
  • 将请求转向指定的Servlet程序
  • 完成客户端与服务器的数据交互
  1. Servlet接口方法
  • getServletConfig()
  • getServletInfo()
  • init()
  • service()
  • destory()
  1. 生命周期
    JAVA基础及规范学习笔记

六、Servlet基于JDBC实现CRUD (增删改查)
CRUD是任何项目开发的最重要的应用程序,在Servlet中,可以轻松穿件CRUD应用程序。
CRUD:

  • 增加(Create)
  • 读取(Retrieve)
  • 更新(Update)
  • 删除(Delete)

diffmerage:文件比较