获得徽章 0
- 加分题的答案:
借助CAS单点登录管理所有用户信息,把用户信息存储在Redis服务器中返回ticket给业务系统.
对于完全不同域名的系统,cookie 是无法跨域名共享的,sessionId 在页面端也无法共享的,在分布式环境中就需要一台CAS单点登录服务器和一台专门存储对应信息的Redis服务器.
1.启用一个专业的用来登陆的域名(比如:cas.com)来供所有的系统的 sessionId.
2.当业务系统(如 b.com)被打开时,借助 cast 系统来登陆.
2.1. b.com 打开时,发现自己未登陆 ---->于是跳转到 cas.com 去登陆.
2.2 cas.com 登陆页面被打开,用户输入帐户/密码登陆成功.
2.3 cas.com 登陆成功,种 cookie 到 cas.com 域名下---->把 sessionid 放入后台redis {ticket,sesssionid} ---->页面跳回 b.com.
2.4 b.com 重新被打开,发现仍然是未登陆,但是有了一个 ticket 值.
2.5 b.com 用 ticket 值,到 redis 里查到 sessionid,并做 session 同步 ---->种 cookie给自己,页面原地重跳.
2.6 b.com 打开自己页面,此时有了 cookie,后台校验登陆状态,成功.展开赞过评论2 - 她:你为什么不谈个恋爱啊
我:我觉得现在我这代年轻人动不动就爱矫情,我觉得还是赚钱重要,没钱的我不配拥有美好的她
她:那你还要我吗
我,硌着牙吞回那句话,说了说:我要走了.转身骑着共享单车回了我几十方小出租屋.
---------每天望着天空的流星,就觉得自己配不上你展开等人赞过74 - 问答题三的答案:
GC是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,
忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,
Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,
Java语言没有提供释放已分配内存的显示操作方法.
Java程序员不用担心内存管理,
因为垃圾收集器会自动进行管理.
要请求垃圾收集,可以调用下面的方法之一:System.gc() 或Runtime.getRuntime().gc() ,但JVM可以屏蔽掉显示的垃圾回收调用.
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存.
垃圾回收器通常是作为一个单独的低优先级的线程运行,
不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,
程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收.
在Java诞生初期,垃圾回收是Java最大的亮点之一,因为服务器端的编程需要有效的防止内存泄露问题,然而时过境迁,如今Java的垃圾回收机制已经成为被诟病的东西.
移动智能终端用户通常觉得iOS的系统比Android系统有更好的用户体验,其中一个深层次的原因就在于Android系统中垃圾回收的不可预知性.展开评论点赞 - 问答题二的答案:
重载与重写是 Java 多态性的不同表现.
重载是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参数个数或者类型的同名方法.
重载是一个类中多态性的表现,在编译时起作用.
重载要求同名方法有不同的参数列表(参数类型不同、参数个数不同或者二者都不同),对返回类型没有特殊的要求,不能根据返回类型进行区分.
重写是多个同名方法却具有不同的参数和不同的定义,实质表现是对父类的函数进行重新定义.
重写是父类与子类之间多态性的表现,在运行时起作用.
重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则).展开赞过评论1 - 问答题一的答案:
面向对象程序设计和面向过程程序设计的区别实际就是解决问题的方式不同。
面向过程在面向对象出现以前被叫"结构化编程", 它将数据和操作数据分为2部分,主要的核心问题是数据结构、算法的开发和优化.它是将解决问题的步骤分解为几个步骤并依次调用.它是以步骤来划分问题.
面向对象是将一个事务抽象为一数据类型,将某种数据结构和操作这种数据结构的操作以某种模块化方式绑定在一起,万物即可对象.它是将构成问题事务分解成各个对象,列出各个对象在整个解决问题的步骤的行为,最终实现问题的解决.它是以功能(行为)来划分问题.展开赞过评论1