大家面试过程中肯定被问道过线程池。为什么要使用线程池呢?因为在系统中频繁创建线程会造成很大的CPU消耗。而且用完的线程要等待GC回收也会造成消耗。 下面我们就来学习下最常用的线程池 ThreadPoolExecutor, 首先先来看看它的构造方法: public ThreadPoolExecutor ...
分类:
编程语言 时间:
2020-01-23 09:31:35
阅读次数:
64
一、下载CMS源码 https://www.yzmcms.com/xiazai 下载完成后得到一个这样的压缩包 接着下载PHPStudy,安装只要一直点下一步就可以了 安装完成后打开,如下图启动两个地方 接着解压一开始下载的那个PHPCMS压缩包,把文件放到PHPStudy的制定目录下,如下图 最后 ...
分类:
Web程序 时间:
2020-01-22 16:11:18
阅读次数:
129
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。 当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。 本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。 对于线上系统突 ...
分类:
其他好文 时间:
2020-01-22 13:14:56
阅读次数:
83
一、什么是GC GC是jvm的垃圾回收,垃圾回收的规律和原则为: 次数上频繁收集新生区(Young) 次数上较少收集养老区(Old) 基本上不动永久区(Perm) 二、GC算法(分代收集算法) GC总共有四大算法,分别是: ①引用计数法 ②复制算法(Copying) ③标记清除(Mark Sweep ...
分类:
编程语言 时间:
2020-01-20 19:03:24
阅读次数:
107
根据WordPress官方2019年的数据显示,目前全网中33%的网站会采用的是WordPress程序,其主要原因在于这款开源CMS程序易用简单有丰富的主题插件,最为主要的是能保持稳定的更新升级优化。当然,作为目前体量最大的开源CMS程序,肯定也是受到很多的黑客盯着的,我们也经常看到WordPres ...
分类:
Web程序 时间:
2020-01-19 09:50:57
阅读次数:
94
在了解这一块知识的时候,需要知道jdk1.8之前与jdk1.8及之其之后的区别 新生代: 刚创建的对象, 有可能经历过几次GC 老年代: 经历过多次GC之后,仍然存活的对象 永久代: 比如intern()方法入池的对象实际上就进入了永久代, 永久代不会被回收。因为其本身属于一个bug性的存在,所以在 ...
分类:
编程语言 时间:
2020-01-18 14:55:32
阅读次数:
103
强引用(Strong) 就是我们平时使用的方式 A a = new A();强引用的对象是不会被回收的 软引用(Soft) 在jvm要内存溢出(OOM)时,会回收软引用的对象,释放更多内存 弱引用(Weak) 在下次GC时,弱引用的对象是一定会被回收的 虚引用(Phantom) 对对象的存在时间没有 ...
分类:
编程语言 时间:
2020-01-18 10:24:11
阅读次数:
72
Java虚拟机主要分为以下五个区: 一、方法区(METHOD AREA): 1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载 2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数 ...
分类:
其他好文 时间:
2020-01-16 12:43:04
阅读次数:
90
这篇文章主要来介绍下 JVM 中的各种 GC,让大家来搞清楚这几个概念。 大家可能见到过很多的 GC 名词,比如:Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC。 这么多概念,想想都头疼,到底各种乱七八糟的 GC 指的是什么? 下面先引用 R 大 ...
分类:
其他好文 时间:
2020-01-15 19:41:06
阅读次数:
56
场景,模板设置了几个热门标签,需要给这些标签随机匹配class,不同class对应的颜色不一样, [e:loop={32,10,2,0,'','rand() DESC'}] <?php $arr = array("zilan","cheng","lan","hong","lv","huang"); ...
分类:
Web程序 时间:
2020-01-15 19:38:55
阅读次数:
109