- 30天自制操作系统(第15天)
Amnesiac_seven
其他
第15天多任务(1)15.1挑战任务切换任务切换,就是从某一任务切换成另一任务,如果切换的频率很快,就会有一种同时运行多任务的错觉。下面先介绍一下任务TSS结构体的成员structTSS32{intbacklink,esp0,ss0,esp1,ss1,esp2,ss2,cr3;//任务设置相关的信息inteip,eflags,eax,ecx,edx,ebx,esp,ebp,esi,edi;//32
- x86使用内敛汇编实现简单的临界段保护
唐·柯里昂798
汇编linux运维笔记服务器
临界资源保护实现方法禁用中断__attribute__((used))staticinlineuint32_tread_eflags(void){uint32_teflags;ASM_V("pushf\n\tpop%%eax":"=a"(eflags));returneflags;}__attribute__((used))staticinlinevoidwrite_eflags(uint32_t
- x86汇编常见语法(GNU格式)
lucky_goose
x86‘汇编汇编gnu
x86汇编常见语法(GNU格式)目录x86汇编常见语法(GNU格式)1.寄存器1.1通用寄存器1.2标志寄存器EFLAGS(32位)1.3段寄存器1.4控制寄存器1.5指令指针寄存器2.指令集2.1操作数2.2指令后缀2.3数据传送指令2.4算数和逻辑运算指令2.5cmp和test指令2.6跳转指令3.过程调用3.1参数传递3.2返回值3.3寄存器的其他约定3.4控制转移1.寄存器1.1通用寄存器
- Linux内存管理
YAOPRINCESS
的Markdown我真的服了,以后我会把笔记源码上传到其他地方,大家可以下载后用Typora看,我感觉这个软件不错6个段寄存器CSSSDSES/FS/GS保护模式下,16位的寄存器无法存放32位的段基地址段寄存器中存放的不是某个段的基地址,而是某个段的选择子(Selector)段基地址存放在段描述符表中状态和控制寄存器标志寄存器EFLAGS指令指针EIP4个控制寄存器CR0/1/2/3[图片上传失
- X86汇编语言:从实模式到保护模式(代码+注释)--c10、11(保护模式:32位x86处理器编程架构+进入保护模式)
想考北航的小刺猬
汇编语言汇编
保护模式:32位x86处理器编程架构IA-32架构的基本执行环境寄存器扩展通用寄存器(32):EAXEBXECXEDXESIEDIEBPESP指令寄存器(32):EIP标志寄存器(32):EFLAGS段寄存器–>段选择子(16):CSDSESSSFSGS(每个段寄存器都有一个64位的描述符高速缓存器)线性地址在未开启页功能之前,线性地址就是物理地址。当开启页功能后,段部件产生的地址就是线性地址(非
- 汇编-PUSHFD和POPFD标志寄存器值压栈和出栈
天子骄龙
汇编
PUSHFD指令将32位EFLAGS寄存器内容压入堆栈,而POPFD指令则将栈顶单元内容弹出到EFLAGS寄存器格式:
- 第七章-中断
摸爬滚打的CSer
操作系统真象还原操作系统
Ⅰ.中断分类1.外部中断(1)外部中断类型外部中断由两根中断线控制,INTR硬件中断和NMI异常中断,目的是为了区分中断紧急程度。INTR中断接收硬件中断请求,属于可屏蔽中断,即中断请求可以不做及时响应,通过eflags寄存器的IF位将所有这些外部设备的中断屏蔽。NMI中断来自于毁灭性异常,如内存崩溃、电源断开,中断一旦发生,意味着系统将崩溃,是无法屏蔽的。并行和并发区别:并行指的是同时运行,只针
- X86汇编常见的寄存器
peiwang245
系统
X86汇编常见的寄存器4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP)1个标志寄存器(EFlags)AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=CX(count):计数寄存器DH&DL=DX
- LINUX内核启动流程-2
yy_hear
嵌入式实时系统开发linux运维服务器
向32位模式转变,为main函数的调用做准备1、关中断并将system移动到内存地址起始位置0x000001.1关中断:将CPU的标志寄存器(EFLAGS)中的中断允许标志(IF)置0。main函数中能够适应保护模式的中断服务体系被重建完毕才会打开中断,而那时候响应中断的服务程序将不再是BIOS提供的中断服务程序,取而代之的是由系统自身提供的中断服务程序。关中断EFLAGS:标志寄存器,存在于CP
- 常用汇编指令及堆栈图
世俗非议不足道哉~
reverse的入门
常用汇编指令及堆栈图第一部分、汇编指令一、常用汇编指令1通用数据传送指令.2.输入输出端口传送指令.3.目的地址传送指令.4.标志传送指令.二、EFLAGS寄存器三、JCC第二部分堆栈图一、一个简单C语言程序的堆栈图二、汇编中的函数1、汇编中的函数2、函数的入口3、函数的出口三、Windows堆栈1、Windows堆栈的特点:2、什么是堆栈平衡:第一部分、汇编指令一、常用汇编指令1通用数据传送指令
- 程序员自我修养笔记:第12章
freshhell
笔记linuxc语言
第12章系统调用原理1.普通应用程序运行在用户态下,唯一进入内核态的方式就是通过系统中断。中断分硬件中断和软件中断,软件中断一般以int0x80号进入系统中断处理程序。中断号很好,因此一般中断号与系统调用都是1对多的关系。而Linux下的都是通过0x80号中断来触发系统调用。而通过eax传递系统调用号,参数用其他寄存器传递。而中断的触发还伴随着用户栈到内核栈的转变,并且将ss,esp,eflags
- x86寄存器总结
weixin_34356555
操作系统数据结构与算法内存管理
X86寄存器·x86寄存器分类:8个通用寄存器:EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP1个标志寄存器:EFLAGS6个段寄存器:CS、DS、ES、FS、GS、SS5个控制寄存器:CR0、CR1、CR2、CR3、CR48个调试寄存器:DR0、DR1、DR2、DR3、DR4、DR5、DR6、DR74个系统地址寄存器:GDTR、IDTR、LDTR、TR其他寄存器:EIP、TSC等
- 10、32位 x86处理器编程架构
java硕哥
x86汇编语言从实模式到保护模式
10.1、IA-32架构的基本执行环境10.1.1、寄存器的扩展8个通用寄存器的扩展:(AX、BX、CX、DX)16位->32位(EAX、EBX、ECX、EDX)(SI、DI、BP、SP)16位->32位(ESI、EDI、EBP、ESP)AH、AL..DH、DL仍然可以用IP扩展:IP扩展到了32位,即"EIP"标志寄存器FLAGE扩展:FLAGE扩展到了32位,即"EFLAGS",低16位和原先
- PostgreSQL源码standard_ExecutorStart
李小白努力努力努力ing
postgresql数据库
standard_ExecutorStart(QueryDesc*queryDesc,inteflags)queryDesc是一个指向QueryDesc结构的指针。QueryDesc结构包含了执行查询所需的上下文信息,包括查询计划、参数值、结果集等。eflags是一个整数参数,代表执行标志(executionflags)。这个参数用于指定执行查询时的一些选项和行为。通过指定不同的标志,可以影响查询
- 学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
wwwwws
汇编/C/C++
转自:http://www.cnblogs.com/del/archive/2010/04/16/1713886.htmlhttp://pan.baidu.com/s/1gVTSi跳转指令分三类:一、无条件跳转:JMP;无条件跳转二、根据CX、ECX寄存器的值跳转:JCXZ;CX为0则跳转JECXZ;ECX为0则跳转三、根据EFLAGS寄存器的PSW标志位跳转,这个太多了.根据标志位跳转的指令:J
- 中断(interrupt)、异常(exception)、陷入(trap)
bailyzheng
exception编程linux任务微软x86
实际上,本书没有必要严格地去区分什么是中断,什么是异常。由于本章要用到一点中断和异常的概念,所以这里稍微作一个介绍。中断:是为了设备与CPU之间的通信。典型的有如服务请求,任务完成提醒等。比如我们熟知的时钟中断,硬盘读写服务请求中断。中断的发生与系统处在用户态还是在内核态无关,只决定于EFLAGS寄存器的一个标志位。我们熟悉的sti,cli两条指令就是用来设置这个标志位,然后决定是否允许中断。在单
- 中断(interrupt)、异常(exception\fault)、陷阱(trap)
chen4914
linux0.11
中断中断是为了设备与CPU之间的通信。典型的有如服务请求,任务完成提醒等。比如我们熟知的时钟中断,硬盘读写服务请求中断。中断的发生与系统处在用户态还是在内核态无关,只决定于EFLAGS寄存器的一个标志位。我们熟悉的sti,cli两条指令就是用来设置这个标志位,然后决定是否允许中断。**在单个CPU的系统中,这也是保护临界区的一种简便方法。**中断是异步的,因为从逻辑上来说,中断的产生与当前正在执行
- 汇编语言基础
suntwo
寄存器寄存器是处理器内部的高速缓冲区,用于暂时存放数据。寄存器的分类:透明寄存器:这类寄存器不需要程序员进行操作。可编程的寄存器:这是我们程序员需要学习的这类寄存器又分为通用寄存器和专用寄存器32位通用寄存器:eaxebxecxedxediesiebpesp16位通用寄存器:axbxcxdxdisibpsp8位通用寄存器:alahblbhclchdldh专用寄存器的种类标志寄存器:eflags指令
- Linux内核——系统运行过程
懒无趣
系统一般执行过程正运行在用户态的X进程X进程发生中断(可能产生了系统调用、异常等)保存CS:EIP、SS:ESP、eflags寄存器到X进程内核堆栈加载CS:EIP到中断处理函数入口,加载SS:ESP到X进程内核堆栈以上两点是int0x80系统指令完成的中断处理函数中一段汇编指令SAVE_ALL,将X进程用户态硬件上下文信息全部保存起来到内核堆栈,此时进程X运行在内核态当系统调用函数执行完成,在中
- 逆向学习笔记
阿拉垮神登
逆向学习
滴水逆向文章目录滴水逆向一:二:三:进制-0与1:数据宽度:通用寄存器(内存读取):内存地址—堆栈:标志寄存器(EFLAGS):JCC:堆栈图:VC++6.0数据结构:C语言-if语句逆向:C语言基础:一:信息的存储:一切信息在电脑中的存储方式都是用二进制存储。为了方便显示和,电脑将二进制数以十六进制数显示,八位二进制数为一字节,一字节是系统操作的基本单位,系统通常用两个十六进制数来表示一字节。P
- 微型计算机原理速通期末复习
paidx0
杂七杂八期末
文章目录微机基础原码、反码、补码、移码溢出实数型功能结构8086/8088内部结构80286内部结构80386/80486内部结构标志寄存器FLAGS寄存器阵列段寄存器寻址标志寄存器EFLAGS分段结构数据寻址方式立即寻址直接寻址寄存器寻址寄存器间接寻址寄存器相对寻址基址-变址寻址基址-变址-相对寻址隐含寻址比例变址寻址基址比例变址寻址相对基址比例变址寻址程序转移寻址方式段内直接寻址段内间接寻址段
- Intel System Flags and Fields in the EFLAGS Register
小立爱学习
#Intel手册翻译系统架构硬件架构
文章目录前言一、SystemFlagsandFieldsintheEFLAGSRegister1.1IA-32architecture1.2Intel64architecture总结前言本文继续翻译Intelvol3chapter2:2.3章节,有些英文单词翻译成中文别扭的我会保留英文,不翻译。一、SystemFlagsandFieldsintheEFLAGSRegister1.1IA-32arc
- 分析C++软件异常需要掌握的汇编知识汇总(实战经验分享)
dvlinker
C++软件异常汇编指令函数调用栈分布虚函数调用
目录1、概述1.1、异常捕获库CrashReport和调试器1.2、有时需要查看汇编代码去定位问题2、CPU架构2.1、当前主流的CPU架构2.2、国产CPU介绍2.3、X86架构与ARM架构下的汇编代码的差异示例3、常用寄存器3.1、EAX寄存器3.2、ECX寄存器3.3、ESI和EDI寄存器3.4、ESP和EBP寄存器3.5、EIP寄存器3.6、段寄存器3.7、标志寄存器EFlags4、汇编指
- 【Android 逆向】x86 CPU 架构体系 ( CPU 模型 | 内存模型 )
韩曙亮
Android逆向androidCPUx86
文章目录一、x86CPU模型二、内存模型一、x86CPU模型下图是x86架构的CPU模型图:左侧的EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP,CS,DS,ES,FS,GS,SS,EFLAGS,EIP等161616个各种颜色的模块,都是"寄存器";寄存器可以访问"高速缓存",这里的高速缓存就是一级/二级/三级缓存;高速缓存与内存相对应,缓存中缓存的数据就是内存中的数据;CPU读取
- 谈谈vmp的爆破
看雪学院
0x00前言玩vmp的笔记吧,祝大家新年快乐。先谈谈爆破,这个比起其他的方面的话,应该很多人喜欢,比较直截了当。当然,也会提一些vmp其他的东西。0x10需要的基础知识平常我们爆破一个软件,有一种有常见的方法就是通过修改jcc跳转来达到爆破的目的。而vmp实现jcc,跳还是不跳,其实计算是eflags。以jz为例,大家都知道jz跳不跳其实是看zf标志位的状态:zf==1--->跳转zf==0---
- 2019-11-14学习80386
黑小柴
寄存器80386共提供7种类型的32位寄存器,如下:1、通用寄存器(EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI)2、段寄存器(CS、SS、DS、ES、FS、GS)3、指令指针寄存器和标志寄存器(EIP、EFLAGS)4、系统表寄存器(GDTR、IDTR、LDTR、TR)5、控制寄存器(CR0、CR1、CR2、CR3、CR4)6、调试寄存器(DR0、DR1、DR2、DR3、DR4
- [007][x86汇编语言]各个数位的显示 条件转移指令(搭配cmp)Bochs命令:n 、u 、info eflags
AkuRinbu
学习笔记《x86汇编语言:从实模式到保护模式》https://www.jianshu.com/p/d481cb547e9fc06_mbr.asm;代码清单6-1;文件名:c06_mbr.asm;文件说明:硬盘主引导扇区代码;创建日期:2011-4-1222:12jmpnearstartmytextdb'L',0x07,'a',0x07,'b',0x07,'e',0x07,'l',0x07,'',0
- 004-标志寄存器
路上^_^
汇编
标志寄存器复习pushpop标志寄存器位练习题示例复习pushpushimm8/16/32(立即数):栈顶都会-4pushr16/32(寄存器):不一定了.要看操作的寄存器宽度poppop具体操作也可以弹出指定宽度的值到寄存器标志寄存器EFLAGS寄存器上面的一些位上面的值.某些汇编指令会根据这个值决定要不要执行本条指令需要记住的位置:0,2,4,6-11这几个位置
- 第二章 处理器结构
绀香零八
微机原理与汇编语言
文章目录处理器的功能结构处理器的基本结构8086的功能80386的功能结构Pentium的结构寄存器通用寄存器(General-PurposeRegister)标志寄存器EFLAGS专用寄存器存储器组织存储模型工作方式逻辑地址汇编语言基础指令代码格式(Instructionformat)/机器代码格式语句格式源程序框架开发过程数据寻址的方式立即数寻址方式寄存器寻址方式存储器寻址的方式各种数据寻址方
- 32寄存器大全
NGForever
Compilation
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、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存
- 设计模式介绍
tntxia
设计模式
设计模式来源于土木工程师 克里斯托弗 亚历山大(http://en.wikipedia.org/wiki/Christopher_Alexander)的早期作品。他经常发表一些作品,内容是总结他在解决设计问题方面的经验,以及这些知识与城市和建筑模式之间有何关联。有一天,亚历山大突然发现,重复使用这些模式可以让某些设计构造取得我们期望的最佳效果。
亚历山大与萨拉-石川佳纯和穆雷 西乐弗斯坦合作
- android高级组件使用(一)
百合不是茶
androidRatingBarSpinner
1、自动完成文本框(AutoCompleteTextView)
AutoCompleteTextView从EditText派生出来,实际上也是一个文本编辑框,但它比普通编辑框多一个功能:当用户输入一个字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView按用户选择自动填写该文本框。
使用AutoCompleteTex
- [网络与通讯]路由器市场大有潜力可挖掘
comsci
网络
如果国内的电子厂商和计算机设备厂商觉得手机市场已经有点饱和了,那么可以考虑一下交换机和路由器市场的进入问题.....
这方面的技术和知识,目前处在一个开放型的状态,有利于各类小型电子企业进入
&nbs
- 自写简单Redis内存统计shell
商人shang
Linux shell统计Redis内存
#!/bin/bash
address="192.168.150.128:6666,192.168.150.128:6666"
hosts=(${address//,/ })
sfile="staticts.log"
for hostitem in ${hosts[@]}
do
ipport=(${hostitem
- 单例模式(饿汉 vs懒汉)
oloz
单例模式
package 单例模式;
/*
* 应用场景:保证在整个应用之中某个对象的实例只有一个
* 单例模式种的《 懒汉模式》
* */
public class Singleton {
//01 将构造方法私有化,外界就无法用new Singleton()的方式获得实例
private Singleton(){};
//02 申明类得唯一实例
priva
- springMvc json支持
杨白白
json springmvc
1.Spring mvc处理json需要使用jackson的类库,因此需要先引入jackson包
2在spring mvc中解析输入为json格式的数据:使用@RequestBody来设置输入
@RequestMapping("helloJson")
public @ResponseBody
JsonTest helloJson() {
- android播放,掃描添加本地音頻文件
小桔子
最近幾乎沒有什麽事情,繼續鼓搗我的小東西。想在項目中加入一個簡易的音樂播放器功能,就像華為p6桌面上那麼大小的音樂播放器。用過天天動聽或者QQ音樂播放器的人都知道,可已通過本地掃描添加歌曲。不知道他們是怎麼實現的,我覺得應該掃描設備上的所有文件,過濾出音頻文件,每個文件實例化為一個實體,記錄文件名、路徑、歌手、類型、大小等信息。具體算法思想,
- oracle常用命令
aichenglong
oracledba常用命令
1 创建临时表空间
create temporary tablespace user_temp
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local
- 25个Eclipse插件
AILIKES
eclipse插件
提高代码质量的插件1. FindBugsFindBugs可以帮你找到Java代码中的bug,它使用Lesser GNU Public License的自由软件许可。2. CheckstyleCheckstyle插件可以集成到Eclipse IDE中去,能确保Java代码遵循标准代码样式。3. ECLemmaECLemma是一款拥有Eclipse Public License许可的免费工具,它提供了
- Spring MVC拦截器+注解方式实现防止表单重复提交
baalwolf
spring mvc
原理:在新建页面中Session保存token随机码,当保存时验证,通过后删除,当再次点击保存时由于服务器端的Session中已经不存在了,所有无法验证通过。
1.新建注解:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
- 《Javascript高级程序设计(第3版)》闭包理解
bijian1013
JavaScript
“闭包是指有权访问另一个函数作用域中的变量的函数。”--《Javascript高级程序设计(第3版)》
看以下代码:
<script type="text/javascript">
function outer() {
var i = 10;
return f
- AngularJS Module类的方法
bijian1013
JavaScriptAngularJSModule
AngularJS中的Module类负责定义应用如何启动,它还可以通过声明的方式定义应用中的各个片段。我们来看看它是如何实现这些功能的。
一.Main方法在哪里
如果你是从Java或者Python编程语言转过来的,那么你可能很想知道AngularJS里面的main方法在哪里?这个把所
- [Maven学习笔记七]Maven插件和目标
bit1129
maven插件
插件(plugin)和目标(goal)
Maven,就其本质而言,是一个插件执行框架,Maven的每个目标的执行逻辑都是由插件来完成的,一个插件可以有1个或者几个目标,比如maven-compiler-plugin插件包含compile和testCompile,即maven-compiler-plugin提供了源代码编译和测试源代码编译的两个目标
使用插件和目标使得我们可以干预
- 【Hadoop八】Yarn的资源调度策略
bit1129
hadoop
1. Hadoop的三种调度策略
Hadoop提供了3中作业调用的策略,
FIFO Scheduler
Fair Scheduler
Capacity Scheduler
以上三种调度算法,在Hadoop MR1中就引入了,在Yarn中对它们进行了改进和完善.Fair和Capacity Scheduler用于多用户共享的资源调度
2. 多用户资源共享的调度
- Nginx使用Linux内存加速静态文件访问
ronin47
Nginx是一个非常出色的静态资源web服务器。如果你嫌它还不够快,可以把放在磁盘中的文件,映射到内存中,减少高并发下的磁盘IO。
先做几个假设。nginx.conf中所配置站点的路径是/home/wwwroot/res,站点所对应文件原始存储路径:/opt/web/res
shell脚本非常简单,思路就是拷贝资源文件到内存中,然后在把网站的静态文件链接指向到内存中即可。具体如下:
- 关于Unity3D中的Shader的知识
brotherlamp
unityunity资料unity教程unity视频unity自学
首先先解释下Unity3D的Shader,Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微软的FX文件或者NVIDIA的CgFX有些类似。传统意义上的vertex shader和pixel shader还是使用标准的Cg/HLSL 编程语言编写的。因此Unity文档里面的Shader,都是指用ShaderLab编写的代码,然后我们来看下Unity3D自带的60多个S
- CopyOnWriteArrayList vs ArrayList
bylijinnan
java
package com.ljn.base;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* 总述:
* 1.ArrayListi不是线程安全的,CopyO
- 内存中栈和堆的区别
chicony
内存
1、内存分配方面:
堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。
栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中
- 回答一位网友对Scala的提问
chenchao051
scalamap
本来准备在私信里直接回复了,但是发现不太方便,就简要回答在这里。 问题 写道 对于scala的简洁十分佩服,但又觉得比较晦涩,例如一例,Map("a" -> List(11,111)).flatMap(_._2),可否说下最后那个函数做了什么,真正在开发的时候也会如此简洁?谢谢
先回答一点,在实际使用中,Scala毫无疑问就是这么简单。
- mysql 取每组前几条记录
daizj
mysql分组最大值最小值每组三条记录
一、对分组的记录取前N条记录:例如:取每组的前3条最大的记录 1.用子查询: SELECT * FROM tableName a WHERE 3> (SELECT COUNT(*) FROM tableName b WHERE b.id=a.id AND b.cnt>a. cnt) ORDER BY a.id,a.account DE
- HTTP深入浅出 http请求
dcj3sjt126com
http
HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后We
- 判断MySQL记录是否存在方法比较
dcj3sjt126com
mysql
把数据写入到数据库的时,常常会碰到先要检测要插入的记录是否存在,然后决定是否要写入。
我这里总结了判断记录是否存在的常用方法:
sql语句: select count ( * ) from tablename;
然后读取count(*)的值判断记录是否存在。对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来。
- 对HTML XML的一点认识
e200702084
htmlxml
感谢http://www.w3school.com.cn提供的资料
HTML 文档中的每个成分都是一个节点。
节点
根据 DOM,HTML 文档中的每个成分都是一个节点。
DOM 是这样规定的:
整个文档是一个文档节点
每个 HTML 标签是一个元素节点
包含在 HTML 元素中的文本是文本节点
每一个 HTML 属性是一个属性节点
注释属于注释节点
Node 层次
- jquery分页插件
genaiwei
jqueryWeb前端分页插件
//jquery页码控件// 创建一个闭包 (function($) { // 插件的定义 $.fn.pageTool = function(options) { var totalPa
- Mybatis与Ibatis对照入门于学习
Josh_Persistence
mybatisibatis区别联系
一、为什么使用IBatis/Mybatis
对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis 凭借着易学易用、
- C中怎样合理决定使用那种整数类型?
秋风扫落叶
c数据类型
如果需要大数值(大于32767或小于32767), 使用long 型。 否则, 如果空间很重要 (如有大数组或很多结构), 使用 short 型。 除此之外, 就使用 int 型。 如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。 但是, 要注意在表达式中混用有符号和无符号值的情况。
&nbs
- maven问题
zhb8015
maven问题
问题1:
Eclipse 中 新建maven项目 无法添加src/main/java 问题
eclipse创建maevn web项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder。
按照maven目录结构,添加src/main/ja
- (二)androidpn-server tomcat版源码解析之--push消息处理
spjich
javaandrodipn推送
在 (一)androidpn-server tomcat版源码解析之--项目启动这篇中,已经描述了整个推送服务器的启动过程,并且把握到了消息的入口即XmppIoHandler这个类,今天我将继续往下分析下面的核心代码,主要分为3大块,链接创建,消息的发送,链接关闭。
先贴一段XmppIoHandler的部分代码
/**
* Invoked from an I/O proc
- 用js中的formData类型解决ajax提交表单时文件不能被serialize方法序列化的问题
中华好儿孙
JavaScriptAjaxWeb上传文件FormData
var formData = new FormData($("#inputFileForm")[0]);
$.ajax({
type:'post',
url:webRoot+"/electronicContractUrl/webapp/uploadfile",
data:formData,
async: false,
ca
- mybatis常用jdbcType数据类型
ysj5125094
mybatismapperjdbcType
MyBatis 通过包含的jdbcType
类型
BIT FLOAT CHAR