1 UNIX 基础知识 1.1 UNIX 体系结构 在严格意义上,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。 一般而言,我们称此种软件为内核(kernel),它相对较小,位于环境的中心。 内核的接口被称为系统调用(systemcall)。公用函数库构建在系统调用接口上, 应用软件既可使用公用函数库,也可使用系统调用。shell 是一种特殊的应用程序, 它为运行其他应用程序提供了一个接口。 在广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予 计算机以独有的特性。 这些软件包括系统实用程序(system utilities)、应用软件、sh ...
[/b]摘要:正如我们所知,程序员们乐于讨论最佳实践,很少提及最差实践,但实际工作中最差实践往往具有更深刻的警示作用。本文基于若干项目中的代码,总结常见的PL/SQL最差实践,并提出针对性的解决办法。
[b]1. 超长的PL/SQL代码
影响:可维护性,性能
症状:
在复杂的企业应用中,存在动辄成百上千行的存储过程或上万行的包。
为什么是最差:
太长的PL/SQL代码不利于阅读,第三方工具在调试时也会出现代码行混乱等问题。PL/SQL存储对象(存储过程、包、函数、触发器等)行数上限约为6000000行,但实际工作中,当包大小超过5000行就会出现调试问 ...
数据库中存储数据的方式:
规则表---〉分区表
索引组织表
簇修改列名alter table 表明 rename column rename 老列名 to 新列名
添加 字段
alter table 表名 add(字段名 类型);
删除字段
alter table 表名 drop column 字段名修改列属性
alter table 表名 modify (字段名 新属性)
设置某一个字段为无用状态
alter table 表名 set unuesed column 字段名
删除无用字段
alert table 表名 drop unused cloumns添加主键
alert table ...
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) t ...
jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm。
通过使用java.sql.preparedstatement,这个问题可以自动解决。一个preparedstatement是从java.sql.connection对象和所提供的sql字符串得到的,sql字符串中包含问号(?),这些问号标明变量 ...
ArrayList是List接口的一个可变长数组实现。实现了所有List接口的操作,并允许存储null值。除了没有进行同步,ArrayList基本等同于Vector。在Vector中几乎对所有的方法都进行了同步,但ArrayList仅对writeObject和readObject进行了同步,其它比如add(Object)、remove(int)等都没有同步。
1.存储
ArrayList使用一个Object的数组存储元素。
private transient Object elementData[];
ArrayList实现了java.io.Seria ...
Vector、ArrayList和List的异同[zz]
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。
Collec ...
本篇从java.sql.Driver接口、java.sql.DriveManager类以及其它开源数据库的驱动类讨论JDBC中驱动加载的全过程以及JDBC的Framework如何做到“可插拔”的细节。
本篇包含了很多部分的内容。如类加载器、本地方法、对象锁、类锁、按功能或者状态分离锁、安全机制,对这些内容没有深入讨论!详情可以继续关注本博客!我在上篇主要关注驱动管理器的初始化、连接的建立、驱动的注册、驱动的遍列、驱动的取消注册以及DriverManager中的日志操作。
一、Driver接口 ...
JVM在运行时会产生三个ClassLoader,Bootstrap ClassLoader、Extension ClassLoader和AppClassLoader.其中,Bootstrap是用C++编写的,我们在Java中看不到它,是null。它用来加载核心类库,在JVM源代码中这样写道:
static const char classpathFormat[]& ...
使用JDBC时,我们都会很自然得使用下列语句:
java 代码
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8";
String& ...







评论排行榜