Java
yuanfan_coding
这个作者很懒,什么都没留下…
展开
-
String & StringBuilder & StringBuffer 区别与性能比较
这三个都是字符串对象,本篇就来分析下它们的使用途径,力求简单明了。一、StringString 长度是不可变的,如果你要改变string对象的字符或者是拼接字符的话,系统就会新建一个string,然后把原来string的对象指向新的string。旧的string就等着被回收,所以你每次操作string的时候就会出现很多垃圾对象,效率不高。二、StringBufferStringBuffer的长度是可转载 2016-04-19 14:16:13 · 439 阅读 · 0 评论 -
Eclipse自动生成UML插件ModelGoon教程
我们在正规公司开发里面,难免会有写类图或者UML图的时候,如果一个一个类用Visio等工具绘制就会相当繁琐,如果有一个自动生成插件就会方便很多。下面就介绍windows平台下ModelGson的安装使用。原创 2016-06-17 10:20:02 · 9379 阅读 · 2 评论 -
java多线程问题实践-01(重入锁)
java多线程项目问题实践-01(重入锁)程序运行时栈空了?进入调试分析为什么出现问题重入锁解决问题程序运行时栈空了在跟踪bug的时候,发现stack的前一秒有size,下一秒就被清空了。在对stack进行清空的操作只有在循环语句之后才有,而当前还在循环。public class MainClass{public void a(final B b){S...原创 2018-04-20 14:04:02 · 212 阅读 · 0 评论 -
利用jvisualvm分析java虚拟机运行情况(解决项目中运行时间长久的问题)
前言在平时的开发中,我们经常会遇到一个方法或者程序运行慢,卡住的问题,如果遇到数据量大的情况更加难以分析,此时就需要运用一些分析工具辅助我们去分析问题。准备工具jdk自带的jvisualvm.exeeclipse问题分析在实际的项目中,程序长时间运行,最后报了OutOfMemoryError的内存溢出错误。由此展开问题分析: 尝试解决: 1.通过增加内存大小:...原创 2018-04-20 14:58:59 · 2123 阅读 · 0 评论 -
hashmap遍历时用map.remove方法为什么会报错?
笔者最近在调试项目bug的时候,遇到了一个很奇怪的bug,就是在对hashmap集合进行遍历的时候,同时做了remove操作,这个操作最后导致抛出了java.util.ConcurrentModificationException的错误。带着疑惑,下面参考着源码,分析问题的原因。首先,重现问题,构造一个map并往里面加元素:private static HashMap<Integer,...原创 2019-04-03 09:02:08 · 6562 阅读 · 4 评论 -
阿里巴巴Java开发手册:for循环里拼接字符串为什么最好用StringBuilder?
前言之前在看到一篇文章,说到for循环里拼接字符串最好用StringBuilder,而不是String+=“”,联想到读过的《阿里巴巴Java开发手册》也有类似的说辞。但那是看了之后没再深究,所以借这篇文章深入分析一下为什么for循环里拼接字符串为什么最好用StringBuilder?举例平时写代码的时候,我们经常会遇到在一个循环里去拼接字符串,为了追求效率,很多人会直接写上如下的代码: ...原创 2019-04-09 12:40:30 · 547 阅读 · 0 评论