摘要: 1、常用设计模式 单例模式:懒汉式、饿汉式、双重校验锁、静态加载,内部类加载、枚举类加载。保证一个类仅有一个实例,并提供一个访问它的全局访问点。 代理模式:动态代理和静态代理,什么时候使用动态代理。 适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工 阅读全文
posted @ 2017-08-17 21:37 虚幻黑洞 阅读(286) 评论(0) 推荐(0) 编辑
摘要: String str = “”; for (int i=0; i<100; i++) str += “a”; 可是你知道在内存中会产生多少的垃圾出来吗?总共会有a、aa、aaa、 aaa….,无疑的,上述的程序虽然简单,但浪费了不少的内存,而且产 生对象和对象的存取也会花掉不少的时间,我们加上几行程 阅读全文
posted @ 2017-08-17 21:10 虚幻黑洞 阅读(1302) 评论(0) 推荐(0) 编辑
摘要: 无意中在网络上找到了这篇介绍垃圾回收机制的文章,好文!转一下: 垃圾回收器是如何工作的?我现在就简单的介绍一下 首先要明确几点: Java是在堆上为对象分配空间的 垃圾回收器只跟内存有关,什么IO啊,网络连接啊,管它P事 当可用内存数量较低时,Sun版本的垃圾回收器才会被激活 在垃圾回收器回收垃圾之 阅读全文
posted @ 2017-08-17 21:08 虚幻黑洞 阅读(366) 评论(0) 推荐(0) 编辑
摘要: Java中String类由于其特殊性(不变类),几乎是笔试面试中的必考题,当然有些题目其实没啥意思,不过关键是要通过题目掌握原理性的东西。下面六道题目,如果您全部做对了,且明白其所以然,那么Java中的关于String的笔试面试题应该难不到你了。也许您觉得polaris说的有点过了,然而彻底明白这些 阅读全文
posted @ 2017-08-17 21:07 虚幻黑洞 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 框架简介: 相信大家对于mvc的三层架构已经灰常熟悉了,在这就不细讲了,个人感觉ssi的框架结构还是比较典型的mvc三层架构,还是比较容易上手的。关于这块的入门我想特别感谢下FrankHui童鞋,在他的帮助下,我才能比较快滴熟悉了这个架构,对我学习ssi的框架还是很有帮助滴。ssi的框架主要是由st 阅读全文
posted @ 2017-08-17 19:27 虚幻黑洞 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 本文是GC相关的最后一篇,这次LZ只是罗列一下hotspot JVM中垃圾搜集器相关的重点参数,以及各个参数的解释。废话不多说,这就开始。 垃圾搜集器文章传送门 JVM内存管理 JAVA语言的内存管理概述 JVM内存管理 杂谈(借此也论一论obj=null) JVM内存管理 GC简介 JVM内存管理 阅读全文
posted @ 2017-08-17 19:21 虚幻黑洞 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 引言 上一章我们已经探讨过GC的各个算法,那么垃圾搜集器是什么呢? 通俗的讲,使用编程语言将算法实现出来,产生的程序就是垃圾搜集器了。既然谈到了编程语言的实现,那么在讨论垃圾搜集器的时候,就已经涉及到具体的虚拟机实现了。 或许有不少做JAVA开发的猿友还不知道,我们平时使用的JDK中,默认的JVM是 阅读全文
posted @ 2017-08-17 19:11 虚幻黑洞 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 引言 在上一章我们已经探讨过hotspot上垃圾搜集器的实现,一共有六种实现六种组合。本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力如何。 为了方便各位的观看与对比,LZ决定采用当初写设计模式时使用的方式,针对某些搜集器,分几个维度去解释这些搜集器。 client模式与server模式 阅读全文
posted @ 2017-08-17 19:11 虚幻黑洞 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极。说不定若干年以后,还会有新的终极算法,而且几乎是一定会有,因为LZ相信高人们的能力。 那么分代搜集算法是怎么处理GC的呢? 对象分类 上一章已经说过,分代搜集算法是针对对象的不同特性,而使用适合的算法,这里面并没有实际上的新算法产 阅读全文
posted @ 2017-08-17 19:10 虚幻黑洞 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法。上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算法 我们首先一起来看一下复制算法的做法,复制算法将内存划分为两个区间,在任意时间点,所有动态分配的对 阅读全文
posted @ 2017-08-17 19:09 虚幻黑洞 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧。不过LZ丑话说前面哦,这篇文章应该能让各位彻底理解标记/清除算法,不过倘若各位猿友不能在五分钟内看完,那就不是LZ的错啦。 好了,前面只是小小开个玩笑,让各位猿友放松下心情。下面即将与各位分享的, 阅读全文
posted @ 2017-08-17 19:00 虚幻黑洞 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 为何要了解GC策略与原理? 原因在上一章其实已经有所触及,就是因为在平时的工作和研究当中,不可避免的会遇到内存溢出与内存泄露的问题。如果对GC策略与原理不了解的情况下碰到了前面所说的问题,很多时候会让人不知所措。 当我们了解了相关知识以后,虽然有时候依然不能很快的解决问题,但可以肯定的是,至少不会出 阅读全文
posted @ 2017-08-17 18:59 虚幻黑洞 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 作为一个程序猿,修炼的过程就犹如玄幻小说中的主角,不仅需要练习各种武技,内气的修炼的一样重要。虽然武技可以迅速的提升主角的实力,但是在内气太差的情况下,根本发挥不出武技的十之一二。 因此,在介绍过设计模式这一类外功之后,LZ就直接转战内气修炼,和各位猿友探讨一下JVM的内容。 本来这一章应该是介绍与 阅读全文
posted @ 2017-08-17 18:57 虚幻黑洞 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 引言 内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑。不过世界上不存在十全十美的好事,在带来了便利的同时,也因此引入了很多令人抓狂的内存溢出和泄露的问题。 可怕的事情还不只如此,有些使用其它语言开发的程序员,给JAVA程序员扣上 阅读全文
posted @ 2017-08-17 18:54 虚幻黑洞 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 1.导包,四大核心包,一个切面包(AOP),logging,web,springmvc 2.配置文件,核心代码如下: web.xml springmvc.xml index.jsp: 首页进入 3./WEB-INF/pages 跳转后的内容 1).success.jsp 2).testScope.j 阅读全文
posted @ 2017-08-17 16:20 虚幻黑洞 阅读(598) 评论(0) 推荐(0) 编辑
摘要: spring框架的好处,就是能用注解干的事情,就不用写代码。代码分离,各司其职。 1.导包,还是4大核心架包,加上web和webmvc 加日志记录 logging. 2.配置文件:springmvc.xml 同上,所以就不写了 web.xml 第一个配置前端控制器,负责处理所有应用程序请求,已经说过 阅读全文
posted @ 2017-08-17 15:23 虚幻黑洞 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: 1、创建一个web工程 2、导入springmvc相关包 3、在web.xml中配置使用SpringMVC的前端控制器处理所有请求(给提示(DispatcherServlet提示项)) 注意:指定springmvc配置文件位置,所有请求写/而不是/* 4、随便写一个类一个方法就来处理请求 流程: 1 阅读全文
posted @ 2017-08-17 14:27 虚幻黑洞 阅读(249) 评论(0) 推荐(0) 编辑