特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库: 3.  本文未深入数据库优化中最核心的执行计划分析技术. 读者对像: 开发人员:如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化. 架构师:如果你已经是数据库应用的架构师,那本文的…
特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库: 3.  本文未深入数据库优化中最核心的执行计划分析技术. 读者对像: 开发人员:如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化. 架构师:如果你已经是数据库应用的架构师,那本文的…
MySQL常用指令,java,php程序员,数据库工程师必备.程序员小冰常用资料整理 MySQL常用指令(备查) 最常用的显示命令: 1.显示数据库列表. show databases; 2.显示库中的数据表: use mysql; show tables; 3.显示数据表的结构: describe 表名; 4.建库: create database 库名; 5.建表: use 库名: create table 表名 (字段设定列表): 6.删库和删表: drop database 库名; dr…
前言:如果你习惯了傻瓜式的一步步安装,那么Oracle和.NET搭配,绝对会让你头痛不已. 目前我不敢保证自己理解的Oracle理论部分100%正确,但环境安装过程一定可以收藏以备不时之需. 路这么长,说不定哪天就像我一样必须得用Oracle了. 本文重点 Oracle里面一些常见概念描述 安装Oracle数据库(11g) 安装Oracle的VS组件(vs2010-2015) 安装PLSQL12(附注册机+中文语言包) Oracle安装和配置常见问题解决方案 Oracle完全卸载(转) 注意事项…
关于“Google在Android平台使用Java侵犯知识产权”一案,2014年5月,联邦法院判定Oracle获胜,这个结果完全出人意料,因为这样一来无异于打开了软件开发领域中API使用方式的潘多拉之盒.Android使用的Java API是基于Google自己开发的Dalvik虚拟机,Google也因此就侵权问题提出了自己的异议,因为他们用的根本就不是Oralce的Java虚拟机(JVM). 尽管Java是一个开源平台,任何开发者都应该能够自由访问和使用,但是Oracle认为,这个开源条款不适…
windows PE/COFF章总结 本章学习了windows下的可执行文件和目标文件格式PE/COFF.PE/COFF文件与ELF文件非常相似,它们都是基于段的结构的二进制文件格式.Windows下最常见的目标文件格式就是COFF文件格式,微软的编译器产生的目标文件都是这种格式.COFF文件有一个很有意思的段叫".drectve段",这个段中保存的是编译器传递给链接器的命令行参数,可以通过这个段实现指定运行库等功能.Windows下的可执行文件.动态链接库等都使用PE文件格式,PE文…
前言 上一篇文章中介绍了如何让对象动起来,本文介绍如何让场景响应我们的鼠标和键盘以控制场景的缩放及对象的转动和移动等. 一. 原理分析 有了上一篇文章的基础,我们已经知道了如何让场景和对象动起来.本文我们通过键盘和鼠标来控制对象的动作,这就有点Game的意思了.对程序员来说,这其实是个很easy的事情,无非就是响应各种事件.下面就让我们来看一下PhiloGL如何完成此响应. 二. 事件响应 在PhiloGL类中添加events模块,用于监听各种事件.总体如下: PhiloGL('test1',…
Linux内核装载ELF过程 (1)bash进程调用fork()系统调用创建一个新的进程 (2)新的进程调用execve()系统调用执行指定的ELF文件,原先的bash进程继续返回等待刚才启动的新进程结束,然后继续等待用户输入命令. (3)execve()系统调用相应的入口是sys_execve(),sys_execve()进行一些参数的检查复制后,调用do_execve(). (4)do_execve()读取128个字节的文件头部,调用search_binary_handle(). (5)se…
可执行文件的装载与进程 覆盖装入和页映射是两种典型的动态装载方法 进程建立的三步 1.创建一个独立的虚拟地址空间 2.读取可执行文件头,并且建立虚拟空间与可执行文件的映射关系. 3.将CPU的指令寄存器设置成可执行文件的入口地址,启动运行. 常见段权限组合: 以代码段为代表的权限为可读可执行段 以数据段和BSS段为代表的权限为可读可写段 以只读数据段为段表的权限为只读的段 操作系统通过给进程空间划分出一个个VMA来管理进程的虚拟空间: 基本原则就是将相同权限属性的.有相同映像文件的映射成一个VM…
知识杂项 obj文件:当前源代码编译成二进制目标文件 exe文件:将.obj文件与库文件.lib等文件链接生成的可执行文件 一个现代编译器的主要工作流程如下: 源程序(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标程序(object code)→ 连接器(链接器,Linker)→ 可执行程序(executables) 映像:因为PE文件在装载时被直接映射到进程的虚拟空间运行.它是进程虚拟空间的映像.所以PE…