- 博客(23)
- 资源 (4)
- 收藏
- 关注
原创 STL源码剖析——关联式容器
所谓关联式容器,观念上类似于关联式数据库:每笔数据都有一个键值(key)和一个实际值(value)。当元素被插入容器时,内部机制根据键值,按着一定的规则将元素置于特定的位置。关联式容器没有所谓头尾的概念(只有最大元素,最小元素),所以不会有类似push_back(),push_front()这样的操作。 标准的stl关联式容器分为set和map两大类,以及这两大类的衍生体multi
2012-12-11 14:59:17 930
原创 STL源码剖析——序列式容器
序列式容器 序列式容器,其中的元素都可序,但未必有序。C++语言本身提供一个序列式容器array,STL另外提供vector,list,deque,stack,queue,priority-queue等。 Vector vector实现的底层实现对象是数组,它的数据安排以及操作方式与array非常相似,两者的唯一差别在于空间的运用的灵活性。Array是静态空间,
2012-12-11 13:39:06 732
原创 STL源码剖析——空间配置器和迭代器
特此申明:前段时间找工作所以看了《STL源码剖析》,整理的时候除了参考网上已有的笔记贴,加上自己整合的,可能和别人有雷同之处。不过无所谓啦,写出来自己看看,需要的朋友参考下,仅此而已。空间配置器 空间配置器其实就是C++ STL进行内存管理的组件(包括内存的申请和释放);当然,不只是内存,还可以向硬盘申请空间。为了精密分工,内存配置::operator
2012-12-11 13:33:56 808 1
原创 Mysql技术内幕InnoDB存储引擎——事务&备份&性能调优
事务 transaction是数据库区别于文件系统的重要特性之一,innodb引擎完全符合事务的ACID特性。 Atomicity 原子性 Consistency一致性 Isolation 隔离性 Durability 持久性7.1、事务概述 Atomicity 原子性:整个数据库事务是不可分割的工作单位。
2012-12-11 13:26:36 4453
原创 Mysql技术内幕InnoDB存储引擎——表&索引算法和锁
表4.1、innodb存储引擎表类型innodb表类似oracle的IOT表(索引聚集表-indexorganized table),在innodb表中每张表都会有一个主键,如果在创建表时没有显示的定义主键则innodb如按照如下方式选择或者创建主键。首先表中是否有唯一非空索引(unique not null),如果有则该列即为主键。不符合上述条件,innodb存储引擎会自动创建一
2012-12-07 10:51:34 7257
原创 Mysql技术内幕InnoDB存储引擎——InnoDB存储引擎
特此申明:前段时间找工作所以看了《Mysql技术内幕InnoDB存储引擎》,整理的时候除了参考网上已有的笔记贴,加上自己整合的,可能和别人有雷同之处。不过无所谓啦,写出来自己看看,需要的朋友参考下,仅此而已。一.mysql体系结构和存储引擎1.1、数据库和实例的区别 数据库:物理操作系统或其他形式文件类型的集合。在mysql下数据库文件可以是frm,
2012-12-07 10:43:45 8159
转载 高性能Mysql主从架构的复制原理及配置详解
1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到
2012-12-04 21:40:17 697
转载 按照用户ID进行分组,保留用户的最新的1000条数据,超过1000条的都进行删除
BEGIN02 #Routine body goes here...03 /*04 查询用户超过1000条则进行删除功能05 */06
2012-12-04 21:15:56 1233
原创 深入理解Java虚拟机——高效并发
一Java内存模型与线程 衡量一个服务性能的高低好坏,每秒事务处理数(TPS)是最重要的指标之一。服务端是Java语言最擅长的领域之一,不过写好并发应用程序却是程序开发的难点之一,处理好并发方面的问题通常需要更多的经验。 1. 硬件的效率与一致性 基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但也引入了新的问题,缓存一致性。当多个处理器的
2012-12-03 22:20:07 2782
原创 深入理解Java虚拟机——程序编译与代码优化
一早期(编译期)优化1概述Java语言的“编译期”是一段“不确定”的操作过程,因为它可能是指一个前端编译器(其实叫“编译器的前端”更准确一些)把*.java文件转变成*.class文件的过程;也可能是指虚拟机的后端运行期编译器(JIT编译器,just in time compiler)把字节码转变成机器码的过程;还可能是指使用静态提前编译器(AOT编译器,ahead of time com
2012-12-03 22:17:28 6151
原创 深入理解Java虚拟机——虚拟机执行子系统
一.类文件结构Class文件是一组以8位字节为基础单位的二进制流,各数据项严格按顺序排列其中,中间没有添加任何分隔符。根据JAVA虚拟机规范的规定,CLASS文件格式采用一种类似C语言结构体的伪结构来存储,这种伪结构中只有两种数据类型:无符号数和表。1.无符号数属于基本的数据类型,以u1,u2,u4,u8来分别表示一个字节,两个字节,四个字节和8个字节的无符号数,无符号数用来描述数字,索引
2012-11-22 10:48:48 3805
原创 深入理解Java虚拟机——自动内存管理机制
特此申明:前段时间找工作所以看了这本书,整理的时候除了参考网上已有的笔记贴,加上自己整合的,可能和别人有雷同之处。不过无所谓啦,写出来自己看看,需要的朋友参考下,仅此而已。一:Java内存区域与内存溢出异常 在运行Java程序时,Java虚拟机会把管理的内存划分为若干个不同的数据区域。Java虚拟机运行时数据区数据区域图中,除了方法区
2012-11-22 10:23:18 3750 2
原创 tomcat连接池的设置
今天简单介绍下tomcat连接池的设置,其中maxActive,maxIdle,maxWait为必选项目,而a,b,c里面的三个设置项却可以进行优化设置。a. 如果设为true则tomcat自动检查恢复重新利用,没有正常关闭的Connection.(默认是false) removeAbandoned true b. 设定连接在多少秒内被认为是放弃的连接,即可进
2012-03-25 21:47:49 592
原创 Mysql索引介绍与使用
Mysql新建索引: CREATE INDEX indexName ON mytable(username(length));修改表结构建立索引: ALTER mytable ADD INDEX [indexName] ON (username(length));索引两个特征:唯一索引和复合(组合)索引唯一索引: 1):只要
2012-03-11 08:51:22 786
原创 prepareStatement介绍与使用
它表示预编译的SQL语句的对象,其中SQL语句被预编译并且存储在PreparedStatement对象中。然后可以使用此对象高效地多次执行该语句。例子:(1)PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");(2)pstmt.setBigDecim
2012-03-06 20:38:25 11130
原创 java使用jdom架包解析xml字符串dom原理并保存map对象
今天给出一个java使用jdom架包解析xml字符串而非xml文件的过程,并将信息保存在map对象中。各个函数方法都有详细解释,相信大家能看懂。 Map xmlInfo = new HashMap(); //创建一个新的字符串 StringReader read = new StringReader(xmlStream); //创建新的输入源SAX解析器将使
2012-02-28 15:09:51 1090 1
原创 mysql新建表和修改字段例子
--新建用户手机表user_telphone,其中user_recordid关联到user_info的recordid字段//sql脚本的注释符:--CREATE TABLE `user_telphone` ( `keyid` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_recordid` int(11) NOT NULL
2012-02-26 11:11:04 3107 1
原创 如何部署单个工程单个tomcat服务实例
1.首先先用eclipse发送一个快捷方式到桌面,修改其名字为需要的。右键属性的目标中加入指定工作空间的工程文件夹(此文件夹需要手动新建),例如 -data D:\workspace\TestProject。这个-data直接跟着eclipse的原有路径,无需加上逗号或者分号之类的分隔符。2.打开elipse后切换到java视图。在windows的preferences里设置一些默认的
2012-02-24 19:15:32 675
原创 mysql一次性更新某字段带有特殊字符
update table_name set column_name = concat(substring_index(column_name,'@',1),'@120.199.9.25');知识点扩展:(1)concat函数合并字符串(2)MySQL 字符串截取函数:left(str, length);right(str, length);substring(str, pos),s
2012-02-23 21:12:26 4154
原创 Sql server存储过程以及一次插入多条记录
首先简单介绍sql server存储过程吧。至于概念含义啥的就不做过多介绍了。它其实和mysql有些类似,语法大同小异。还是用例子说明问题吧。CREATE PROCEDURE insert_supplier@supplier_name varchar(30),@supplier_contact varchar(30),--------------------------------输
2012-02-21 19:26:16 7581 1
原创 Mysql存储过程游标加循环
Mysql的存储过程是从版本5才开始支持的,所以目前一般使用的都可以用到存储过程。今天分享下自己对于Mysql存储过程的认识与了解。一些简单的调用以及语法规则这里就不在赘述,网上有许多例子。这里主要说说大家常用的游标加循环的嵌套使用。首先先介绍循环的分类:(1)WHILE ... END WHILE (2)LOOP ... END LOOP (3)REPEAT ... EN
2012-02-18 11:33:40 5549 2
原创 数据库建表注意事项
为了以后维护,扩展方便,一般来说建立数据表的时候有几个字段都是需要的。(1):序列号(主键),一般来说还是推荐需要主键的。在sql server和oracle中有序号字段,但是mysql中却没有,只能用自增整数来代替。(2):creator字段,一般此字段是用于记录这条数据的创建者,维护数据时可以责任到人。(3):createDate字段,一般是存储记录数据的时间,以便于到时候查询记录
2012-02-14 21:57:04 2972
原创 使用vbs或者bat脚本修改IE浏览器安全级别和选项
1. 首先介绍计算机定义的每个安全区域的项:Zones 。默认情况下,定义以下 5 个区域(编号从 0 到 4):0 我的电脑 1 本地 Intranet 区域 2 受信任的站点区域 3 Internet 区域 4 受限制的站点区域注意:默认情况下,“我的电脑”不会出现在“安全”选项卡的“区域”框中。其中的每项
2012-02-11 11:34:19 12975 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人