Java Web总结
JSP与Servlet的区别 Servlet的生命周期 前三个方法与Servlet的生命周期相关,Web容器加载Servlet并将其实例化之后,Servlet的生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service()方法,servi ...
Read more
XSS与CSRF
以下内容全部来自于转载 XSS和CSRF的介绍 XSS:通过客户端脚本语言(最常见是JavaScript)在一个论坛发帖中发布一段恶意的JavaScript代码就是脚本注入,如果这个代码内容有请求外部服务器,那就叫做XSS! CSRF:又称XSRF,冒充用户发起请求(在用户不知情的情况下)完成一些 ...
Read more
并发编程总结
可重入内置锁 同一个线程在调用本类中其他synchronized方法/块或父类中的synchronized方法/块时,都不会阻碍该线程地执行,因为互斥锁时可重入的。 中断线程 使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt() ...
Read more
Spring的IOC与AOP特性
Spring的IOC特性 什么是控制反转 见图1,软件中的对象就如同图中的齿轮,协同工作,互相耦合,若是一个零件不能正常工作,则会导致整个系统的奔溃,这就是强耦合系统。为了解决对象间耦合度过高的问题,软件专家Michael Mattson提出了IoC理论。 控制反转(Inversion of ...
Read more
HashMap实现原理
关注点 结论 是否允许空 key和value都运行空 是否允许重复元素 key重复会覆盖,value允许重复 是否有序 无序 是否线程安全 非线程安全 HashMap的数据结构 在Java语言中,最基本的两种结构就是数组和模拟指针(引用),所有的数据结构都可以使用这 ...
Read more
跨域请求解决方法——jsonp
Javascript出于安全方面的考虑,不允许跨域调用其他页面的对象,但这样却给平时的开发带来了不少麻烦,这里把涉及到跨域的问题进行了简单地整理。 同源策略 什么是域(origin) 域是由三部分组成:URI Schema(协议类型)、host name(域名)、port number(端口号) ...
Read more
单例模式
单例模式的特点 单例类只能有一个实例 单例类必须创建自己唯一的实例 单例类必须给其他对象提供这一实例 饿汉 vs 懒汉 饿汉:声明实例引用时即实例化 懒汉:静态方法第一次被调用前不实例化,也即懒加载。对于创建实例代价大,且不定会使用时,使用懒加载可以减少开销 解决方案 在多线程环境中 ...
Read more