如何进行高性能编程?

如何进行高性能编程,可以从以下三个方面入手:
1、java系统性能
2、java并发编程
3、网络并发编程

java系统性能,就是java调优,例如垃圾回收器的选择,jvm堆大小的设置,tomcat连接数设置,tomcat线程设置等等。当然这些设置是没有规律可循的,想要一个最优解,一个参数一个参数的调试。
当然,也并不是说,有了这些参数,就一定能保证java系统层面性能就高了。主要是看代码,参数只是辅助,代码写烂了,参数也没辙。而这些代码,有时候隐藏的很深,不易发现,就需要我们,打印日志,例如GC日志,OOM日志等等,然后使用专业的工具进行分析,比如GCViewer,jconsole,jstack,jvisualvm,jhat,jmap,eclipse memory analyzer等工具进行分析,定位代码位置,然后处理问题。

java并发编程,随着系统用户越来越多,高并发的情景也很多,这就会出现一个问题,就是如果多个线程处理同一个请求,如何保证数据的安全性(原子性,可见性)呢?这就引出了锁的概念。用锁把处理的操作锁住,相当于把该操作变成单线程运行,就保证了多线程在处理数据时的数据安全性。锁也有多种实现方式,CAS,synchronized,lock,readWriteLock等等方法,在写代码的时候,选择最合适的锁的实现方式。例如,读写锁可以让读操作是并发进行,写操作是互斥,提高效率。

网络并发编程,由于现在的项目都离不开网络(除非没人用的项目),所以网络编程也是影响性能的一个重要因素。
网络编程分为:
1、bio
2、nio
bio为阻塞io,而nio为非阻塞io,所以从名字上选择,肯定选nio这种非阻塞编程。但是nio编程很复杂,所以就有了netty,而netty也是目前应用非常广泛,非常流行的nio框架。
(具体如何处理,看以前的文章,或直接看网易视频)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值