• 等级
  • 4534287 访问
  • 105 原创
  • 1 转发
  • 457 排名
  • 739 评论
  • 1451 获赞

OOM终结者参数调优

内存溢出(Out of Memory,OOM), 是指计算机的所有可用内存(包括交换空间, swap space), 都被使用满了。 这种情况下, 默认配置会导致系统报警, 并停止正常运行. 当然, 将 /proc/sys/vm/panic_on_oom 参数设置为 0, 则告诉系统内核, 如果系统发生内存溢出, 就可以调用 oom_killer(OOM终结者)功能, 来杀掉最胖的那头进程(rog...

2018-05-27 11:56:54

配置catalina.out的日志格式

启动 Tomcat 时, catalina.out 中输出的日志格式可能不太理想。 看看某些版本默认的格式: 四月 24, 2018 6:49:32 下午 org.apache.catalina.startup.Catalina start 信息: Server startup in 9772 ms 有点别扭, 想要调整成下面的格式: 24-Apr-2018 18:52:16.13...

2018-05-07 19:27:33

没有立场的专业人士最容易背锅

今天在tweet上看到一幅有趣的漫画: http://theoatmeal.com/comics/design_hell。说的是上级领导怎样坑死一个专业的设计师。 漫画很有趣, 而且在实际工作中也经常发生这种悲剧。 到底是谁的锅 ? 普通员工和专业人士的不同, 在于普通员工需要别人指挥着干活, 而专业人士能够为BOSS提供各种决策建议。招聘普通员工的关注点主要是执行能力, 要听指挥, 还能出活...

2018-03-07 20:08:25

spring通过QQ邮箱发送Email

本文简要介绍如何通过Spring框架的支持,通过QQ邮箱来发送邮件,包括简单文本,附件、以及内联图片、HTML以及HTTP图片。 spring-context-support很早就内置支持邮件发送。 当然, 官方文档明确指出, 需要依赖 JavaMail 这个库。 在这个年代, 我们很少自己搭建 smtp 服务器来发送邮件, 一般都是使用邮件提供商的服务。 例如 QQ邮箱, 企业邮箱...

2018-03-01 15:28:20

Java-根据IP统计访问次数

JSP根据IP统计访问次数 本文简要介绍如何实现一个IP访问计数器。 为了简单, 使用 JSP 来实现, 但读者需要明白, Java代码可以在到处运行。 示例Demo页面: http://www.cncounter.com/test/counter.jsp 返回JSON: http://www.cncounter.com/test/counter.jsp?format=json 清空本I...

2018-02-09 15:08:39

5.3 Java Web应用目录结构

web模块, 也就是 Servlet 规范中的web应用。在Java EE架构中, web模块(web module) 是最小的web部署单元。 其中包含web组件以及静态资源; 如图片之类的静态资源也被称为 web资源。 除web组件和web资源以外, web模块中还可以包含其他文件, 例如服务端运行所需的工具类,JAR 包等等。 web模块有特定的结构。顶层目录对应Web应用的 docu

2018-01-21 21:48:11

Java正则系列: (2)量词

翻译说明 greedy: 贪婪型, 最大匹配方式; reluctant: 懒惰型, 最小匹配方式; possessive: 独占型, 全部匹配方式; 也翻译为[支配型]; 这3种量词, 是修饰量词的量词, 可以理解为正则格式重复的匹配类型。 量词 量词(Quantifier)用来指定某部分正则所重复的次数。为了方便,本文分别介绍 Pattern A

2018-01-11 00:08:27

Java正则系列: (1)入门教程

本文简要介绍Java的正则表达式及其实现方式,并通过实例讲解正则表达式的具体用法。 1. 正则表达式 1.1. 简介 正则表达式(Regular Expression), 简称 正则, 也翻译为 正规式, 用来表示文本搜索模式。英文缩写是 regex(reg-ex). 搜索模式(search pattern)可能多种多样, 如, 单个字符(character), 特定字符串(f

2018-01-03 02:04:04

Java技巧: 根据网址/域名查询DNS/IP地址

需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的IP地址和端口号。 说明: 本文不涉及底层的 DNS 协议, 直接使用Java平台提供的API进行操作。 DNS也就是 Domain Name Service,即 域名服务。 我们知道, Java中与网址有关的类包括 java.net.URL 和 ...

2017-12-05 16:48:58

SpringMVC懒加载导致的问题一则

因为加载速度大多较快,所以多数应用都没配置该参数。 但对于调用量较小的纯API来说可能就会有一些影响。 `load-on-startup` 配置一般是大于0的数值,表示启动顺序。 如果相同,则表明这两个Servlet启动顺序随意。

2017-12-05 15:08:45

Redis安全注意事项

本文简要介绍 Redis 安全相关的话题, 包括: Redis访问控制机制、Redis源码安全性, 外部输入可能触发的恶意攻击, 以及其他相关问题。

2017-11-30 20:30:54

MongoDB中对数组元素进行查询

查询 MongoDB中根据数组子元素进行匹配,有两种方式。 使用 “[数组名].[子元素字段名]” 的方式进行匹配。 使用 “[数组名]” $elemMatch { [子元素字段名] }的方式。 不同点在于所匹配的主体不同。 “[数组名].[子元素字段名]” 的方式匹配的主体为 “[数组名]”, 适用于单个条件,如果是多个条件, 则变成数组子元素之间的“或”运算。 请看示例: 假设...

2017-10-23 16:28:01

OutOfMemoryError系列(8): Kill process or sacrifice child

一言不合就杀进程。。。 我们知道, 操作系统(operating system)构建在进程(process)的基础上. 进程由内核作业(kernel jobs)进行调度和维护, 其中有一个内核作业称为 “Out of memory killer(OOM终结者)”, 与本节所讲的 OutOfMemoryError 有关。

2017-10-09 00:54:37

OutOfMemoryError系列(7): Requested array size exceeds VM limit

Java平台限制了数组的最大长度。各个版本的具体限制可能稍有不同, 但范围都在 `1 ~ 21亿` 之间。 如果程序抛出 `java.lang.OutOfMemoryError: Requested array size exceeds VM limit` 错误, 就说明想要创建的数组长度超过限制。

2017-10-07 16:23:03

OutOfMemoryError系列(6): Out of swap space?

错误信息 java.lang.OutOfMemoryError: Out of swap space? 表明, 交换空间(swap space,虚拟内存) 不足,是由于物理内存和交换空间都不足所以导致内存分配失败。

2017-09-29 19:15:56

OutOfMemoryError系列(5): Unable to create new native thread

更多的情况, 触发创建 native 线程时的OutOfMemoryError, 表明编程存在BUG. 比如, 程序创建了成千上万的线程, 很可能就是某些地方出大问题了 —— 没有几个程序可以 Hold 住上万个线程的。

2017-09-25 19:27:27

OutOfMemoryError系列(4): Metaspace

java.lang.OutOfMemoryError: Metaspace 错误所表达的信息是: 元数据区(Metaspace) 已被用满

2017-09-22 11:46:46

OutOfMemoryError系列(3): Permgen space

本文通过实例介绍JDK7及之前的OutOfMemoryError: Permgen space JVM限制了Java程序的最大内存使用量, 可以通过启动参数来配置。 各内存池的最大值, 由JVM启动参数 -Xmx 和 -XX:MaxPermSize 指定. 如果没有明确指定, 则根据操作系统平台和物理内存的大小来确定。

2017-09-15 17:48:45

HTML页面基本结构

本文简要介绍HTML中的各种元素及其相关属性,读者需要有一个概念: HTML页面都是由基本元素及属性组成的。

2017-09-11 09:52:21

5. 应用服务器与微服务 - JavaEE基础系列

本文是JavaEE基础系列的第五节。 Microservices(微服务) 是当今世界最火爆的软件架构。相比早期的软件工程, 微服务已经变成了一种新的 面向服务的架构(SOA) 。 本质上, 微服务是将系统拆分成多个不同的组件, 互相之间协调组织成为一个整体。

2017-09-07 18:46:06

博客专家

铁锚

系统架构师,Java性能调优专家。热爱程序开发和设 计; 积极应对各种情境和挑战; 喜欢钻研新技术, 闲暇时喜欢翻译和分析英文文档/技术博客。 ...展开 收起
关注
  • 教育·培训·科研·院校/架构师
  • 中国 北京 海淀区
奖章
  • 博客专家
  • 专栏达人
  • 持之以恒