随笔分类 - java
摘要:该模式的好处是,将大任务拆解成若干小任务并并行执行,从而提高系统吞吐量。定义Worker进程,负责处理实际任务。/*具体工作对象*/static abstract class Worker implements Runnable { private static final UtilsLog lg = UtilsLog.getLogger(Worker.class); protecte...
阅读全文
摘要:Java中的内存类型 栈内存:在函数中定义的基本类型的变量、Java指令代码、对象的引用变量均在函数的栈内存中分配,当超过变量的作用域后,Java 会自动释放掉该变量分配的内存空间。 堆内存:用来存放 new 创建的对象和数组【实质上只保存对象实例的属性值、属性的类型和对象本身的类型标记等,并不保存
阅读全文
摘要:下面以http://news.csdn.net/news.html为爬虫示例网站进行分析,F12查看网页布局,效果如下:从图中分析知,待扒的单个数据以unit为标签,即一个unit标签对应一个对象。下面定义Jsoup帮助类,getRootElements()返回需要解析的对象的根标签,这里需要返回document.getElementsByClass("unit")。anaylizeRootEle...
阅读全文
摘要:引言: publicvoidconsumeAndForgetAllExceptions(){ try{ ...some code that throws exceptions } catch(Exception ex){ ex.printStacktrace(); } } 采用上面这种方式处理异常时
阅读全文
摘要:自动类型提升 1.boolean不允许进行类型转换 布尔类型boolean占有一个字节,由于其本身的特殊含义,使得与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换),否则将编译出错。 2.数值范围小的类型→数值范围大的类型,JVM在编译过程中负责对数值类型进行自动提升
阅读全文
摘要:应用场景:线程A需要线程B的执行结果,但没必要一直等待线程B执行完,这个时候可以先拿到未来的Future对象,等线程B执行完再来取真实结果。定义RealData真实数据类,其构造函数很慢,是用户最后需要使用的数据, static class RealData { protected T result; public RealData(T result) { ...
阅读全文
摘要:1、final类 final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时若不需要有子类,类的实现细节不允许改变,并且确信不会再被扩展,那么就设计为final类。2、final方法 如果类的某个方法不允许子类覆盖,则可以把该方法声明为final方法。使用final方法的原因有二:第一、把方法锁定,防止任何继承类修改它的意义和实现。第二、高效。编...
阅读全文
摘要:keySet():将Map中所有的键存入到Set集合中。因为set具备迭代器,所以可以以迭代方式取出所有的键,再根据get方法获取每一个键对应的值,其仅能通过get()取key。entrySet(): 返回此映射中包含的映射关系的 Set 视图,格式为Set>, Map.Entry表示映射关系,迭代后可以e.getKey()、e.getValue()取key和value,返回的是Entry接口 。...
阅读全文
摘要:概要null既不是对象,也不是一种类型a.它仅仅是一种特殊的值,你可以将其赋予任何引用类型。b.在编译和运行时期,将null强制转换成任何引用类型都是可行的,在运行时期都不会抛出空指针异常。String str = null; // null can be assigned to StringInteger itr = null; // you can assign null to Integer...
阅读全文
摘要:char强转至int为什么使用0xff?备注:在Java中采用补码形式表示二进制如果不希望进行符号扩展,可以采用与操作。例如char c;int i = c & 0xffff;其中,char有8位,int类型有32位,采用32/8=4个f(即0xffff)做与操作,即可屏蔽符号扩展。//负整数时,前面输入了多余的 FF ,没有去掉前面多余的 FF,按并双字节形式输出System.out.print...
阅读全文

浙公网安备 33010602011771号