java 服务器性能优化
annan211
这个作者很懒,什么都没留下…
展开
-
winSCP 服务器 在线联网
1 新建 bb.bat 文件里面是你的服务器 列表 [code="java"]route delete 0.0.0.0 mask 0.0.0.0 10.1.11.254route add 10.1.7.4 mask 255.255.255.0 10.1.11.2route add 10.1.7.5 mask 255.255.255.0 10.1.11.2route ad...原创 2015-01-09 18:05:36 · 187 阅读 · 0 评论 -
windows 监控工具
[size=medium] 1 windows 监控工具 运行-perfmon 具体使用方法可自研 2 Process Explorer 也是一款性能良好的进程管理工具。 3 pslist 是windows 下的命令行工具,它可以显示进程乃至线程的详细信息。[/size]...原创 2014-10-22 11:23:39 · 158 阅读 · 0 评论 -
Amino 框架简介
[size=medium] 对数据加锁是实现多线程的一种策略,但是加锁无疑会增加系统性能开销,如果处理不当会带来巨大损失。 及时使用一些无所算法,但仍然需要在应用层处理线程间的冲突问题,这无疑增加了应用程序的开发难度和算法的复杂度。为了解决这个问题,选择一些现成的无所并行框架就成了解决这个问题的好办法。 Amino 框架就是其中之一,他是apache下的一个分支项目,提...原创 2014-10-17 11:30:16 · 990 阅读 · 0 评论 -
Java 重入锁(ReentrantLock)和内部锁(synchronized)
[size=medium] ReentrantLock 和 synchronize的 都是java 提供的锁机制,重入锁可以解决所有的内部锁的问题,那么问题来了,为什么还需要保持这两种锁同时存在呢。 首先确定一点,如果没有特殊要求,内部锁仍然是我们进行并发编程的首选。 在Jdk 1.5 之后,内部锁在性能上已经和重入锁相差不大。 但是重入锁提供了更为强大的功能...原创 2014-10-16 15:44:50 · 270 阅读 · 0 评论 -
Java 锁分离
[size=medium] 读写锁思想的延伸就是锁分离。读写锁根据读写操作功能上的不同,进行了有效的锁分离。依据应用程序的功能特点,使用类似的分离思想,也可以对独占锁进行分离。一个典型的应用就是java.util.concurrent.LinkedBlockingQueue. 在LinkedBlockingQueue的实现中。take()和put()函数分别实现了从队列...原创 2014-10-16 15:35:56 · 601 阅读 · 0 评论 -
java 高性能运算-- 双端队列
[size=small] JDK 1.6中 提供了一种双端队列,简称 Deque. 这里简要介绍 三种双端队列, LinkedList ArrayDeque 和 LinkedBlockingDeque,他们都实现了双端队列Deque接口,其中LinkedList使用链表实现了双端队列, ArrayDeque 使用数组实现双端队列。通常情况下,由于 ArrayDeque基于数组实现,拥有...原创 2014-10-15 16:04:08 · 199 阅读 · 0 评论 -
java 高性能运算--并发队列
[size=small] JDK 提供了两套并发队列的实现,一个是以 ConcurrentLinkedQueue 为代表的高性能队列,一个是以 BlockingQueue接口为待变的阻塞队列,都继承自Queue接口。 ConcurrentLinkedQueue 是一个适用于高并发场景下的队列。它通过无锁的方式,实现了高并发状态下的高性能,通常情况下,ConcurrentLin...原创 2014-10-15 15:33:37 · 443 阅读 · 0 评论 -
java 高性能运算--量化线程池的大小
[size=small] 线程池合理的长度取决于将要提交的任务类型和所部署系统的特征。 为了正确的定制线程池的长度,你需要理解你的计算环境、资源预算和任务的自身特性。部署系统中安装了多少个CPU?多少内存?任务主要执行的是计算、I/O还是一些混合操作?它们是否需要像JDBC Connection这样的稀缺资源?如果你有不同类别的任务,它们拥有差别很大的行为,那么应该考虑使用多个...原创 2014-10-15 11:42:12 · 189 阅读 · 0 评论 -
java 高性能运算--展开循环
[size=medium] 可以优化的地方实在是太多了,只要你愿意去想,去尝试。代码如下[/size] [code="java"] package 高性能;public class 展开循环 { public static void main(String[] args) { int []ary = new int[9999999]; ...原创 2014-10-14 15:43:11 · 409 阅读 · 0 评论 -
java 高性能运算--switch 替代方案
[size=small] Java 原生的语法糖中存在很多种 易于阅读,效率略低的方案,我们可以适当改写。 比如 switch 语法糖。[/size][code="java"]int re = 0;for(int i=0;i...原创 2014-10-14 15:24:18 · 1349 阅读 · 0 评论 -
java 高性能运算--位运算代替乘除法
[size=small] 位运算 是公认的 高效运算,在高频计算中,可以使用位运算替换一般简单的乘除法来提升系统性能。[/size] [code="java"] int a = 100; for(int i=0;i...原创 2014-10-14 15:03:22 · 752 阅读 · 0 评论 -
Java 中的弱引用
[size=small] 简单一点说,我们建议使用 WeakHashMap 在系统内存紧张的情况下 代替 HashMap,因为 WeakHashMap 在内存紧张的情况下会自动释放掉持有弱引用的内存数据。[/size]...原创 2014-10-14 14:31:52 · 67 阅读 · 0 评论 -
Stirng 字符串 原生方法 charAt 与 startWith
[size=small] charAt(int index) 与 startWith(String str) 都是 Stirng 的原生方法,用于确定 某个位置上的字符。 在百万数量级的执行效率上。charAt 要比 startWith 高 1倍以上,数据量更大的时候,速度比差更明显。[/size]...原创 2014-10-11 11:23:04 · 304 阅读 · 0 评论 -
比 StringTokenizer 更加优化的字符串分割
[size=small] 上篇文中说到,StringTokenizer 是相对比较快的字符分割方法,split和正则表达式 是java 建议的使用方法,subString 在原始字符串很大,切割操作又被高频使用的情况下很容易出现 内存溢出的情况。但是 substring 确实执行的很快,字符串操作中 还有其他方法比如 indexOf 执行的也非常高效,我们是不是可以自己组合,使用高效方法同时...原创 2014-10-11 11:05:38 · 154 阅读 · 0 评论 -
Java 分割字符串 StringTokenizer
字符分割 jdk建议使用 split或者 正则表达式,但是追求效率的系统可以参照使用如下更加优化的字符分割见下节[code="java"]package String;import java.util.StringTokenizer;public class StringTokenizerDemo { public static void main(Stri...原创 2014-10-10 19:15:57 · 100 阅读 · 0 评论 -
String 类的一点认识
[size=small] String 是Java中相当强大的类,虽不属于基本类型,但是非常重要。 关于Stirng 其他的不做过多介绍,这里简要说明几个小点。 [/size][code="java"]package String;public class StringDemo { public static void main(String...原创 2014-10-10 18:52:18 · 103 阅读 · 0 评论 -
java 负载均衡
[size=medium] 负载均衡的概念比较广。 具体可参见 [url]http://nodex.iteye.com/blog/1174024[/url] 对以上博客的简单补充是 ,负载均衡的一个典型的实现是 tomcat集群 。 使用apache 服务器作为 负载分配器,将请求转向各个tomcat 服务器,实现负载均衡。 在使用tomcat集群时,有...原创 2014-10-09 19:10:57 · 130 阅读 · 0 评论 -
Java高效读取大文件
1、概述 本教程将演示如何用Java高效地读取大文件。这篇文章是Baeldung (http://www.baeldung.com/) 上“Java——回归基础”系列教程的一部分。 2、在内存中读取 读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法:[code="java"]Files....原创 2015-01-22 19:45:01 · 123 阅读 · 0 评论 -
JDK 命令行工具
[code="java"] JDK 命令行工具 实现在tools.jar文件 1 jps :jps 命令类似于Linux下的ps,但其只用于列出java的进程。 参数 -q 指定jps只输出进程ID 参数 -m 用于输出传递给java进程(主函数)的参数 参数 -l 用于输出主函数的完整路径 ...原创 2014-10-22 14:47:43 · 111 阅读 · 0 评论