Java对象引用类型

Java对象引用 从 JDK 1.2 版本开始,把对象的引用分为 4 种级别,从而使程序能更加灵活地控制对象的生命周期。这 4 种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 StrongReference: 强引用 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java 虚拟机宁愿抛出 OutOfMemoryError 错误,使程序异常终止, … 继续阅读

QPS、PV和需要部署机器数量计算公式

QPS、PV和需要部署机器数量计算的整理。 QPS Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 TPS TPS是 TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器 做出反应的过程。客户机在发 … 继续阅读

Spring循环依赖检测、解决方法

Spring循环依赖检测、解决方法 最近看了一片讨论spring 循环依赖的文章,循环依赖的问题,其实没怎么深入了解的。我之前也自己动手写过一个IoC容器,这个容器实现并解决了:bean的实例化和注入。但是循环依赖的这个问题,当时并没有考虑,因此没有处理循环依赖的问题。现在回想,处理循环依赖其实是一个很有实际意义的。因此,花时间思考和整理IoC的循环依赖。 一个拓展:除了Spring,其他的IoC … 继续阅读

Java线程间通信:wait和notify以及交替执行

看了网上很多讲线程间通信的文章,很多以交替执行给出例子;但是有些明显是有问题的,于是我自己也写了个例子。 线程间通信:wait 和notify wait()方法是指当前线程对对象的控制等待。对对象的控制权移交给其他线程 notify()方法是指通知某个正在等待当前线程控制权的线程,可以继续进行 代码示例 两个线程,线程A:1、3、5、7…97、99 ,线程B打印:2、4、6、8、10& … 继续阅读

跨域问题

跨域 跨域是指 不同域名之间相互访问。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容 如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题 同源策略 Same Origin Policy,译为“同源策略”。它是对于客户端脚本(尤其是JavaScript) … 继续阅读