Java之小知识点整理(后续会补充)

Java之小知识点整理(后续会补充)

  • ++ 运算符
  • finally关键字(这里主要讲注意的事项,不讲整个异常体系)
  • java 环境变量设置
  • 标识符规范及一些基本注意事项
  • java变量及final关键字
  • 日志级别
  • 重定向和内部转发
  • 登录拦截
  • 分页逻辑
  • 文件上传
  • GC简介
  • 事务
  • redis简单应用
  • 模糊查询
  • 网站集群部署
  • 为什么不使用jsp而使用模板引擎
  • 单点登录

前言:为什么会写这篇大杂烩呢?
每次学习时,很多小知识点会突然想起来,但是又有点不清晰,此时又需要去百度去找一大堆资料,从中找到令自己满意的。emmm,so,自己就汇总下,以便日后复习,如果有讲错之处,请各位大神指点一下,还有啥补充的,也可以在评论区留言下,有时间我会一一整理的…


++ 运算符

从最浅显的看,i++是在操作之后增加,而++i是在操作之前增加。
那么接下来看一个经典例题(当然,这种操蛋例题正常情况下咱们是不会写的,主要是用来面试笔试为难求职者,考察其各个知识点掌握的程度,不过有些东西了解得细致一点只有好处没有坏处,所以自然咱们就得理清^_^):

public class Demo{

    public static void main(String[] args) {
        int i = 0;
        i = i++;
        System.out.println(i);

        int j = 0;
        // 下面这句编译器会报一个黄色警告
        // The assignment to variable j has no effect(中文释义:变量j的赋值无效 )
        j = ++j;
        System.out.println(j);

    }
}

这段代码运行结果是啥呢?答案是0 和 1。
为什么会这样嘞?
i ++ 运算过程中,先保存自增1之前的值即原值,然后将i 加 1,最后返回之前保存的原值。即 i ++等价代码如下:

temp = i;
i = i + 1;
return temp;

所以i = i++就等价于:

// i 此时等于0,所以temp = 0
temp = i;
// i 此时等于 1
i = i + 1;
// temp又被赋值给i ,所以此时i = 0
i = temp;

而下面那个j = ++j 为啥编译器报一个黄色警告(变量j的赋值无效)?
因为++j操作中是没有缓存变量(temp)去存储j的值的,就相当于一个 j = j + 1操作,而j = ++ j就相当于 j = j = j +1;重复赋值1给j了,相当于无效(此操作不会改变j的值),从这点看,理论上++i操作是比i++操作更高效。

标识符规范及一些基本注意事项

注意事项

  • 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的 Java 程序由 public static void main(String []args) 方法开始执行。

标识符规范

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字或保留字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary

保留字:goto 、const
关键字有点多不一一例举,不过关键字都是小写,另外,true、false、null 这三个到底是不是关键字我还是有点蒙,不过确定的是,这三个是不能用来做标识符的。

日志级别

日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API (http://jakarta.apache.org/log4j/docs/api/index.html):

static Level WARN

WARN level表明会出现潜在错误的情形。

static Level ERROR

ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。

static Level FATAL

FATAL level指出每个严重的错误事件将会导致应用程序的退出。

另外,还有两个可用的特别的日志记录级别: (以下描述来自log4j APIhttp://jakarta.apache.org/log4j/docs/api/index.html):

static Level ALL

ALL Level是最低等级的,用于打开所有日志记录。

static Level OFF

OFF Level是最高等级的,用于关闭所有日志记录。

日志记录器(Logger)的行为是分等级的。如下表所示:

分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来,也是说大于等于的级别的日志才输出。

日志记录的级别有继承性,子类会记录父类的所有的日志级别。

这个知识点的总结来自于https://www.cnblogs.com/lingduqianli/p/7589173.html

Java 开发环境配置

finally关键字注意事项

java变量及final关键字

重定向和内部转发

登录拦截

分页逻辑

发布了14 篇原创文章 · 获赞 15 · 访问量 527

猜你喜欢

转载自blog.csdn.net/CodingNO1/article/details/104274502