运维常识整理基础服务: LAMP:Linux+Apache+MySQL+(PHP\Python\Perl) 是一组用来建立web应用平台的解决方案。LNMP:Linux+ Nginx+MySQL+PHP 网站服务器架构 Apache:一款可以跨平台的Web服务器软件。Nginx:一个高性能的HTTP ...
分类:
其他好文 时间:
2020-01-10 12:53:28
阅读次数:
67
10个java开发工具,所有java开发人员都应该了解的工具1、GroovyGroovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。为Java开发者提供了现代最流行的编程语言特性,而且学习成本很低,支持DSL和其它简洁的语法,让代码变得易于阅读和维护。Groovy拥有处理原生类型,面向对象以及一个AntDSL,使得创建
分类:
编程语言 时间:
2020-01-09 01:18:11
阅读次数:
125
10个java开发工具,所有java开发人员都应该了解的工具 1、Groovy Groovy 是 用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。 为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低,支持DSL ...
分类:
编程语言 时间:
2020-01-08 21:26:05
阅读次数:
90
无锁的概念 在谈论无锁概念时,总会关联起乐观派与悲观派,对于乐观派而言,他们认为事情总会往好的方向发展,总是认为坏的情况发生的概率特别小,可以无所顾忌地做事,但对于悲观派而已,他们总会认为发展事态如果不及时控制,以后就无法挽回了,即使无法挽回的局面几乎不可能发生。 这两种派系映射到并发编程中就如同加 ...
分类:
其他好文 时间:
2020-01-08 14:20:36
阅读次数:
80
1. Java虚拟机运行时数据区 在JDK1.8之前,JVM运行时数据区分为堆、虚拟机栈、本地方法栈、方法区、程序计数器。如下图所示: 虚拟机栈:线程私有,随线程创建而创建。栈里面是一个一个“栈帧”,每个栈帧对应一次方法调用。栈帧中存放了局部变量表(基本数据类型变量和对象引用)、操作数栈、方法出口等 ...
分类:
编程语言 时间:
2020-01-08 14:14:16
阅读次数:
66
JVM中将内存分为若干部分:堆、方法区、虚拟机栈、本地方法栈、程序计数器程序计数器:该区域是内存中较小的一块区域 是当前线程在执行的字节码的行号指示器。程序计数器是线程私有的,每个线程都有一个程序计数器,线程之间的程序计数器相互独立,互不干扰。是java虚拟机规范中唯一一个没有规定任何OutOfMe ...
分类:
其他好文 时间:
2020-01-07 18:19:31
阅读次数:
92
在上一篇博客,我们介绍了类加载过程,包括5个阶段,分别是“加载”,“验证”,“准备”,“解析”,“初始化”,如下图所示: 本篇博客,我们来介绍Java虚拟机的双亲委派模型,在介绍之前,我先抛出一个问题: 我们知道,在JDK源码中,有各种Java自带的类,比如java.lang.String,java ...
分类:
编程语言 时间:
2020-01-06 22:47:22
阅读次数:
116
JAVA虚拟机加载类是采用双亲委派加载机制加载。 双亲委派模型 模型如下图: 双亲委派模型中除了启动类加载器之外其余都需要有自己的父类加载器。 当一个类收到了类加载请求时: 自己不会首先加载,而是委派给父加载器进行加载,每个层次的加载器都是这样。 所以最终每个加载请求都会经过启动类加载器。只有当父类 ...
分类:
其他好文 时间:
2020-01-06 13:08:54
阅读次数:
90
1. Java内存区域 1.1 运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。主要包括:程序计数器、虚拟机栈、本地方法栈、Java堆、方法区(运 行时常量池)、直接内存。 程序计数器 程序计数器(Program Counter Register) ...
分类:
编程语言 时间:
2020-01-05 22:37:11
阅读次数:
95
tomcat 调优-生产环境必备 前言: Tomcat 优化分为系统优化,Java虚拟机调优Tomcat本身的优化。 系统优化: 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行 ...
分类:
其他好文 时间:
2020-01-05 22:09:29
阅读次数:
82