- 博客(7)
- 收藏
- 关注
原创 HDOJ problem1003(DP)
方法一:非动态规划package com.learn.bestcoder;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Problem1003 { public static void main(String[] args) { Scanner sca
2015-09-13 21:55:29
381
原创 iterator
核心变量:cursor:指向下一个将要被访问的元素的索引号lastRet:指向刚被访问的元素的索引号expectedModCount:通过与ModCount比较,判断是不是进行了iterator内部remove的增删操作核心方法:hasNext():比较cursor与size()next():返回下一个元素remove:删除集合中的元素,并更新expectedModCo
2015-09-11 20:46:15
714
原创 Java编码学习
参考文章:http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/前提:Java使用Unicode字符集编码,即utf-16。Java中一个char是两个字节编码:从字符转换为字节,从char[ ]到byte[ ]解码:从字节转换为字符,从byte[ ]到char[ ]Java中进行编码和解码时使用的是Charset
2015-07-23 16:32:46
671
原创 Java InputStream层次分析
Java io使用的是设计模式中的装饰者模式,装饰者模式的结构应当为:对应到Java InputStream上,则为:对比一下InputStream和Reader的区别:核心是,前者读入的是字节,后者读入的是字符。不论是InputStream还是Reader,数据源的数据在内存中都是二进制码的形式,但是对于字节流,一次读取一个字节的数据,并返回这一个字节的二进制码对应的
2015-07-22 17:01:17
917
原创 BufferedInputStream源码分析
参考文章:http://www.cnblogs.com/skywang12345/p/io_12.html首先,BufferedInputStream能够加快读取速度的原因,是因为,每次它都将buffer.length的数据从数据源读取到内存中,调用read()方法或者read(int[ ] buf , int off , int len)都是从内存中的buffer中直接读取的,这要比从数据源
2015-07-22 15:39:01
440
原创 StringBuilder append方法源码分析
问题来源:在Java中,使用String str = “a" + "b" + “c"的时候,编译器会自动优化,使用StringBuilder来完成连接操作,那么,StringBuffer为什么比起String性能更高呢?首先,以上字符串的连接,按照Java中字符串是常量不可更改的特性,理应是先有一个新的变量指向"a",而后再创建一个变量,指向"a + b",依次类推。但是按照这种方法,会产生很
2015-07-22 09:27:40
4841
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人