Java SE基础---问题点汇总(一)

转义字符

\' 单引号字符

\\ 反斜杠字符

\r 回车

\n 换行

\f 走纸换页

\t 横向跳格

\b 退格

++   --

++自加运算符是单目运算符(一元运算符),只有一个操作数。如果把++放在左边,则先把操作数加1,然后再运算;如果把++放在右边,则先运算,然后再把操作数加1。

--自减运算符也是单目运算符(一元运算符),只有一个操作数。用法与++类似,只是将操作数的值减1;

&&   

  1. 表达式的结果为fasle时,那右表达式不会执行,直接返回表达式的结果(false
  2. 表达式的结果为true时,那表达式一定会执行,并返回表达式的结果

&

  1. 表达式的结果为fasle时,表达式依旧会执行,并直接返回表达式的结果(false
  2. 表达式的结果为true时,那右表达式一定会执行,并返回表达式的结果

||

  1. 当左表达式的结果为true时,那·右表达式不会执行,并直接返回左表达式的结果(true)
  2. 当左表达式的结果为false时,那右表达式一定会执行,并返回右表达式的结果

|

  1. 当左表达式的结果为true时,那右表达式依旧会执行,并直接返回左表达式的结果(true)
  2. 当左表达式的结果为false时,那右表达式一定会执行,并返回右表达式的结果

+运算符

作用1:求和,当 + 运算符两边都是数字类型的时候,求和。

作用2:字符串拼接,当 + 运算符两边的“任意一边”是字符串类型,那么这个+会进行字符串拼接操作。

编译器

编译器可以是任何一个能将一个文本翻译为另一个文本的程序。

编译器读取源代码生成二进制文件。

对于Java语言来说,它最常用的编译器就是javac指令,可以在DOS(Disk Operating System)窗口中使用,该指令包含在JDK(Java Development Kit,)目录中,使用javac指令可以将.java源文件翻译成.class字节码文件,.class文件可以装载到JVM(Java Virtual Machine)的类加载器中运行,可以跨平台运行。

Java 源码编译由以下三个过程组成:

  1. 分析和输入到符号表
  2. 注解处理
  3. 语义分析和生成class文件

  前端编译器:把*.java文件转变成*.class文件

  后端运行期编译器(JIT编译器,Just In Time Compiler):把字节码转成机器码

  静态提前编译器(AOT编译器,Ahead Of Time Compiler):把*.java编译成本地机器码

Object

1.Object类是所有类的父类,位于java.lang包中。

2.数组也是Object类的子类。

3.Object类的常用方法有:

1. clone()

保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。

2. getClass()

final方法,返回Class类型的对象,反射来获取对象。

3. toString()

该方法用得比较多,一般子类都有覆盖,来获取对象的信息。

4. finalize()

该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

5. equals()

比较对象的内容是否相等

6. hashCode()

该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

7. wait()

wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。

其他线程调用了该对象的notify方法。
其他线程调用了该对象的notifyAll方法。
其他线程调用了interrupt中断该线程。
时间间隔到了。
此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

8. notify()

该方法唤醒在该对象上等待的某个线程。

9. notifyAll()

该方法唤醒在该对象上等待的所有线程。

finalize()方法:垃圾回收器准备释放内存的时候,会先调用finalize()。

  (1).对象不一定会被回收。

       (2).垃圾回收不是析构函数。

       (3).垃圾回收只与内存有关。

       (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值