面试总结一

1. servlet的生命周期java

 画出servlet的运行原理. 其中第3.4.5.8是servlet的生命周期算法

生命周期有四个部分:数据库

1.建立Servlet实例对象。经过服务器反射机制建立Servlet对象,第一次请安全

求时才会建立。(默认)服务器

2,调用Servlet对象的init()方法。初始化Servlet的信息,init()方法只会在建立后被调用一次;多线程

3,响应请求,调用service()或者是doGet(),doPost()方法来处理请求,这些方法是运行的在多线程状态下的。ide

4,  在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。加密

 

2. 类加载器的加载流程spa

 3. 类加载流程.net

4.类加载器的类型有几种

 

 

5. 经常使用的加密算法及原理。 什么是对称加密, 什么是非对称加密算法, 有哪些算法是对称加密算法, 哪些是非对称加密算法? 

  md5加密算法:

  md5加密算法是一种不可逆的加密,必定记住是不可逆的虽然如今不少算法也能够将md5解密出来可是md5仍是具备很大程度上的不可逆,并且加大解密难道使用双重加密,不少登陆的地方用到md5加密,那么有些人会问我用md5加密了服务器怎么解密呢,你要是这么想就错了登陆时输入用户的密码这个密码被md5加密后在服务器也存的是这个md5的字符格式,也就是说服务器的数据库存的就是这个格式的字符串,因此服务器那边为何要解密呢,只要比较你客户端发送的md5字符串和它数据库字符串进行比较就好了,并且如今APP运营商也不少都不敢保存用户的明文密码这是对用户信息的不负责。如今md5也只是用于数据库存储数据。
      还有一种就是能够解密的加密算法,一本分为两种,对称加密算法和非对称加密算法。

 

 

 

 

 

 

RSA算法中,每一个通讯主体都有两个钥匙,一个公钥(Public Key)用来对数据进行加密; 一个私钥(Private Key)用来对数据进行解密。 

在SSH的加密原理中,使用到了RSA非对称加密算法,

非对称加密算法的两种用途:加密和验签

 
    详解非对称加密算法
 
  非对称加密算法须要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,若是用公钥对数据加密,只有用对应的私钥才能解密;若是用私钥对数据加密,那么只有对应的公钥才能解密。由于加密和解密使用的是两个不一样的密钥,因此这种算法叫做非对称加密算法
  非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把做为公钥公开给乙方;获得该公钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用本身保存的另外一把专用密钥对加密后的信息进行解密。
  另外一方面,甲方可使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用本身的私匙对数据进行验签。
  甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的须要。
  非对称密码体制的特色:算法强度复杂、安全性依赖于算法与密钥可是因为其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,而且是非公开的,若是要解密就得让对方知道密钥。因此保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就能够不须要像对称密码那样传输对方的密钥了。这样安全性就大了不少。
 

 6. minorGC和fullGC的触发条件

Minor GC ,Full GC 触发条件

Minor GC触发条件:当Eden区满时,触发Minor GC。

Full GC触发条件:

(1)调用System.gc时,系统建议执行Full GC,可是没必要然执行

(2)老年代空间不足

(3)方法去空间不足

(4)经过Minor GC后进入老年代的平均大小大于老年代的可用内存

(5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小

 7. RestFul设计风格

restFul设计风格, 看下面这两篇文章就基本你理解了. 

https://www.imooc.com/article/17650

https://blog.csdn.net/weide_java/article/details/53793769

相关文章
相关标签/搜索