- 博客(82)
- 资源 (8)
- 收藏
- 关注
原创 Oracle SQL大全
一、 基本操作表和数据-- 建表CREATE TABLE ab_student (id number(4))create table ab_class(id number(4),name varchar2(20))-- 修改表ALTER TABLE ab_student ADD(classid number(4))ALTER TABLE ab_student ADD(b
2013-08-05 11:09:19 967
原创 一语中的
1. 你无法断定程序会在什么地方耗费运行时间。 ——Rob Pike(最伟大的 C 语言大师之一)2. 编程的核心是数据结构,而不是算法。 3. 拿不准就穷举。 ——Ken Thompson (Unix 最初版本的设计者和实现者)4. 寄存器是很宝贵的资
2013-04-11 20:24:37 699
原创 JavaEE+Websocket入门遇到的问题
1. 无法连接websocketError during WebSocket handshake: Unexpected response code: 404导致原因: 我使用的是tapache-tomcat-7.0.50,但是跑在jdk1.6
2014-11-23 16:26:23 11412 1
原创 SpringMVC + Kindeditor时List items = upload.parseRequest(request);为空
根据Kindeditor给的demo,结合SpringMVC使用时。
2014-06-06 17:55:35 4939 4
转载 Windows下PHP开启mcrypt扩展和SSL(OpenSSL)扩展支持
今天想使用一下PHP的OpenSSL扩展库,习惯性的从php.ini中相应行打开支持,然后刷新页面,发现竟然还是不支持?郁闷之下,看了看Apache的错误日志:提示“不能加载XXX动态库"?真是见鬼,别的链接库都可以装入,为什么php_mcrypt.dll和php_openssl.dll这两个链接库无法装入呢?上网查了一下资料,原来这两个扩展是依赖于第三方库的。1,
2013-05-21 20:01:18 1838
原创 Extjs4.1.0_从入门到精通
一、 开发环境搭建http://blog.sina.com.cn/s/blog_afaffa710101780k.htmlEclipse和MyEclipse在导入Extjs之后,喜欢Building Workspace,有时候一B就是几分钟。肿么办?a. 对MyEclipse进行优化打开 Preferences->MyEclipse->Validation,去掉所有的Buil
2013-04-30 18:17:44 1105
转载 TCP三次握手及四次挥手详细图解
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。 因此在这里详细解释一下
2013-04-24 11:13:40 654
转载 SQLite3命令操作大全
1. 数据库、表的建立,记录的添加、查询、修改和删除F:\>sqlite3 database.dbsqlite> create table admin(username text,age integer);sqlite> insert into admin values('kuang',25);sqlite> select * from admin;sqlite> update
2013-04-24 09:15:41 811
转载 MyBatis 学习笔记
MyBatis 学习笔记:官网: http://www.mybatis.org , http://code.google.com/p/mybatis/=========================用到的资料和工具: =========================1. 从官网下载用户手册: MyBatis 3 User Guide Simplified Chine
2013-04-14 20:32:58 1599
转载 struts2标签<s:property value=""/> ognl和el .
http://blog.csdn.net/liudan75562349/article/details/8269968
2013-04-14 20:28:04 698
原创 程序员面试宝典_数据库与SQL语言
数据库面试题主要包括范式、事务、存储过程、SQL语言以及索引等方面。一、 范式1. 4个范式的基本概念(1)第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电话号码) 规范成为1NF有三种方法: 一是重复存储职工号和姓名。这样
2013-04-14 18:59:46 3750
原创 程序员面试宝典_程序设计基本概念
eg1. 题目: 下列C++代码的输出结果是什么#include using namespace std;int i = 1;int main(){ int i = i; return 0;}答案:../demo1.cpp:13: 警告:此函数中的‘i’在使用前未初始化eg2. 题目:下列程序的输出结果是什么#include us
2013-04-14 13:15:52 872
原创 数据结构基础_插入字符串
源代码/* * strcat2.c * * Created on: 2013-4-13 * Author: yeahwell */#include #include #include #define MAX_SIZE 100/** * 把src字符串插入到dest字符串的第position个位置 * @param dest 目标串 * @p
2013-04-13 10:09:59 1822
转载 两个数据库的纠缠
题目:数据库1中存放着a类数据,数据库2中存放着以天为单位划分的表30张(比如table_20110909,table_20110910,table_20110911),总共是一个月的数据。表1中的a类数据中有一个字段userid来唯一判别用户身份,表2中的30张表(每张表结构相同)也有一个字段userid来唯一识别用户身份。如何判定a类数据库的多少用户在数据库2中出现过?
2013-04-12 20:45:55 809
原创 数据结构基础_二分法查找
公共引用头文件common.h #include #include /**** @param p 待申请内存的指针* @param s 申请内存大小*/#define MALLOC(p,s) \if(!((p) = malloc(s)) ){\ fprintf(stderr, "Insufficient memory");\ exit
2013-04-12 19:50:51 2419
原创 数据结构基础_对一个数组进行升序排序
#include #include #define MAX_SIZE 101/*** 交换两个数 宏定义方式* @param x 交换数1* @param y 交换数2* @param t 临时变量*/#define SWAP(x,y,t) ((t) = (x), (x) = (y), (y) = (t))void sort(int li
2013-04-12 13:49:24 3790
转载 linux 0号进程 1号进程 区别
系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。整个linux系统的所有进程也是一个树形结构。树根是系统自动构造的,即在内核态下执行的0号进程,它是所有进程的祖先。由0号进程创建1号进程(内核态),1号负责执行内核的部分初始化工作及进行系统配置,并创建若干个用于高速缓存和虚拟主存管理的内核线程。随后,1号进程调用execve()运行可执行程序init,
2013-04-12 08:58:30 1251
转载 Linux中fork()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值
2013-04-12 08:43:29 677
转载 关于fork()返回值
fork简介: fork英文原意是“分岔,分支”的意思,而在操作系统中,乃是著名的Unix(或类Unix,如Linux,Minix)中用于创建子进程的系统调用。 【NOTE1】 fork () 的作用是什么?换句话说,你用 fork () 的目的是什么? ――是为了产生一个新的进程,地球人都知道 :)产生一个什么样的进程? ――和你本来调用 fork (
2013-04-12 07:45:08 560
转载 寄存器和常用汇编指令
8个32位的常规目的寄存器地址名称描述EAX*累加器计算操作数和存放结果数据EBX基础寄存器指向DS数据段的数据指针ECX*计数寄存器字符串和循环操作的计数器EDX*数据寄存器
2013-04-08 22:28:11 1038
转载 计算机是如何启动的?
从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示......这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot是bootstrap
2013-04-07 08:45:02 516
原创 MD5算法产生多少位的消息摘要?
1. 加密算法和MD5等散列算法的区别 在软件开发的用户注册功能中常出现MD5加密这个概念,这个概念有一定的误导性。严格来说:MD5还有sha-1、 RIPEMD以及Haval等不能算是加密算法(虽然常用于把密码变成“密文”),他们只是散列算法,或者叫摘要算法。加密对应解密这个概念,加密算法包括:DES、3DES、IDEA、 RSA、AES等。 要弄懂这两类算法的区别
2013-04-07 08:15:54 10916
转载 Linux_AMD体系结构学习(内存模型)
系统编程概述: 为系统软件开发程序员编写操作系统,加载器(loaders),连接程序(linkers),设备驱动,或者需要访问系统资源的实用程序。这些系统资源通常只有在软件运行在最高特权级(CPL=0)时才可获取。特权级和他们的交互性在第93页的"Segment-Protection Overview(段保护机制概述)"有详细的描述。 这一章节主要介绍对系统软件开发者有帮助
2013-03-31 18:34:36 1043
转载 Linux_描述符表和描述符高速缓存
(摘自http://hengch.blog.163.com/blog/static/107800672009028105929795/)推荐对DOS感兴趣的看一下他的博客在80x86的CPU里,描述符的概念实在是太重要了。 在实模式下,大家都知道物理地址是由段地址和偏移地址两部分组成,其公式如下: 物理地址 = 段地址 × 16 + 偏移地址 或者:物理地址
2013-03-31 18:23:46 853 1
转载 Linux_关于A20 Gate
本来想直接写一篇关于保护模式的文章,因为有一位读者不断地问我这个问题,随着问题的深入,在评论上回答这个问题实在是太困难了,动起笔来,发现涉及的事情太多,免不了又是长篇大论惹人烦,而且要写很长时间,不知道我能不能把它写完,所以干脆把一些问题分离出来写,或许还可以坚持写出来。 在许多PC的CMOS设置里,都有一项叫做“A20 Enable“的设置,不知道大家是否就此设置困惑过,这个A20是什
2013-03-31 15:29:59 929
转载 Linux_分页管理机制(线性地址转换到物理地址)
80386开始支持存储器分页管理机制。分页机制是存储器管理机制的第3二部分。段管理机制实现虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换,分页管理机制实现线性地址到物理地址的转换。如果不启用分页管理机制,那么线性地址就是物理地址。本文将介绍80386的存储器分页管理机制和线性地址如何转换为物理地址。存储器分页管理机制 在保护模式下,控制寄存器CR0中的最高位PG位控制分页管理机
2013-03-30 21:38:47 1713
转载 Linux_保护模式下寻址
保护模式下寻址(易懂):网上看到的一强帖,不转不行了,牛人啊,把这段代码拿捏的相当到位 括号中是我的加注段机制轻松体验[内存寻址]实模式下的内存寻址:让我们首先来回顾实模式下的寻址方式段首地址×16+偏移量 = 物理地址为什么要×16?因为在8086CPU中,地址线是20位,但寄存器是16位的,最高寻址64KB,它无法寻址到1M内存。于是,Intel
2013-03-30 21:22:35 885
转载 Linux_我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)
要过年了,发个年终总结贴,只是个人理解,不包正确哈。本贴涉及的硬件平台是X86,如果是其它平台,嘻嘻,不保证能一一对号入座,但是举一反三,我想是完全可行的。一、概念物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在
2013-03-30 21:20:56 637
转载 Linux_80X86寄存器介绍
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址寄存器(ESI和EDI) 和2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间
2013-03-30 14:30:10 1133
转载 Linux_CPU寄存器简介
寄存器寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数
2013-03-30 14:24:15 6757
原创 Linux_平坦内存模式
第一章平坦内存模式 WINDOWS系统下的32位程序在内存中的布局被称为平坦内存模式,这种模式虽然只有一个段,却同时包了含代码和数据。但是,这种模式只能运行在386或更高的处理器上。 早期的16位程序,由不同的段组合而成,且每个段的地址重定位有64K的限制。而平坦内存模式下,程序无需进行地址重定位,内存访问范围达到4G宽度。其优点是,汇编程序更容易编写,且代码执行速度更快。
2013-03-29 19:21:25 1686
原创 深入理解Java虚拟机_1_JVM的由来
一、为什么要使用JVM 所有的程序运行所需要的底层机器指令都只是有限的若干条,从大型的UNIX机器到桌面个人计算机,都是基于那些设计精良而优美的指令集。但是这些指令集之间互不相容,这就使得程序的移植变得非常困难,所需时间甚至超过了重新编写一遍的时间。于是虚拟机的概念出现了。 Java虚拟机(JVM)在多个平台上实现统一语言,.NET的虚拟机(目前)在单一平台上实现多种
2013-03-28 14:12:15 749
原创 Linux_基本使用方法
1. 图形用户界面和命令行界面的切换图形界面==>命令行界面 可以按Ctrl+Shift+Alt+F2命令行界面==>图形界面 Alt+F7,在命令行界面中按Alt+F3是切换另一个文本界面如果想开机默认进入命令行界面的话可以修改配置文件。具体命令如下(在命令界面下,当然,必须要root或者具有root权限的用户名下才可以修改):(1)vi /etc/i
2013-03-27 14:31:24 649
转载 Linux_Linux的分段和分页机制
1.分段机制 80386的两种工作模式 80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。 分段机制 在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。 从逻辑地址到线性地址的转换由80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS标识一个段。这些段寄存器作为段选择器,用来选择
2013-03-25 21:54:16 745
转载 Linux_虚拟地址、线性地址和物理地址的转换
一、 虚拟地址即逻辑地址,是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel保护模式下程序执行代
2013-03-25 21:38:53 4766
转载 Linux_MMU
MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。编辑本段历史许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然
2013-03-25 21:20:37 3976 1
转载 Linux_代码段和数据段的定义以及思考
在百度里面看到这样一个问题和答案,记录一下。汇编中把数据段和代码段定义在同一段内有好处么? 悬赏分:10 -解决时间:2009-11-12 14:58在汇编语言,把代码段和数据段放在同一段内,在伪指令定义变量时位置有何要求么? 放在Start:后还是Start前有没不同?定义宏定义或子程序放在Start:(程序开始的标号)前后有影响?好处是能让编译出来的
2013-03-25 21:12:03 1528
转载 Linux_数据段、代码段、堆栈段、BSS段的区别
5个数据段 进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。Linux进程的五个段下面我们来简单归纳一下进程对应的内存空间中所包含的5种
2013-03-25 21:08:55 4184
Strut2+Spring+SQLServer的学生成绩管理系统
2012-07-01
JSP实用组件下载
2012-03-27
java集合框架的使用。集合的运算
2012-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人