类中的一般数据成员是对每个对象都有自己的拷贝的,而且每个一般成员函数一定要有一个调用它的对象。static数据成员不在类的声明中定义或初始化。而在对应的.cc文件中初始化(由于交叉编译/链接的原因)。只在声明中带有static关键字,但是在对应的.cc文件中,是不带static关键字的。也可以用默认...
分类:
编程语言 时间:
2015-05-13 11:52:53
收藏:
0 评论:
0 赞:
0 阅读:
267
原文链接作者:Jakob Jenkov译者:高嵩校对:丁一在java中当多个线程同时访问同一个资源,并且其中的一个或者多个线程对这个资源进行了写操作,才会产生竞态条件。多个线程同时读同一个资源不会产生竞态条件。我们可以通过创建不可变的共享对象来保证对象在线程间共享时不会被修改,从而实现线程安全。如下...
分类:
编程语言 时间:
2015-05-13 11:52:43
收藏:
0 评论:
0 赞:
0 阅读:
224
1.springMVC对事务的管理方式有哪些 2. 生成数据库ID的几种方式 3.heibirnate?与jpa,mybatis,?ibatis的关系 4.hibernate缓存机制是什么样的 5.redius,?memercacha实现缓存的几种常用对象 6.jsf实现机制与jsp对...
分类:
编程语言 时间:
2015-05-13 10:47:44
收藏:
0 评论:
0 赞:
0 阅读:
252
Set代表一种无序集合,集合元素不可重复;Map代表一种多个key-value对组成的集合
从Set和Map的继承体系图看,如果从名称分析,Set和Map有着千丝万缕的联系。并且从JDK中提供的Map接口中,你会发现提供了这样一个方法: Set keySet();这就说明了,如果抛开Map中的value,那么Map中的所有key的实际上就是一个Set集合,而且我们查询的时候常常是通过key来查找...
分类:
编程语言 时间:
2015-05-13 10:42:43
收藏:
0 评论:
0 赞:
0 阅读:
178
一:OS模块#1.查看当前工作路径import os
os.getcwd()#2.设置当前工作路径为D:\mypythonos.chdir('D:\\mypython\\')#3.获取一个环境变量,如果没有返回noneos.getenv()#4.返回指定目录下的所有文件和目录名os.listdir('D:\\mypython\\')#5.函数用来删除指定路径下的一个文件。os.remove('D:\...
分类:
编程语言 时间:
2015-05-13 10:40:02
收藏:
0 评论:
0 赞:
0 阅读:
292
//探究类派生时构造函数的顺序
//在派生类对象的创建中,首先是虚基类的构造函数并按它们声明的顺序构造。
//第二批是非虚基类的构造函数按它们声明的顺序调用。
//第三批是成员对象的构造函数。最后是派生类自己的构造函数被调用
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
int x;...
分类:
编程语言 时间:
2015-05-13 10:39:22
收藏:
0 评论:
0 赞:
0 阅读:
218
//继承派生中对象相互赋值情况
//派生类的对象可以赋值给基类的对象,这时是把派生类对象中从对应基类中继承来的隐藏对象赋值给基类对象。
//反过来不行,因为派生类的新成员无值可赋。
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
void fun()
{
cout<<"B::fu...
分类:
编程语言 时间:
2015-05-13 10:39:12
收藏:
0 评论:
0 赞:
0 阅读:
149
//
// 可以将一个派生类的对象的地址赋给其基类的指针变量,但只能通过这个指针访问派生类中由基类继承来的隐藏对象,
//不能访问派生类中的新成员。同样也不能反过来做。
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
void fun()
{
cout<<"B::fun()"<<...
分类:
编程语言 时间:
2015-05-13 10:39:02
收藏:
0 评论:
0 赞:
0 阅读:
166
//派生类对象初始化基类的引用
//引用是别名,但这个别名只能包含派生类对象中的由基类继承来的隐藏对象
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
void fun()
{
cout<<"B::fun()"<<endl;
}
private:
int x;
};
cla...
分类:
编程语言 时间:
2015-05-13 10:38:52
收藏:
0 评论:
0 赞:
0 阅读:
1204
//正确使用虚析构函数
//使用虚析构函数,当delete删除一个对象时,能确保析构函数正确执行(动态)
#include
using namespace std;
class B
{
public:
B()
{
cout<<"B"<<endl;
}
virtual void fun()
{
cout<<"B::fun()"<<endl;
}
virtual ~B()
/...
分类:
编程语言 时间:
2015-05-13 10:38:21
收藏:
0 评论:
0 赞:
0 阅读:
221
Flyweight定义:避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。
为什么使用共享模式/享元模式
面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外,还...
分类:
编程语言 时间:
2015-05-13 10:38:11
收藏:
0 评论:
0 赞:
0 阅读:
274
//子类在重写虚函数时,会覆盖父类的函数
#include
using namespace std;
class B
{
public:
B()
{
cout<<"Create B!"<<endl;
}
public:
virtual void fun()
{
cout<<"B::fun()"<<endl;
}
virtual void show()
{
cout<<...
分类:
编程语言 时间:
2015-05-13 10:38:01
收藏:
0 评论:
0 赞:
0 阅读:
473
今天总结链栈。
什么是链栈?
链栈就是栈的链式存储结构,就跟单链表差不多。只不过头指针变成了栈顶指针,这个指针总是指向栈顶元素。栈底结点的指针域指向NULL,当top==NULL时,则栈为空.具体实现时,对比着单链表,然后结合图示,很容易就写出来了。
图示:
实现:
#include
using namespace std;
template
struct Node {
...
分类:
编程语言 时间:
2015-05-13 10:37:40
收藏:
0 评论:
0 赞:
0 阅读:
118
??
Memcache本身只是一个内存缓存服务器,用来缓存数据以缓解数据库压力,但是我们经常会听到分布工Memcache,那么它是如何实现的呢?在使用Java操作Memcache时,我们通常会借助Java_Memcache来帮助我们完成各项操作, get/set/delete等。下面我们阅读一下Java_Memcache的源码来窥探一二。(注:网上很难找到Java_Memcache最新的...
分类:
编程语言 时间:
2015-05-13 10:37:00
收藏:
0 评论:
0 赞:
0 阅读:
448
这两天工作有点忙,博客更新不及时,请大家见谅;
前面了解到lucene在索引创建的时候一个IndexWriter获取到一个读写锁,这样势在lucene创建大数据量的索引的时候,执行效率低下的问题;
查看前面文档一步一步跟我学习lucene(5)---lucene的索引构建原理可以看出,lucene索引的建立,跟以下几点关联很大;
磁盘空间大小,这个直接影响索引的建立,甚至会造成索引写入提...
分类:
编程语言 时间:
2015-05-13 10:33:43
收藏:
0 评论:
0 赞:
0 阅读:
278
在查找方面,python中有list.index()的方法。
>>> a=[2,4,1,9,3] #list可以是无序,也可以是有序
>>> a.index(4) #找到后返回该值在list中的位置
1这是python中基本的查找方法,虽然简单,但是,如果由于其时间复杂度为O(n),对于大规模的查询恐怕是不足以胜任的。二分查找就是一种替代方法。
...
分类:
编程语言 时间:
2015-05-13 10:33:33
收藏:
0 评论:
0 赞:
0 阅读:
740
SpringAOP提供的优势
1、允许开发者声明企业级服务,比如:事务服务、安全性服务。EJB组件能够使用J2EE容器提供声明式服务。但是需要借助于EJB组件,而SpringAOP却不需要EJB容器,即借助于Spring的事务抽象框架能够在EJB容器外部使用企业级、声明式服务。
2、开发者可以开发满足业务需求的自定义方面。类似于JBOSS服务器中拦截器开发一样,如果标准的J2EE安全性不能满足业...
分类:
编程语言 时间:
2015-05-13 10:33:23
收藏:
0 评论:
0 赞:
0 阅读:
260
我就直接贴代码了,代码上有具体的思路。
# -*- coding:utf-8 -*-
'''
每一行输入最少两个数最多21个数,且最后一步一定要到达饼干。
每一行输入的第一个数是饼干所在的位置,且饼干的位置不能为0.
输出有三种状态,输出什么状态,取决于这一次和上一次距离饼干的距离是否近了还是远了还是相同
近了返回warmer远了返回colder如果相同则返回same
如果输入的数字与饼干所在位...
分类:
编程语言 时间:
2015-05-13 10:30:41
收藏:
0 评论:
0 赞:
0 阅读:
516
如果让你来设计一个最基本的Web Crawler,该如何设计?需要考虑的因素有哪些?...
分类:
编程语言 时间:
2015-05-13 10:30:02
收藏:
0 评论:
0 赞:
0 阅读:
1058
给定一个正整数数组(a0,a1..),分别代表n个坐标(0,a0), (1,a1),根据这n个点画出n条线段,每条线段的两个端点分别为(i, ai)和(i, 0)。找到两条线段,使得这两条线段和x轴所构成的容器储水容量最大。如[2,1,3], 最大,选择第一条线段和第三条线段,加上x轴所构成的容器,储水容量为4(高度为Min(2,3)=2,底为2)...
分类:
编程语言 时间:
2015-05-13 10:29:49
收藏:
0 评论:
0 赞:
0 阅读:
245