阅读本文之前,请先看以下几个问题: 1.String变量是什么不变?final修饰变量时的不变性指的又是什么不变,是引用?还是内存地址?还是值? 2.java对象进行重赋值或者改变属性时在内存中是如何实现的? 3.以下是AQS中的一个方法代码,请问第一次进入这个方法时,执行到return的时候,t==node? head==tail?node.prev==head?head.next==node?这四个比较分别是true还是false? private Node enq(final Node n…
转载: Java虚拟机类加载机制--案例分析   在<Java虚拟机类加载机制>一文中详细阐述了类加载的过程,并举了几个例子进行了简要分析,在文章的最后留了一个悬念给各位,这里来揭开这个悬念.建议先看完<Java虚拟机类加载机制>这篇再来看这个,印象会比较深刻,如若不然,也没什么关系~~ 下面是程序代码: package jvm.classload; public class StaticTest { public static void main(String[] args) {…
案例分析 高性能硬件上的程序部署策略 例 如 ,一个15万PV/天左右的在线文档类型网站最近更换了硬件系统,新的硬件为4个CPU.16GB物理内存,操作系统为64位CentOS 5.4 , Resin作为Web服务器.整个服务器暂时没有部署别的应用,所有硬件资源都可以提供给这访问量并不算太大的网站使用.管理员为 了尽量利用硬件资源选用了64位的JDK 1 . 5 ,并通过-Xmx和-Xms参数将Java堆固定在12GB.使用一段时间后发现使用效果并不理想,网站经常不定期出现长时间失去响应的情况.…
作者原创:未经博主允许不许转载 在上一篇的博客中,展示和分析了如何做一个饼状图,有疑问可以参考上一篇博客. 现在分析和展示折线图的绘制和案例分析, 先展示效果图: 与饼状图不同的是,折线图展现更多的数据,也会体现出更多的自动性. 先展示一下js代码: <!-- 播放类型统计折线图 --> <script type="text/javascript"> $(function () { var livFlowList=document.getElementById(…
出处:https://blog.csdn.net/u013256816/article/details/50829596 https://blog.csdn.net/u013256816/article/details/50837863 看到这个题目,很多人会觉得我写我的java代码,至于类,JVM爱怎么加载就怎么加载,博主有很长一段时间也是这么认为的.随着编程经验的日积月累,越来越感觉到了解虚拟机相关要领的重要性.闲话不多说,老规矩,先来一段代码吊吊胃口. public class SSCla…
final在Java语言里面啥意思 final修饰一个类,那么这个类就是不可继承.string就是一个非常有名的被final修饰的类,不过他的更加有名的是“不可被修改”. 究竟什么是不可改变?string,大家可能都知道string是不可变,那么如果我们改变string呢,他确实变了,这个“他”已经是另外一块内存空间(地址)了:之前的String其实并没有消失,还在内存之前的空间(地址)里面保存的.到这里,你知道了string的不可变的涵义了: 1)一个实例一旦被定义了,其实是对于这个实例(对应…
1.门面模式的定义: 门面模式(Facade Pattern)也叫做外观模式,是一种比较常用的封装模式,其定义如下:       要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行.门面模式提供一个高层次的接口,使得子系统更易于使用. 2.门面模式注重"统一的对象",也就是提供一个访问子系统的接口,除了这个接口不允许有任何访问子系统的行为发生,其通用类图如下: Subsystem Classes是子系统所有类的简称,它可能代表一个类,也可能代表几十个对象的集合. 3.角色定义…
一.多态的定义 同一事物,在不同时刻体现出不同状态. 例如:水在不同状态可能是:气态.液态.固态. 二.多态前提和体现 1.有继承关系 2.有方法重写 3.有父类引用指向子类对象 三.编译运行原理 1.编译看左边,父类是否有此方法,没有就报错. 2.运行看右边,运行结果一般是右边子类重写后的结果. 四.案例分析 package polymorphic; /** * 多态案例1,基础 * @author zhongfg * @date 2015-06-16 */ interface Car { p…
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了,然而并发问题是令我们大多数程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们深入研究一下常见的并发和同步问题吧. 一.同步和异步的区别和联系 为了更好的理解同步和并发的问题,我们需要先掌握两个重要的概念:同步.异步 同步:可以理解为在执行完一个函数或者方法后,一直等待系统返回值或消息,这时程序是处于阻塞的状态,只有接收到系统的返回值或者消息后,才会继续往下执行. 异步:执行完函数…
Java多线程——线程八锁案例分析 摘要:本文主要学习了多线程并发中的一些案例. 部分内容来自以下博客: https://blog.csdn.net/dyt443733328/article/details/80019352 多线程的八个案例 通过分析代码,推测打印结果,并运行代码进行验证. 1)两个线程调用同一个对象的两个同步方法 代码如下: public class Demo { public static void main(String[] args) { Number number =…