1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 ######################################################################## ### Counter ######################################################################## class Counter(dict): '''Dic…
1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 我们从中挑选一些相对常用的方法来举例: 在上面的例子我们可以看出,counter方法返回的是一个字典,它将字符串中出现的所有字符都进行了统计.在这里再介绍一下update方法,这个update方法是将两次统计的结果相加,和字典的update略有不同. 2.有序字典(orderedDict ) orderdDict是对字典类型的补充,他记住了字典元素添加的顺序 我们都知…
String类下的compareTo(String otherString)方法的源码解析 一. 前言 近日研究了一下String类的一些方法, 通过查看源码, 对一些常用的方法也有了更透彻的认识, 也让我更加理解了设计者的算法思想. 我也推荐大家多读读源码, 我相信大家也会有意想不到的收获. 二. 实战 今天我分析的是String类的compareTo(String otherString)方法, 以下是我个人的分析观点, 如有哪里分析不到位的地方, 欢迎大家指出, 相互学习, 共同进步 !…
查看源码: 这是一个线程控制的类,这个类可以被子类化(继承)在一定的条件限制下,这里有两种方式去明确活动:第一通过传入一个callable 对象也就是调用对象,一种是通过重写这个Thread类的run方法 def  add(): pass print(callable(add))从的上面实现多线程方式可以看出要理解Thread类的实现,我们主要看下构造函数__init__()和run方法这两部分核心代码就可以明白如何清晰的去使用这threading.Thread类的调用实现多线程:2.1先看下构…
马云说:大家还没搞清PC时代的时候,移动互联网来了,还没搞清移动互联网的时候,大数据时代来了. 然而,我看到的是:在PC时代搞PC的,移动互联网时代搞移动互联网的,大数据时代搞大数据的,都是同一伙儿人. 我就是一个做业务方向的,而回忆起真正做技术的时光,也就是大数据时代刚来临的时候做搜索了. 搜索用的是solr框架,solr就是包装了lucene实现了近实时索引.所以源头还是lucene.而且lucene是java写的全文检索库,源码是一定要研究一下的. 刚才提到全文检索,要说它的概念先来谈谈数…
本文转载上善若水的博客,原文出处:http://www.blogjava.net/DLevin/archive/2012/07/04/382131.html.感谢作者的分享. Layout负责将LoggingEvent中的信息格式化成一行日志信息.对不同格式的日志可能还需要提供头和尾等信息.另外有些Layout不会处理异常信息,此时ignoresThrowable()方法返回false,并且异常信息需要Appender来处理,如PatternLayout. Log4J自身实现了7个Layout类…
JUnit 的概念及用途 JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个开源的单元测试框架.它属于白盒测试,只要将待测类继承 TestCase 类,就可以利用 JUnit 的一系列机制进行便捷的自动测试了. JUnit 的设计精简,易学易用,但是功能却非常强大,这归因于它内部完善的代码结构. Erich Gamma 是著名的 GOF 之一,因此 JUnit 中深深渗透了扩展性优良的设计模式思想. JUnit 提供的 API 既可以让您写出测试结果明确的可重用单元测试…
在java中,Stack类继承了Vector类.Vector类和我们经常使用的ArrayList是类似的,底层也是使用了数组来实现,只不过Vector是线程安全的.因此可以知道Stack也是线程安全的. Vector为Stack提供了大部分的操作,Stack只需要对添加和取出操作加以限制即可,Stack类的底层源码是非常简单的. public E push(E item) { addElement(item); return item; } 首先是新增了一个push操作,这个方法并没有用sync…
前言: Spring用了这么久,虽然Spring的两大核心:IOC和AOP一直在用,但是始终没有搞懂Spring内部是怎么去实现的,于是决定撸一把Spring源码,前前后后也看了有两边,很多东西看了就忘记,于是便决定开个记录 转博,帮助自己记忆,同时也分享给大家. Spring中核心类的介绍: 首先我们看一下一般我们通过如下代码从spring容器中获取实例: File file = new File("fileSystemConfig.xml"); Resource resource…
logger: class logger { }; 在说这个logger类之前,先看1个关键的内部类 Impl private: //logger内部数据实现类Impl,内部含有以下成员变量 //时间戳,logstream数据流,日志级别,源文件行号,源文件名字. class Impl { public: typedef logger::loglevel LogLevel; //构造函数,最重要的地方,负责把日志头信息写入到m_stream中 //m_stream<<日志级别,old_errn…