摘要: 从Java代码到Java堆理解和优化您的应用程序的内存使用 本文将为您提供 Java代码内存使用情况的深入见解,包括将int值置入一个Integer对象的内存开销、对象委托的成本和不同集合类型的内存效率。您将了解到如何确定应用程序中的哪些位置效率低下,以及如何选择正确的集合来改进您的代码。 优化... 阅读全文
posted @ 2015-09-15 19:04 牛肉羊杂汤 阅读(487) 评论(0) 推荐(0) 编辑
摘要: Class 类本身还提供对于获取内部类字节码的方法,分别为getClasses和getDeclaredClasses(),其中getClasses()只能得 到访问级别为public的内部类,而getDeclaredClasses()则能得到所有声明了的内部类。由 于内部类可以分为实例内部类,静态内... 阅读全文
posted @ 2015-09-15 15:22 牛肉羊杂汤 阅读(1315) 评论(0) 推荐(1) 编辑
摘要: 一致性哈希算法理解与Java实现 一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节 点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如... 阅读全文
posted @ 2015-09-15 15:00 牛肉羊杂汤 阅读(108) 评论(0) 推荐(0) 编辑
摘要: Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java 源码编译由以下三个过程组成:分析和输入到符号表注... 阅读全文
posted @ 2015-09-15 11:44 牛肉羊杂汤 阅读(112) 评论(0) 推荐(0) 编辑
摘要: JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To ... 阅读全文
posted @ 2015-09-15 11:40 牛肉羊杂汤 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 内存调优 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC 过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。对JVM内存的系统级... 阅读全文
posted @ 2015-09-15 11:36 牛肉羊杂汤 阅读(95) 评论(0) 推荐(0) 编辑
摘要: jvm物理图 阅读全文
posted @ 2015-09-15 11:31 牛肉羊杂汤 阅读(90) 评论(0) 推荐(0) 编辑
摘要: Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java 源码编译由以下三个过程组成:分析和输入到符号表注... 阅读全文
posted @ 2015-09-15 11:26 牛肉羊杂汤 阅读(111) 评论(0) 推荐(0) 编辑
摘要: public static boolean check(char c) { boolean boo = false; //System.out.println(c); if (((c >= 'a' && c = 'A' && c <= 'Z'))) { boo = true; ... 阅读全文
posted @ 2015-09-15 11:22 牛肉羊杂汤 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 有时候nginx会报HTTP400错误,而且这个HTTP400错误并不是每次都会出现的, 排查发现nginx 400错误是由于request header过大,通常是由于cookie中写入了较长的字符串所引起的。解决方法: 不要在cookie里记录过多数据,如果实在需要的话可以考虑调整在n... 阅读全文
posted @ 2015-09-15 11:19 牛肉羊杂汤 阅读(21342) 评论(0) 推荐(1) 编辑
摘要: redis主从复制配置和使用都非常简单。 通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。 下面是关于redis主从复制的一些特点 1.master可以有多个slave 2.除了多个slave连到相同的master外,slave也可以连接其... 阅读全文
posted @ 2015-09-15 11:10 牛肉羊杂汤 阅读(301) 评论(0) 推荐(0) 编辑