`
等待五千年
  • 浏览: 4385 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
用maven来管理工程有一段时间了,不过由于一开始工程是前辈搭起来的,自己没有动手实践过,偶尔会建立新工程也是机械的copy,一直没有体会到maven带来的便利。今天翻看了下maven的文档,收获很多,同时也发现之前一直傻的冒泡,简单的罗列下我的几点收获:   1、新建一个工程时最让我头痛的jar包引用不完整,导致代码运行时各种提示类找不到的问题,maven的一个可传递依赖就轻松的搞定了,大块人心啊。 问题具体描述:我们在使用一个第三方jar包时,比如dom4j的包,如果单纯只把dom4j的包添加到classpath,编译时不会报错,但因dom4j本身也依赖xml-api这么个包,如果没有 ...
java虚拟机配置优化   1、查看堆监视曲线和PermGen的监视曲线,观察其变动情况,比较使用量和最大设置大小,判断堆大小和PermGen的大小设置是否合适。   2、查看MinorGC和FullGC发生的次数和每次执行的情况(执行时间、实际回收内存大小、堆内存的总大小是否发生变化)   3、新生代GC(MinorGC)发生过于频繁的话,检查新生代的大小设置是否太小(Eden+Suvivor)   4、老年代在回收的时候是否回收效率低,并伴随了不断的老年代空间扩容,如果是需调整老年代大小,且直接将堆大小固定下来(Xms和Xmx的值相等),避免内存扩展   5、屏蔽显示的 ...

TCP首部结构

1、16位(bit)的源端口号,16位目的端口号   2、32位序列号   3、32位确认号(当设置了ACK标识改数据才有效)   4、4位TCP首部长度,6个预留位,6个标识位(URG、ACK、PSH、RST、SYN、FIN)   5、16位窗口大小   6、16位校验和   7、16位紧急指针(在URG标识位设置后有效)   8、可选项   TCP首部最长60个字节,常规的为20个字节(不含可选项)。
1、多用StringBuilder,尽量减少利用“+”运算符将两个字符串相加,避免隐式的String对象和StringBuilder对象的创建。因为加的操作实际上是调用StringBuilder对象的append方法来实现,最终在通过toString取得结果。   2、计划好List的容量,创建List对象时尽量分配一个合适的初始值,避免List容量扩展时,创建新的对象,原来的对象将被废弃。   3、使用高效的含有原始类型的集合。减少因装箱而带来的对象的创建。   4、List集合使用时,将List对象传入方法中,在方法中生成对象后直接放入List对象中。避免在方法中创建一个临时 ...
    AdaptiveRecvByteBufAllocator是一个用于为接收的数据创建缓冲区的工具类,其特点是能够根据上一次接收数据的大小,来自动调整下一次缓冲区建立时分配的空间大小,避免内存的浪费。下面我们通过源码来看下其实现。       首先类中定义了一个int型的数组,保存了一些预设的缓冲区大小。   private static final int[] SIZE_TABLE; static { List<Integer> sizeTable = new ArrayList<Integer>(); ...
Global site tag (gtag.js) - Google Analytics