当前位置 : 主页 > 网络编程 > 其它编程 >

面试总结(2019.2.21)

来源:互联网 收集:自由互联 发布时间:2023-07-02
1.JDK常用jar包有哪些? java.lang:包含一些java 常用的核心类,如String,Math,Integer,System,Thread等等,提供常用功能 java.awt:包含了构成抽象窗口工具集(abstract windowtoolkits)的多个类,这些类被用来构建

1.JDK常用jar包有哪些?

  • java.lang:包含一些java 常用的核心类,如String,Math,Integer,System,Thread等等,提供常用功能

  • java.awt:包含了构成抽象窗口工具集(abstract windowtoolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)

  • java.applet:包含applet运行所需的一些类。

  • java.net:包含执行与网络相关的操作的类。

  • java.io:包含能提供多种输入/输出功能的类。

  • java.util:包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数

    注:java.lang这个包会自动导入,对于其中的类,不需要使用import语句来导入

数据库

1.mysql 最大允许创建多少列?

最多允许1024个列。但是每行记录的长度有限制。

2.数据mysql 单表能储存多大数据量?

MySQL 3.22 限制的表大小为4GB。由于在MySQL 3.23 中使用了MyISAM 存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。InnoDB 存储引擎将InnoDB 表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。

3.mysql 三大范式五大约束?

三大范式:确认每列的原子性(每列都是不可再分的最小数据单元)要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情确保每列与主键直接相关不是间接相关五大约束:primary KEY:设置主键约束;UNIQUE:设置唯一性约束,不能有重复值;DEFAULT 默认值约束,height DOUBLE(3,2)DEFAULT 1.2 height不输入是默认为1,2NOT NULL:设置非空约束,该字段不能为空;FOREIGN key :设置外键约束。

4.mysql事物四大特征?

  • 原子性 (一个操作要么都执行,要么都不执行)
  • 一致性 (底层数据储存的完整性)
  • 持久性 (持久性表示在某个事务的执行过程中,对数据所作的所有改动都必须在事务成功结束前保存至某种物理存储设备。)
  • 隔离性 (隔离性意味着事务必须在不干扰其他进程或事务的前提下独立执行)

5.mysql 常用引擎?

  • InnoDB 是一个事物型的储存引擎,有行级锁定和外键约束
  • MyIsam 不支持对事物的支持,不支持行级锁定和外键约束,因此当进行insert ,update 操作时候需要锁定整张表,效率会低一些.

JVM内存

1.JVM内存模型?

面试总结(2019.2.21)程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。程序中的分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。由于多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,故该区域为线程私有的内存。虚拟机栈:描述的是Java方法执行的内存模型,用于存储局部变量表、操作数栈、动态链接、方法出口等堆:是Java虚拟机所管理的内存中最大的一块,Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建,存放所实例,也是垃圾收集器管理的主要区域方法区:用于存放已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等数据。HotSVM针对该区域也进行GC,主要是常量回收以及类

相关资料可参考https://blog.csdn.net/shengmingqijiquan/article/details/77508471https://www.cnblogs.com/xiaoxi/p/6557473.htmlhttps://www.cnblogs.com/ygj0930/p/6535893.html

网络编程

网络协议模型面试总结(2019.2.21)

1.TCP/IP、UDP、Http、Socket的区别?

IP协议:为计算机网络相互连接进行通信而设计的协议。TCP/UDP协议:基于二进制流的控制间传输协议。TCP:是面向链接的,虽然说网络的不安全不稳定特性决定了多少次握手都不能保证连接的可靠性,但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了连接的可靠性;通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付.UDP:不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,当然也不用重发,所以说UDP是无连接的、不可靠的一种数据传输协议。Http: 超文本传输协议,HTTP协议是建立在TCP协议之上的一种应用。IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层。注意TPC/IP位于传输层,它主要用来解决数据如何在网络中传输,与IP协议要区分开。Socket相当于调用接口(API),用来调取TCP/IP协议。

2.http与https的区别?

http与https使用不同的连接方式,使用的端口不同,前者是80端口,后者是443端口.http的连接很简单,是无状态的https协议是由Http+SSL协议构建的,可进行加密传输,身份认证的网络协议,要比http安全.

3.COOKIE与session分别是什么? 有什么区别?

COOKIE 是服务器储存在本地计算机的小块文本,随着每个请求发送到同一服务器,COOKIE 是解决了http协议中无状态缺陷问题session 会话机制是一种服务器端机制,它使用类似于哈希表(可能还有哈希表)的结构来保存信息。区别:COOKIE一般数据存放到客户的浏览器上,session 的数据在服务器上.COOKIE不是很安全,别人可以分析放在本地的COOKIE透明的session 会在一定时间内保存到服务器上.当访问量增多会影响服务器的性能.单个COOKIE保存的数据不能超过4k,很多浏览器限制一个站点保存20个左右的COOKIE

4.为什么会产生跨域问题?

浏览器限制请求数据的域名端口不一样

5.解决跨域的三种方案

方式一:使用ajax的jsonp 缺点:只能是get请求方式二:使用jquery的jsonp插件 特点:不只是get请求同时也支持post请求,但从服务器上获取的数据依然是jsonp格式方式三:使用cors 特点:前端不用处理跨域问题是简单的ajax请求,后端进行跨域处理. 通过设置请求头代码

上一篇:第三章Java面向对象(上)
下一篇:没有了
网友评论