![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能优化
茉么乔
快乐生活,开心工作,探索代码的奥秘!
展开
-
Java性能优化之 导致系统瓶颈的计算资源
CPU:长时间不间断的大量占用CPU资源,这样对CPU争夺将导致性能问题。内存:在进行高频率的内存交换和扫描,会出现问题。内存制约系统性能的最可能发生的情况是内存大小不足,这样会导致应用程序无法创建对象,更严重甚至导致操作系统无法正常运行。内存过小,应用软件只能将核心数据读入内存,大量数据需要放在磁盘上,这样会在一定程度上降到系统性能。磁盘I/O:磁盘I/O读写速度比内存慢很多。程序在运行过程中,如原创 2016-12-29 16:11:04 · 959 阅读 · 0 评论 -
JAVA API调用优化建议--采用Clone()方式创建对象
当我们使用new关键字创建类的一个实例时,构造函数中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,那么我们可以通过调用它的clone()方法,注意,clone()不会调用任何构造函数。调用Object.clone()时,当我们在自己的类里覆盖clone()时,对于super.clone()来说是最关键的是:根类中的clone()方法负责建立正确的存储容量,并通过“按位复制原创 2017-01-18 14:35:13 · 875 阅读 · 1 评论 -
JAVA API调用优化建议--避免对boolean类型判断
尝试去掉boolean和true的比较判断代码,大体上说,有两个好处 1.代码执行的更快(生成的字节码少了5个字节); 2.代码整体显得干净。 //优化前 boolean method(){ return (1==2)==true; } //优化后 boolean methodNew(){ return 1==2;原创 2017-01-18 14:56:53 · 481 阅读 · 0 评论 -
JAVA API调用优化建议--多用条件运算符
现在的JVM已经在编译时做了类似的处理,从代码整洁度来看,推荐使用优化后的写法//优化前public int method(Boolean boo){ if(boo){ return 0; }else{ return 1; }}//优化后public int methodNew(Boolean boo){ return (boo?原创 2017-01-18 15:08:03 · 183 阅读 · 0 评论 -
JAVA面试总结
1.为何使用事物? 保持数据的一致性和完整性。2.AOP原理 面向切面编程,把散落在程序中的公共部分提取出来,做成切面类,这样可以提高代码 的复用性,一旦涉及到该功能的需求发生变化,只要修改改代码就行,否则,需要对很多处进行修改。 AOP底层的东西是JDK动态代理和GGLIB代理,其实就是为了增强类功能。 最常用的AOP应用在数据库连接以及事务处理上。3.两个项目之间如何通信? 必须原创 2017-02-10 15:00:03 · 186 阅读 · 0 评论 -
Rabbit MQ 和 Redis 队列
RabbitMQ RabbitMQ 是实现AMQP(高级消息队列协议)的消息中间件的一种,消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。RedisRedis是一个Key-Value的NoSQL数据库,开发维护很活跃,本身支持MQ功能,完全可以当一个轻量级的队列服务来使用。下面进行具体对比:可靠消费Redis: 没有相应的机制保证消息的消费,当消费消费失败的时候,消原创 2017-03-30 17:18:38 · 805 阅读 · 0 评论 -
JAVA性能优化之 String
1.String 3个基本特点,不变性、针对常量池的优化及类的final定义2.String对象的4种创建方式: ①当时用任何方式来创建一个字符串对象X时,Java运行时(运行中JVM)会拿着这个X在String池中查找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串X,否则不会创建对象,即不会在池中添加; ②Java内部只要使用new关键字来创建对象,则一定会(原创 2017-06-26 15:32:41 · 415 阅读 · 0 评论