首页 > 编程语言 >java 基础面试笔记(一)

java 基础面试笔记(一)

时间:2023-06-09 21:32:29浏览次数:56  
标签:java get 子类 接口 面试 笔记 https http 抽象类

1、对final和static的理解

final修饰变量,变量不可修改;

final修饰类,类不可继承;

final修饰方法,方法不能重写;

static方法,不依赖任何对象可以访问;

static成员变量初始化顺序按照定义的顺序进行初始化:

· 父类静态变量

· 父类静态代码块

· 子类静态变量

· 子类静态代码块

· 父类普通变量

· 父类普通代码块

· 父类构造函数

· 子类普通变量

· 子类普通代码块

· 子类构造函数

static和final一块用表示全局变量 ;

2、get和post区别

1.get回退无害,post会再次提交请求;

2.get请求只能进行url编码,post有多种编码方式;

3.get请求参数会完整的保存在浏览器历史中,而post中的参数不可保留;

4.get请求在url中传递的参数有长度限制,而post没有;

5.post比get安全;

6.get产生一个tcp包,而post产生两个;

数据携带:

     1)GET方式:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K;

     2)POST方式:可以在请求的实体内容中向服务器发送数据,传送的数据量无限制。 

请求参数的位置:

    1)GET方式:请求参数放在URL地址后面,以 ? 的方式来进行拼接;

    2)POST方式:请求参数放在HTTP请求包中;

用途:

    1)GET方式一般用来获取数据;

     2) POST方式一般用来提交数据;

   原因:

      1)首先是因为GET方式携带的数据量比较小,无法带过去很大的数量;

      2 )POST方式提交的参数后台更加容易解析(使用POST方式提交的中文数据,后台也更加容易解决);

     3)GET方式比POST方式要快;

3、http和https区别

1.http的url以http开头,https以https开头;

2.http不安全,https安全;

3.http标准端口80,https标准端口443;

4.osi网络模型中,http工作于应用层,https工作于传输层;

5.http无法加密,https可以对传输进行加密;

6.http无需证书,https需要ca机构办法的证书;

4、防止表单重复提交

1.数据库建表时添加唯一约束;

2.用户提交后用js将提交按钮隐藏disable;

3.使用seesion;

4.在服务器端使用重定向处理;

5、转发和重定向区别

1.实际发生位置不同,地址栏不同;

2.转发在服务器进行跳转,重定向在浏览器;

3.用法不同:

          转发时,代表的是本应用程序的根目录;

          重定向,代表的是webapps目录;

4.能够去往的url范围不同

          转发,服务器只能去网当前web应用的资源;

          重定向是服务的跳转,可以去往任何资源;

5.传递数据类型不同

         转发的request可以传递各种类型的参数,包括对象;

         重定向只能传递字符串;

6、抽象类和接口的区别

      抽象类是捕捉子类通用特性的,它不能被实例化,能用作子类的超类。抽象类用来创建继承层级里子类的模板。接口是抽象类的集合,如果一个类实现某个接口,那么它就要继承接口的抽象方法。如果实现这个接口,要确保使用这些方法。接口只是一种形式,接口不做任何事。

1.一个子类只能继承一个抽象类,但能实现多个接口;

2.抽象类可以有构造方法,接口没有构造方法;

3.抽象类可以有普通成员变量,接口没有普通成员变量;

4.抽象类和接口都可有静态成员变量,抽象类中静态成员变量访问类型任意,接口只能public static final(默认);

5.抽象类可以没有抽象方法,抽象类可以有普通方法,接口中都是抽象方法;

6.抽象类可以有静态方法,接口不能有静态方法;

7.抽象类中的方法可以是public、protected;接口方法只有public abstract;

7、seesion和cookie

1.两者都是服务器用来进行会话跟踪的技术;

2.cookie通过加密后传输到客户端,不能超过4k;

3.seesion保存在服务器,过一段时间会消失,过多的seesion会造成服务器压力,seesion在分布式服务器上无法共享;

8、jdbc操作数据库的步骤

1.注册数据库驱动;

2.建立数据库连接;

3.创建statement;

4.执行sql语句;

5.处理结果集;

6.关闭数据库连接。

9、反射序列化

       序列化就是一种用来处理对象流的机制 把对象转换为字节序列;反序列化把字节序列转换为对象。

       反射:在运行状态中,对于任意一个类,都知道它的属性和方法;对于任意一个对象,都能调用它的属性和方法。

10、重载与重写

 1.重载是编译期间的活动,重写是运行期间的活动;

 2.重载是在一个类中定义相同的方法,方法的参数列表或类型要互不相同;

 3.重写要求子类重写时与父类具有相同的参数类型和返回值;

 jvm 重载:通过静态类型调用相应的方法;重写:jvm先判断对象的动态类型,根据动态类型选择。

标签:java,get,子类,接口,面试,笔记,https,http,抽象类
From: https://blog.51cto.com/u_15558311/6451387

相关文章

  • JavaWeb准备工作和环境配置
    JavaWeb基本概念web开发:web:网页的意思静态web:提供的数据资源不会发生改变动态web:数据是不断变化的,现代网站几乎都是动态网站技术栈:Servlet/JSP:基于java,主推B/S架构,可以​承载高并发,语法类似ASP​ ASP:微软,国内早期流行。在html中嵌入VB脚本,c#​......
  • 读书笔记——人月神话2
     “人月”指项目预估和进度安排中使用的工作量单位,比如一个项目需要3个人耗费四个月的时间,衡量这个项目的工作量就用12人月表示。在本文中,作者认为“用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话,它暗示着人员数量和时间是可以相互替换的。”人数和时间可以互换的......
  • 读书笔记——人月神话3
    在写项目申请书时,经常会遇到两个问题。其一,不同的人负责项目申请书的不同部分,最后在整合到一起时往往会让人产生项目需求和功能不完全对应的感觉,整个项目明显有拼凑的痕迹,显得不伦不类;其二,在决定产品实现什么功能时,往往会很贪心的把所有功能都往上加,最后产品没有针对性,更没有特色......
  • 读书笔记——代码大全1
    1.       用错误处理代码来处理预期会发生的状况,用断言来处理绝不应该发生的状况。2.       隔栏:以防御式编程为目的而进行隔离的一种办法,就是把某些接口选定为“安全”的区域边界,对穿越安全边界的数据进行合法性的校验,并当数据非法时做出敏锐的反映。3.    ......
  • 读书笔记——代码大全2
    第一章构建(写代码)是软件开发中非常重要的部分。还引用了一句话,艺术评论家聚在一起总是谈论架构,思想;艺术家聚在一起总是谈论在哪里可以买到便宜的树脂油。)构建的产品即源代码,是软件唯一的、最准确的说明书。(想到了一句话,程序员就是用代码(语言)说服计算机去做一些事情) 构建(作者不......
  • 读书笔记——代码大全3
    对于没有顺序关系的代码,应该通过排列代码增加代码的可读性。应该将相关的代码组织在一起,从而便于自上而下阅读。组织较好的代码应该可以划分成若干个不重叠(但是可能嵌套)的代码块,各自执行相关的功能。这一部分让我感触比较深。对于有明确顺序的代码通常我都会注意到将它们排列整齐......
  • 代码大全读书笔记
    需求分析:软件开发的第一步是理解客户的需求。对需求进行仔细的分析和定义非常重要,因为这些定义决定了软件系统的性能、功能和特性。设计:在设计阶段,我们需要考虑系统的结构,组件和模块,以及它们相互作用的方式。一个好的设计应该将复杂的系统分解为简单的部分,以便开发人员更容易......
  • 大数据学习笔记hadoop、hive、java
    HDFS伪分布式集群搭建tar-zxvfhadoop-2.7.7.tar.gzecho$JAVA_HOME/root/software/jdk1.8.0_221​#查看loaclhostvim/root/software/hadoop-2.7.7/etc/hadoop/hadoop-env.sh​​vim/root/software/hadoop-2.7.7/etc/hadoop/core-site.xml​​<property><name>fs.defaultFS&......
  • 代码大全阅读笔记
    《代码大全2》是一本非常具有代表性和影响力的软件开发经典著作,由史蒂夫·麦康奈尔(SteveMcConnell)所著,第二版于2004年出版。在这本书中,作者对软件开发的各个方面进行了全面、详尽的讲解,内容包括需求分析、设计原则、编码实践、测试策略、维护建议等方面,简直可以说是一本涵盖了所......
  • java集成chatGpt完整案例代码(效果和官网一样逐字输出)
    背景要集成chatGpt参考我上一篇文章即可。但是,如果要实现官网一样的效果,逐字输出,难度就提升了不少了。经过在官网的研究发现它应该是采用了SSE技术,这是一种最新的HTTP交互技术。SSE(Server-SentEvents):通俗解释起来就是一种基于HTTP的,以流的形式由服务端持续向客户端发送数据的......