zoukankan      html  css  js  c++  java
  • java GC 类加载器 Servlet

    1. servlet的生命周期

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

    生命周期有四个部分:

    1.创建Servlet实例对象。通过服务器反射机制创建Servlet对象,第一次请

    求时才会创建。(默认)

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

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

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

    2. 类加载器的加载流程

     3. 类加载流程

    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

  • 相关阅读:
    这个我过滤概述UIPickerView键盘处理
    父子控制器
    源码0501-10-掌握-单粒模式
    源码0501-07-GCD的基本使用
    源码0501-04-了解-线程的状态
    源码-0501-01-处理耗时操作
    源码03-02-10-导航控制器简单使用
    spring在ssh框架中到底起到什么作用
    ssh整合
    spring整合hibernate
  • 原文地址:https://www.cnblogs.com/ITPower/p/9165362.html
Copyright © 2011-2022 走看看