- 浏览: 208178 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
brenda:
...
技术选型(转) -
JavaScriptOMG:
写的真好,不知道如果是java.sql.date的话,怎么写呢 ...
Java得到下一天明天,明天时间 -
少女杀手:
和他的一摸一样,一个字都不差
http://anysky131 ...
弹出窗口代码大全 -
shipping:
字体好小啊,都没兴趣看下去了
测试网站性能的30款免费在线工具 -
ddd:
其实一切人活着的意义就在于他死前的心情是什么。
活着是多么美好
网络通信:协议TCP/IP,UDP/Ip,Multicast
IO:BIO,NIO-Reactor,AIO-Proactor
消息方式的系统间通信:
基于Java包:TCP/IP(Socket、ServerSocket;SocketChannel、ServerSocketChannel)
UPD/IP(DatagramSocket、DatagramPacket;DatagramChannel、DatagramPacket)
Mutilcast(MulticastSocket、DatagramPacket)
SRM
基于开源框架:Mina,Netty
性能角度:连接管理(连接池、连接复用、短连接、长连接)
远程调用方式的系统间通信:基于Java包(RMI(UnicastRemoteObject,LocateRegistry),Webservice)
基于开源框架(Spring RMI,Apache CXF)
性能角度(反射,序列化、反序列化)
深入理解JVM
JAVA代码的执行:代码编译为class——sun.jdk中的javac,装载class——ClassLoader,执行class(解释执行、编译执行(client complier,server complier)
内存空间:方法区、堆、JVM方法栈、本地方法栈和PC寄存器
内存分配:堆上的分配、TLAB分配、栈上的分配
内存回收:算法(Copy,Mark-sweep,mark-compact)
Sun JDK 实现(分代回收,GC参数,G1)
内存状态分析:jconsole、visualvm、jstat、jmap、MAT
线程资源同步和交互机制:
资源同步机制:synchronized实现、lock/unlock
线程交互机制:Object.wait/notify/notifyAll ——Double check pattern
并发包提供的交互机制——semaphore、CountdownLatch
线程状态及分析方法:jstack、TDA
Sun JDK:
集合包:List(ArrayList,LinkedList,Vector,Stack),Set(HashSet,TreeSet),Map(HashMap,TreeMap)
并发包:ConcurrentHashMap,CopyOnWriteArrayList,CopyOnWriteArraySet,ArrayBlockingQueue,AtomicInteger,ThreadPoolExecutor,Executors,FutureTask,Semaphore,CountDownLatch,CyclicBarrier,ReentrantLock,Condition,ReentrantReadWriteLock
序列化,反序列化
性能调优:
1,先粗粒度划分,在细粒度寻找具体点
2,设定调优目标
3,根据现状衡量目前系统资源的瓶颈,需找消耗资源的代码,寻找执行慢的原因和代码
(CPU(us(代码循环、计算量大等),sy(线程上下文,线程多,IO等待多)))
(文件IO(并发读写多,文件大))
(内存(JVM堆内存(创建了多个对象,持有了不必要的引用),JVM以外的内存(创建了太多的线程,使用了BYTEBUFFER但未释放))
(网络IO(读写网络操作太频繁))
(访问量不大(锁竞争激烈,未充分使用硬件资源,数据量大))
4,性能调优(a针对系统资源消耗过多的优化;b资源消耗不多,但执行慢)
a:cpu:适当释放CPU,wait/notify机制,JVM和内存的优化;降低锁竞争,coroutine;文件IO:异步,限流,限制文件大小;内存,GC调优,JVM堆的代大小调优,释放不需要引用的对象,对象缓冲池
b:降低锁竞争(lock-freem,拆分锁,copyOnWrite),充分使用硬件(充分使用多个CPU,充分使用内存)
构建高可用:避免单点,提高应用的可用性
负载均衡技术:选址,filover,响应返回方式(NAT,IP-Tuneling,DSR),硬件负载,软件负载VRRP,去中心化实现软件负载gossip
热备:Linux HA等
使用多机房
提高可用性:报警系统,日志记录和分析系统,水平伸缩,拆分,读写分离,其他
构建可伸缩的系统
垂直伸缩:支撑高访问量(增加CPU(锁问题,线程数随CPU增加的问题),增加内存(cache设置为内存比率的问题))
支撑大数据量:分表
提升计算能力:并行多线程计算
水平伸缩:SNA,有状态的情况(存在内存的状态(用户身份)广播同步,分布式缓存,terracotta),文件(上传的文件(存储设备,SAN文件系统,分布式文件系统));伸缩带来的数据库问题(cache,分库,异步数据库访问,中间层DAL)
支撑大数据量:性能压力(读写)读写分离,多master
提升计算能力:mapreduce,MPI
类加载机制:装载--链接(校验,准备,解析)--初始化
发表评论
-
技术选型(转)
2011-05-17 15:05 11692.1. 基础架构 ... -
跨域访问session(转)
2011-04-22 16:14 2673大一些的网站,通常都 ... -
(转)分享一下,我常去的中文技术网站
2011-04-18 13:31 874先说一下大多数人都知 ... -
(转) request.getPathInfo() 方法的作用
2011-04-14 11:58 944request.getPathInfo(); 这个方法返回请 ... -
找到一篇性能测试的好文,简单实用,收藏之。
2011-04-10 21:59 846Java程序性能测试 1 概述 在 ... -
需要牢记的java编程规则(收藏)
2011-04-10 20:52 754(1) 类名首字母应该 ... -
一个计算机专业学生几年的编程经验汇总之二(收藏)
2011-04-10 19:48 918############################### ... -
一个计算机专业学生几年的编程经验汇总之一(收藏)
2011-04-10 18:05 898来学习Java也有两个年头了,永远不敢说多么精通,但也想谈谈自 ... -
(转)各种架构图汇总
2011-04-06 22:27 1439转载请保留出处,刘晓涛汇总!!! http://bl ... -
(转)java并发编程实践笔记
2011-04-05 22:23 8201, 保证线程安全的三种方法 : a, 不要跨线程访问共享变量 ... -
(转)构建可伸缩,高性能的互联网应用
2011-04-05 22:22 789间过得很快,来新公司已经两个月了,在这两个月的时间里,自己也感 ... -
(转)百万级访问量网站的技术准备工作
2011-04-05 22:20 924当今从纯网站技术上来说,因为开源模式的发展,现在建一个小网站已 ... -
测试数据库连接状态
2011-03-25 08:45 1424while (true) { long star ... -
(转)什么是Java里的OO思想?
2011-03-24 14:12 921OO就是面向对象 面向对象(Object Oriented,O ... -
(转)JAVA 检测网络是否为连通状态 ping
2011-03-23 14:34 2554要用java检测网络资源是否可用,我们可以采用以下两种方法: ... -
中文乱码问题的解决方法
2011-01-21 17:33 1198tomcat下中文的彻底解决[转] http://blo ... -
nginx 映射80端口
2009-08-04 09:13 3918配置一个resin, 为不用输入端 ... -
调整 Java 虚拟机
2009-07-09 23:43 1086尽管 JVM 调整操作随 JVM 提供程序的不同而有所变化,但 ... -
测试网站性能的30款免费在线工具
2009-06-28 02:12 2051你是否肯定你的网站完全兼容各大浏览器?是否知道多少秒可以打开你 ... -
Memcached-----memcached实现内存缓存
2009-06-27 15:38 2727Memcached是danga.com(运营LiveJourn ...
相关推荐
分布式Java应用基础与实践是Java开发领域中的一个重要主题,它涉及到如何通过网络将多个独立的计算机节点连接起来,协同处理任务,以实现系统的高可用性、高性能和可伸缩性。在Java中,分布式系统主要依赖于一些核心...
本书介绍了编写分布式Java应用涉及的众多知识点,分为了基于Java实现网络通信、RPC;基于SOA实现大型分布式Java应用;编写高性能Java应用;构建高可用、可伸缩的系统四个部分,七章内容来进行介绍,在这一本不算厚的...
《分布式Java应用基础与实践》pdf电子版,
本书介绍了编写分布式Java应用涉及的众多知识点,分为了基于Java实现网络通信、RPC;基于SOA实现大型分布式Java应用;编写高性能Java应用;构建高可用、可伸缩的系统四个部分,七章内容来进行介绍,在这一本不算厚的...
《分布式Java应用 完整版》是一本深入探讨如何利用Java技术构建分布式系统的权威指南。全书分为四个主要部分,全面覆盖了从基础的网络通信到复杂的系统架构设计的各个环节,旨在帮助读者掌握构建高性能、高可用和可...
由于提供的【部分内容】链接均指向同一网址,且无法从中提取具体信息,因此无法直接分析这些链接所包含的分布式Java应用的具体知识点。但是,我可以基于分布式Java应用的主题提供丰富的知识点。 分布式Java应用指的...
分布式Java应用是现代企业级软件开发中的重要组成部分,它涉及到多台计算机之间的协作,以处理大规模数据和提供高可用性服务。在这个主题中,我们主要关注的是如何利用Java技术来构建分布式系统,以及相关的理论与...
分布式Java应用基础与实践源码分析 在当前的互联网时代,分布式系统已经成为企业级应用的主流架构。Java作为广泛使用的编程语言,其在分布式领域的应用非常广泛。本篇将深入探讨分布式Java应用的基础知识和实践要点...
分布式Java应用是现代互联网行业中广泛讨论的话题,尤其在大型企业级系统中,为了处理高并发、海量数据等问题,采用分布式架构成为了必要的选择。林昊,作为知名的Java技术专家,他的著作《分布式Java应用》深入浅出...
### 实现分布式Java应用的挑战与解决方案 尽管Java提供了丰富的库和技术栈来支持分布式应用的开发,但在实际应用中仍面临许多挑战,例如: - **一致性问题**:在分布式系统中保持数据的一致性是一项复杂任务,需要...
分布式Java应用基础与实践是Java开发领域中的一个重要话题,它涉及到如何在多个计算机节点上协同工作,以提高系统的可扩展性、可靠性和性能。在这个完整版的资源中,包括了一本名为“分布式JAVA应用 基础与实践.pdf...
分布式Java应用:基础与实践
分布式JAVA应用基础与实践是Java开发领域中一个重要的主题,主要涵盖了如何在大规模网络环境中设计、部署和管理Java应用程序。本书由林昊编著,旨在帮助开发者深入理解分布式系统的基本概念,掌握Java在分布式环境中...
分布式Java应用是计算机科学中的一个重要领域,它利用了Java语言的网络友好性,为实现大型、高并发、高性能的系统提供了可能。分布式计算技术有着悠久的历史,它从早期的C/S架构,到P2P模型,再到现在的云计算,始终...
分布式Java应用知识点全景图,很全面,值得一读
分布式Java应用基础与实践是Java开发中的重要领域,它涵盖了多台计算机之间的协作,通过网络进行数据交换和服务调用,以实现大规模系统的高效运行。在Java世界中,分布式技术广泛应用于构建可扩展、高可用的互联网...
分布式Java应用基础与实践.pdf 林昊 著 中文 电子工业出版社
分布式Java应用是现代企业级软件开发中的重要组成部分,它涉及到多个服务器协同工作,以处理大规模数据和高并发请求。在本资源包中,"分布式Java应用完整版"提供了全面的学习资料,包括视频教程和电子书,帮助开发者...