最新文章

Nginx 部署 SSL 证书

申请SSL证书 国外的startssl和国内的沃通可以申请免费的SSL证书,将申请好的证书下载并解压到本地。 部署SSL证书 将申请到的证书上传到服务器中。 修改Nginx配置文件,开启ssl服务,并将SSL证书的地址配置好。 server { listen 443 ssl; server_name qlm.pw; index index.html inde […]

【转】关键业务系统的 JVM 启动参数推荐

原文地址 在关键的业务系统里,除了继续追求技术人员最爱的高吞吐与低延时之外,系统的稳定性与出现问题时排查的便捷性也很重要。 这是本文的一个原则,后面也会一次又一次的强调,所以与网上其他的文章略有不同,请调优高手和运维老大们多指引。 前言1,资料 学习开源项目的启动脚本是个不错的主意,比如Cassandra家的, 附送一篇解释它的文章。 JVM调优的̶ […]

【转】vim 程序编辑器

一般模式下常用按键说明 移动光标的方法 0 移动到这一行最前面字符处 $ 移动到这一行最后面字符处 H 光标移到到这个屏幕最上方第一个字符 M 光标移动到这个屏幕中间位置第一个字符 L 光标移动到这个屏幕最下方第一个字符 G 移动到这个文件最后一行 nG 移动到第n行(:set nu) gg 移动到文件第一行(1G) n[Enter] 光标向下移动n行 查找 […]

使用 NIO 提升性能

在nio中和Buffer配合使用的还有Channel。Channel是一个双向通道,既可读,也可写。 Buffer的基本原理 位置(position)、容量(capactiy)、上限(limit) Buffer的相关操作 1.Buffer的创建 //从堆中分配 ByteBuffer buffer = ByteBuffer.allocate(1024); // […]

Java 异常

异常机制 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。 异常处理的流程: 遇到错误,方法立即结束,并不返回一个值;同时,抛出一个异常对象 调用该方法的程序也不会继续执行下去,而是搜索一个可以处理该异常的异常处理器,并执行其中的代码 异常的分类 异常 […]

【转】JVM 飙高排查脚本-结构分析

该文章来自于阿里巴巴技术协会(ATA)精选文章。 大家都有过遇到线上程序LOAD突然狂飙的场景,要排查到为何狂飙,我们当务之急就是要找到导致CPU飙升的原因。如果是进程级的应用,如Nginx、Apache等都还比较容易排查,但如果是JVM中的某个线程导致的,估计有人就要开始抓瞎了。 很多人都或多或少的知道有这么一个脚本,能帮你大致定位到现场导致LOAD飙升的 […]

【转】JVM性能调优监控工具

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 A、 jps(Java Virtual Machine Process Status Tool) j […]

JVM 设置

堆栈空间设置 -XX:+PrintGCDetails -Xms: 初始堆大小 -Xmx: 最大堆大小 -Xmn: 新生代大小 NewSize=MaxNewSize -XX:NewSize: 新生代初始堆大小 -XX:MaxNewSize: 新生代最大堆大小 -Xss: 线程栈大小 -XX:PermSize: 永久代(方法区)初始值 -XX:MaxPermSi […]

线程池 ThreadPoolExecutor

常用线程池 newFixedThredaPool 固定线程数量的线程池,改线程池中的线程数量始终不变。当有一个新任务提交时,若有空闲线程,则立即执行,否则会被暂存到一个任务队列中 newSingleThreadExecutor 只有一个线程的线程池 newCachedThreadPool 可根据实际情况调整线程数量的线程池。若有空闲线程可以复用,则优先使用, […]

Timer的缺陷

Timer管理延时任务的缺陷 Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两个任务的间隔时间,会发生一些缺陷。 Timer当任务抛出异常时的缺陷 如果TimerTask抛出RuntimeException,Timer会停止所有任务的运行。 Timer执行周期任务时依赖系统时间 Timer执行周期任务时依赖系统时间, […]

java并发包

Java 并发包位于: java.util.concurrent ArrayBlockingQueue 定长阻塞队列 ConcurrentHashMap 高性能线程安全的HashMap,使用分段锁提供高能 ConcurrentLinkedQueue 高性能线程安全LinkedQueue,使用CAS操作代替锁提高性能 CopyOnWriteArrayList […]

Spring-技术内幕-IoC容器的实现

控制反转(Inversion of Control) 简单容器:BeanFactory 容器的高级形态:ApplicationContext Bean定义:BeanDefinition 定位(Resource) -> 载入、解析(BeanDefinitionReader、BeanDefinitionDocumentReader,创建BeanFactor […]