JVM发生OOM的 8 种原因、及解决办法

1. Java 堆空间 发生频率: 5 颗星 造成原因: 无法在 Java 堆中分配对象 吞吐量增加 应用程序无意中保存了对象引用,对象无法被 GC 回收 应用程序过度使用 finalizer。finalizer 对象不能被 GC 立刻回收。finalizer 由结束队列服务的守 »

Git 创建空分支

准备工作,clone 项目,然后进入项目目录。 1.创建一个(空)分支 使用参数 --orphan,这个参数的主要作用有两个,一个是拷贝当前所在分支的所有文件,另一个是没有父结点,可以理解为没有历史记录,是一个完全独立背景干净的分支。 使用 git help checkout命令 »

语录

曾仕强 只要心中有所求,就得不到任何东西(人情不能讨)。 千万不要被人轻易看穿, 孔子也主张“老二”哲学。 汤蓓 越不受重视的孩子,长大以后反而更孝顺(对家庭付出了更多) 杂记 每个人都有过去,而我只有你 »

MySQL 杂记

授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES; 查询死锁 SELECT concat('kill ', id »

Java NIO 初探

在 JDK 1. 4 中新加入了 NIO( New Input/ Output) 类, 引入了一种基于通道和缓冲区的 I/O 方式,它可以使用 Native 函数库直接分配堆外内存,然后通过一个存储在 Java 堆的 DirectByteBuffer 对象作为这块内存的引用进行操 »

Redis protected-mode

Redis protected-mode 是3.2 之后加入的新特性,在redis.conf的注释中,我们可以了解到,他的具体作用和启用条件: # Protected mode is a layer of security protection, in order to av »

JVM与Linux内存关系

转自:JVM与Linux内存关系分析,本文重新做了编排。 JVM启动参数-XX:+DisableExplicitGC的作用是禁止代码中显式调用GC。代码如何显式调用GC呢,通过System.gc()函数调用。如果加上了这个JVM启动参数,那么代码中调用System.gc()没 »

Tomcat的连接数与线程池

转自:详解tomcat的连接数与线程池,本文重新做了编排。 1.前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 Tomcat配置文件server.xml中:Connector的主要功能 »

基于 Nginx 实现 10万+ 并发,Linux 内核优化

转自:芋道源码 由于默认的Linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能。 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态we »

Java 知识杂记

来之不易的美团面试,结果居然挂了...(附面试答案) 字节跳动面试官问我看过哪些源码,然后就没有然后了 关于技术总监面试被问细节的一个回答: 所以我的最终答案就是,“能力上不求全责备,意愿上不推三阻四”。如果面试遇到细节问题,最真诚的答案大概是这样:“我是技术总监,我可以把 »