×

java程序员基础进阶篇,万丈高楼平地起

96
启示录是真的
2018.05.26 12:28 字数 2241

一.final,finally,finalize 三者区别

Final是一个修饰符:

当final修饰一个变量的时候,变量变成一个常量,它不能被二次赋值

当final修饰的变量为静态变量(即由static修饰)时,必须在声明这个变量的时候给它赋值

当final修饰方法时,该方法不能被重写

当final修饰类时,该类不能被继承

小编推荐一个学JAVA的学习裙【 一三三,九三零,六九三】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

Final不能修饰抽象类,因为抽象类中会有需要子类实现的抽象方法,(抽象类中可以有抽象方法,也可以有普通方法,当一个抽象类中没有抽象方法时,这个抽象类也就没有了它存在的必要)

Final不能修饰接口,因为接口中有需要其实现类来实现的方法

Finally:

Finally只能与try/catch语句结合使用,finally语句块中的语句一定会执行,并且会在return,continue,break关键字之前执行

finalize:

Finalize是一个方法,属于java.lang.Object类,finalize()方法是GC(garbage collector垃圾回收)运行机制的一部分,finalize()方法是在GC清理它所从属的对象时被调用的

二、Io流的层次结构

从流的方向

输入流 输出流

从流的类型上

字符流 字节流

inputstream和outputstream都是抽象类

它们下面的实现包括

FileInputStream,BufferedInputStream

FileOutputStream,BufferedOutputStream

reader 和 writer

FileReader,BufferedReader,StringReader

FileWriter,BufferedWriter,StringWriter,PrintWriter

小编推荐一个学JAVA的学习裙【 一三三,九三零,六九三】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

三、JAVA:

Java是面向对象的,跨平台的,它通过java虚拟机来进行跨平台操作,它可以进行自动垃圾回收的【c语言是通过人工进行垃圾回收】,java还会进行自动分配内存。【c语言是通过指定进行分配内存的】,只需要new一个对象,这个对象占用了多少空间,不需要我们来管,java虚拟机负责管这些,用完之后也不需要我们来释放,java虚拟机会自动释放

三十八、JavaSE JavaEE JavaME区别是什么:

Java SE=Java Standard Edition=j2se = java 标准版

Java EE=Java Enterprise Edition=j2ee= java 企业版

Java ME=Java Mobile Edition=j2me = java移动版

特点:

SE主要用于桌面程序(swing),控制台开发(main程序)。

EE企业级开发(JSP,EJB,Spring MVC,Struts,hibernate,ibatis等),

用于企业级软件开发,网络开发,web开发。

ME嵌入式开发(手机,小家电,PDA)。[苹果的ios,黑莓]

三者之间的关系:

Java SE(Java Platform, Standard Edition,Java标准版)就是基于JDK和JRE的。

Java SE为Java EE提供了基础。

Java EE除了基于我们这个所谓的Java SE外,还新加了企业应用所需的类库

四、JDK JRE JVM的区别:

Jdk【Java Development ToolKit】就是java开发工具箱, JDK是整个JAVA的核心里边包含了jre,它除了包含jre之外还包含了一些javac的工具类,把java源文件编译成class文件,java文件是用来运行这个程序的,除此之外,里边还包含了java源生的API,java.lang.integer在rt的jar包里边【可以在项目中看到】,通过rt这个jar包来调用我们的这些io流写入写出等

JDK有以下三种版本

J2SE,standard edition,标准版,是我们通常用的一个版本

J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序

J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序

Jre【Java Runtime Enviromental】是java运行时环境,那么所谓的java运行tJre里边包含jvm

Jvm:【Java Virtual Mechinal】因为jre是java运行时环境,java运行靠什么运行,而底层就是依赖于jvm,即java虚拟机,java虚拟机用来加载类文件,java中之所以有跨平台的作用,就是因为我们的jvm

关系:

J2se是基于jdk和jre,

JDK是整个JAVA的核心里边包含了jre,

Jre里边包含jvm

五、报错的状态码:

小编推荐一个学JAVA的学习裙【 一三三,九三零,六九三】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!301 永久重定向

302 临时重定向

304 服务端 未改变

403 访问无权限

200 正常

404 路径

500 内部错误

服务器不接受的请求

502 错误的网管关

六、协议以及默认的端口号

小编推荐一个学JAVA的学习裙【 一三三,九三零,六九三】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!ftp 21 文件传输协议

Pop3 110 它是因特网 电子邮件 的第一个离线 协议标准

Smtp 25 简单邮件传输协议

http 80 超文本传输协议

oracle 默认端口号1521

mysql默认端口号 3306

七、抽象类与接口的区别

1.一个类只能进行单继承,但可以实现多个接口。

2.有抽象方法的类一定是抽象类,但是抽象类里面不一定有抽象方法;

接口里面所有的方法的默认修饰符为public abstract,接口里的成员变量默认的修饰符为 pulbic static final。

关系

接口和接口 继承

接口和抽象类 抽象类实现接口

类和抽象类 类继承抽象类

类和类 继承

八、修饰符的作用

修饰符的作用范围:

private default protected public

同一个类中 可以 可以 可以 可以

同一个包的类中 可以 可以 可以

不同包的子类中 可以 可以

不同包的类中 可以

九、onready和onload的区别

1.onready比onload先执行

2.onready是在页面解析完成之后执行,而onload是在页面所有元素加载后执行

3.onload只执行最后一个而onready可以执行多个。

参考:

执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。 $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。 2.编写个数不同 window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个 $(document).ready()可以同时编写多个,并且都可以得到执行 3.简化写法 window.onload没有简化写法 $(document).ready(function(){})可以简写成$(function(){});

另外,需要注意一点,由于在$(document).ready() 方法内注册的事件,只要DOM 就绪就会被执行,因此可能此时元素的关联文件未下载完。例如与图片有关的html 下载完毕,并且已经解析为DOM 树了,但很有可能图片还没有加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。要解决这个问题,可以使用Jquery 中另一个关于页面加载的方法---load() 方法。Load() 方法会在元素的onload 事件中绑定一个处理函数。如果处理函数绑定给window 对象,则会在所有内容( 包括窗口、框架、对象和图像等) 加载完毕后触发,如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。 Jquery 代码如下: $(window).load(function (){ // 编写代码 });等价于JavaScript 中的以下代码 Window.onload = function (){ // 编写代码 }

十、switch默认接受的几种数据类型

Short, int, byte, ch

日记本
Web note ad 1