内存缓冲区研究----第一课
正在整理关于如何使用利器DBG作高难度动作[@more@]简 介本文试图解释什么是缓冲区溢出, 以及如何利用.缓冲区,简单说来是一块连续的计算机内存区域, 可以保存相同数据类型的多个实例. C程序员通常和字缓冲区数组打交道.最常见的是字符数组. 数组, 与C语言中所有的变量一样, 可以被声明为静态或动态的. 静态变量在程序加载时定位于数据段. 动态变量在程序运行时定位于堆栈之中.溢出, 说白了就是灌满, 使内容物超过顶端, 边缘, 或边界. 我们这里只关心动态缓冲区的溢出问题, 即基于堆栈的缓冲区溢出. 进程的内
HTML回顾学习
抽空再把CSS整理一篇出来[@more@]与段落控制相关的标签段<p align="#"> 属性align表示段的对齐方式回行<br>水平线<hr color="clr"> 与文本显示相关的标签文本居中<center>文档标题<hn align="#">字体属性<font size=n color="clr">粗体<b>斜体<i>空格实体引用 注释<!--this is a comment -->列表带数字编号的列表<ol><li>(ol创建列表 li列表项)在ol中用属性start设置开始的数字编号在li中有属性value设置
有关内存的思考题
学习林锐高质量C++/C 编程指南[@more@]void GetMemory(char *p){p = (char *)malloc(100);}void Test(void){char *str = NULL;GetMemory(str);strcpy(str, "hello world");printf(str);}请问运行Test 函数会有什么样的结果?答:程序崩溃。因为GetMemory 并不能传递动态内存,Test 函数中的 str 一直都是 NULL。strcpy(str, "hello world");将使程序崩溃。char *GetMemory(void){char p[] = "hello world";return p;}void Test(void){char *str = NULL;str = GetMemory();printf(str);}请问运行Test 函数会
连续1的个数算法----java版1.0
根据C版翻译成java版[@more@]package cn.withe;public class Count {public static int staticpoint=0;public static int points[]=new int[11];public final static int MAXCOL=10;public final static int MAXROW=10;public static int[][] number={{1,1,1,1,1,0,0,0,0,0},{1,1,1,0,0,0,1,1,1,1},{0,0,1,1,0,0,0,0,0,0},{1,1,0,1,1,0,1,1,0,1},{0,1,0,1,0,1,1,0,0,1},{1,1,1,1,0,0,0,0,0,0},{0,0,0,0,0,1,1,1,1,1},{1,1,1,1,1,0,0,0,0,0},{1,1,0,0,0,0,1,1,1,1},{1,1,1,1,0,0,0,0,1,1}};public static void check(int row,int col){if(n
连续1的个数算法----C版
微软的笔试题目答案是studenthe提供的[@more@]#include <stdio.h>#include <iostream.h>#define MAXCOL 10#define MAXROW 10int staticpoint=0;int count[MAXROW*MAXCOL];struct point{ int x; int y;}point[MAXCOL*MAXROW][MAXCOL*MAXROW];int number[MAXROW][MAXCOL]={0,1,0,1,0,1,0,0,0,1,0,1,1,1,0,1,0,1,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,0,1,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1};void check(int row,int col){ if(numb
Oracle中的大字段
Oracle中的大字段数据库中提供了两种字段类型 Blob 和 Clob 用于存储大型字符串或二进制数据。Blob 采用单字节存储,适合保存二进制数据,如图片文件。Clob 采用多字节存储,适合保存大型文本数据。Oracle中处理BLOB/CLOB字段的方式比较特别,[@more@]所以需要特别注意下面两点:1. 在Oracle JDBC中采用流机制对 BLOB/CLOB 进行读写操作,所以要注意不能在批处理中读写 BLOB/CLOB字段,否则将出现Stream type cannot be used in batching 异常。2. Oracle BLOB/CLOB 字段本身拥有一个游标(cursor),JDBC通过游标对Blob/Clob字段进行操作
数据库备份与恢复----第一课
简单概念:来源:与"盐酸"交流总结[@more@]数据库备份与恢复exp rmanexp help=yexp导出:常用exp:逻辑备份 方便rman:物理备份 需要有catalog(9以上可以用ctlfile) ////catalog是恢复目录 ctlfile控制文件rman可以对数据基于时间点,scn时钟进行恢复exp的数据有imp进行恢复rman可以备份和恢复 可以进行增量备份累积/差异 热备份 冷备份一般都是热备份冷备份是指shotdown 之后cprman可以备份spfile,ctlname,datafile ////spfile是server parameter file,9以后才有的新东西 alter system/database set parameter=....进行设置dba:
主流算法:
1.搜索 //回溯 2.DP(动态规划) 3.贪心 4.图论 //Dijkstra、最小生成树、网络流 5.数论 //解模线性方程 6.计算几何 //凸壳、同等安置矩形的并的面积与周长 7.组合数学 //Polya定理 8.模拟 9.数据结构 //并查集、堆 10.博弈论 [@more@]1、 排序1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380, 1318, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379, 1002(需要字符处理,排序用快排即可)
Spring和JUnit的整合
相信Kent Beck测试驱动开发理念以为越来越多的人接受,最近在做struts+hibernate+spring的开发中有点心得,和大家一同分享。下面是以一个web项目为讨论的,测试主要设计到spring的实现类和strust的Action类的测试,其中主要问题就是要提供一个ApplicationContext为TestCase调用,这样我们引用了一个JUnitHelper工具类进行相关Spring的操作,如提供ApplicationContext环境,下面我们就实现类测试和Action类测试进行一下讲解,其中数据库连接由spring控制。实现类测试比较简单,我们主要是测试接口的功能实现,如我们有一接口为PersonDao,实
Spring 高级特性------数据持久层
数据持久层. 事务管理持久层封装 JDBC Hibernate in Spring ibatis in Spring [@more@]对于J2EE 应用程序而言,事务的处理一般有两种模式: 1. 依赖特定事务资源的事务处理这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务管理。如通过JDBC、JTA 的rollback、commit方法;Hibernate Transaction 的 rollback、commit方法等。这种方法大家已经相当熟悉。 2. 依赖容器的参数化事务管理通过容器提供的集约式参数化事务机制,实现事务的外部管理,如EJB 中的事务管理模式。 配置中包含了dataSource,transactionManager 等
学习Spring 高级特性----Web应用与MVC
Web应用与MVC Spring MVC Spring MVC指南 基于模板的Web表示层技术 Web应用中模板技术与JSP技术的对比 输入验证与数据绑定 异常处理 国际化支持[@more@]对于现有较成熟的Model-View-Control(MVC)框架而言,其解决的主要问题无外乎下面几部分:1. 将Web页面中的输入元素封装为一个(请求)数据对象。2. 根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。3. 逻辑处理单元完成运算后,返回一个结果数据对象。4. 将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。各个MVC 实现固然存在差异
AJAX 核心三部曲
AJAX 核心三部曲[@more@] <s cript lanuage = "javas cript">//创建对象function createXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); }}//前台界面事件调用的函数function checkName(){ createXMLHttpRequest(); xmlHttp.onreadystatechange = handleStateChange; var sql = "UserReg.aspx?"; xmlHttp.open("GET",sql,true); xmlHttp.send(null);}//和服务
学习Spring 开发指南------基础语义
Dependency Injection依赖注入的几种实现类型Type1 接口注入Type2 构造子注入Type3 设值注入几种依赖注入模式的对比总结Spring Bean封装机制Bean WrapperBean FactoryApplicationContext Web Context[@more@]Component组件IoC,用白话来讲,就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。依赖注入机制减轻了组件之间的依赖关系,同时也大大提高了组件的可移植性,这意味着,组件得到重用的机会将会更多。依赖注入
学习Spring 开发指南------Spring初探
Ø 首先,我们的组件并不需要实现框架指定的接口,因此可以轻松的将组件从Spring中脱离,甚至不需要任何修改(这在基于EJB框架实现的应用中是难以想象的)。Ø 其次,组件间的依赖关系减少,极大改善了代码的可重用性。[@more@]applicationContext.xml :<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><description>Spring Quick Start</des
解析企业部署SOA四步骤
【导读】企业部署SOA被比喻为建设一座四层大厦,从打地基到起高楼,按照四个步骤构具体而详尽地阐明了构建企业级SOA的蓝图。[@more@]构建企业级SOA(Enterprise service-oriented architecture, enterprise SOA)已经被提出来相当长一段时间了。究竟如何构建企业级SOA,众说纷纭。九月中旬在拉斯维加斯举行的SAP 2006年技术大会上(SAP TechEd '06)上,SAP执行董事会成员夏嘉曦(Shai Agassi)的开幕演讲中,对于如何部署企业级SOA作了一个非常形象地比喻。在演讲中,企业部署SOA被比喻为建设一座四层大厦,从打地基到起高楼,按照四个步
什么是SOA
什么是SOA 最近半年以来,在企业级应用开发领域,谈论最多的一个词,恐怕非SOA(Service-Oriented Architecture,面向服务架构)莫属。那么SOA究竟拥有什么样的魔力,能够让众多的软件厂商对他趋之若骛,掀起新的一轮企业架构浪潮。让我们在本文中一探SOA的究竟。 那么什么是SOA,让我们先从基本概念开始讲起。 [@more@]什么是SOA? SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 SOA的关键是“
试一下过程
不要忘记了[@more@]CREATE OR REPLACE PROCEDURE P_ordervsinv(p_year_in CHAR,p_month_in CHAR)IS------------------------------------------------------------------------功能:计算定单与库存满足关系---------$%%$%$--*(&$--------------------------------------------------------------------------p_year CHAR(4) := trim(p_year_in);p_month CHAR(2) := trim(p_month_in);ls_orderdate2 CHAR(8); --a订单日期ls_orderdate8 CHAR(8); --b订单日期li_version2 integer; --a版本号li_version8 integer; --b版本号li_coun
java语言基础学习
个[@more@]string 类的主要方法public int length()public char charat(int index)public string tolowercase()public string touppercase()public string substring(int p0,int p1)public string replace(char p0,char p1)public string concat(string str)public char tochararray()public static string valueof(type variable)stringbuffer类的主要方法public int length()public int capacity()public synchronized stringbuffer append(type variable)public synchronized stringbuffer insert(int offset,type variable)java系统包
InetAddressDemo
[@more@]import java.net.*;public class InetAddressDemo { public static void main(String []args) { try { InetAddress ip = InetAddress.getLocalHost(); System.out.println("主机地址"+ip); System.out.println(" 主机名称"+ip.getHostName()); System.out.println("主机IP"+ip.getHostAddress()); System.out.println("主机&**"+ip.getAllByName("china-e339b41a6")); } catch(UnknownHostException e) { e.printStackTrace(); } }
jdk1.4和jdk1.5的有那些区别
1. 泛型2 自动装箱/拆箱3 for-each 4 static import 5 变长参数[@more@]1. 泛型 1.4之前 java util包中容器类,装的是Object对象,你要装特定的类型可以,但要强制转换,这可能导致运行时错误. 例:原来ArrayList list=new ArrayList(); list.add(new Integer(3)); list.add(new Integer(4)); int i=((Integer)(list.get(0))).parseInt(); 很麻烦 现在ArrayList<Integer>list=new ArrayList<Integer>(); list.add(new Integer(3)); list.add(new Integer(4)); int i=list.get(0).parseInt(); 不用Cast,运行时错误变为编译时错误,这