文章列表
修改服务器时间,导致Oracle密码失效:因为默认对密码有180天失效的限制。
-- 查看用户属于哪个配置文件,一般默认属于DEFAULT
SELECT USERNAME,PROFILE FROM DBA_USERS;
-- 查看指定配置文件(如DEFAULT)的密码有效期设置
SELECT * FROM DBA_PROFILES S WHERE S.PROFILE='DEFAULT' AND S.RESOURCE_NAME='PASSWORD_LIFE_TIME';
-- 将有效期由180天修改为UNLIMITED
ALTER PROFILE DEFAULT LIMIT ...
数组:
Java集合的内建类型,就是以数组的形式存在。
数组和Java集合的区别:
执行效率 - 数组实际代表一个简单的线性序列,使得元素的访问速度非常快,但是付出的代价:创建一个数组的时候,它的大小是固定的,不可以在那个数组对象“存在时间”内发生变化。
类型检查 - collection现在也有类型检查
Java中无论使用集合还是数组,都会进行范围检查 - 若超出边界,就会获得一个runtimeexception
集合类只能容纳对象句柄;
数组可令其直接容纳基本数据类型的数据,亦可容纳指向对象的句柄。
编译器期待得到一个String对象,但它没有得到一个,就 ...
多态性:
是什么
怎么做
优点:
代码组织以及可读性均能获得改善
创建“易于扩展”的程序
Polymorphism - 动态绑定、推迟绑定或者运行期绑定
能够不顾衍生类,只让自己的代码与基础类打交道,那么省下的工作量将是难以估计的。
可在运行期间判断对象的类型,并分别调用适当的方法;
也就是说,编译器此时已然不知道对象的类型,但方法调用机制能自己去调查,找到正确的方法主体。
Java中绑定的所有方法都采用后期绑定技术,除非一个方法已被声明成final
final的使用:
防止其他人覆盖这个方法
有效“关闭”动态绑定,或者告诉编译器不需要进行动态 ...
合成 - 在新类里简单地创建原有类的对象 - 新类由现有类的对象合并而成
继承 - 创建一个新类,将其作为现有类的一个“类型”
//对于非基本类型的对象来说,只需将句柄置于新类即可;而对于基本数据类型来说,则需在自己的类中定义它们。
// composition for code reuse
class WaterSource{
private String s;
WaterSource(){
System.out.println("WaterSource()");
s = new String("Cnstructed") ...
库的创建者必须能自由地进行修改与改进,同时保证客户程序员代码不会受到那些变动的影响。
使用 JAR文件时要注意一个问题:
必须将JAR文件的名字置于类路径里,而不仅仅是它所在的路径。所以对一个名为grape.jar 的JAR文件来说,我们的类路径需要包括:
CLASSPATH=.;D:\JAVA \LIB;C:\flavors\grape.jar
import com.bruceeckel.util.*;
/**
* 编译器遇到 import语句后,它会搜索由CLASSPATH 指定的目录,
* 查找子目录com\bruceeckel\util,然后查找名称适当 ...
尚观 - Linux - 4
- 博客分类:
- Linux
Linux学习-8、文件相关命令初步
ls - 查看文件
mv - 移动或重命名文件
cp - 拷贝文件
rm - 删除文件
touch - 创建空文件或更新文件时间
~ 个人主目录下
stat a 查看文件状态和时间
ls /etc/sysconfig -l
.开头的文件是隐含文件 ls -a可以看到
ls -F (可执行文件* 目录文件/ 链接文件@)
alias 查看已经建立的别名(alias ls ='ls --color=tty')
cp -r (copy文件夹)
rm -r (delete文件夹)
rm -rf (无交互 ...
C C++ Java
- 博客分类:
- 自己的东西
数组的差别:
Java数组从元素0开始计数,所以能索引的最大元素编号是“length-0”。
如果超出边界,C和C++会“默默”地接受,并允许我们胡乱使用自己的内存,这这是许多程序错误的根源。
Java方法一旦超过边界,就会生成一个运行期错误。
当然,由于需要检查每一个数组的访问,所以会消耗一定的时间和多余的代码量,而且没有办法把它关闭。
意味着数组访问可能成为程序效率低下的重要原因。
Overload & Override
- 博客分类:
- 自己的东西
Overload:
参数类型、个数、顺序至少有一个不相同。
不能重载只有返回值不同的方法名。
存在于父类和子类、同类中(重载的多个方法可以在一个类中,也可以在具有继承关系的一系列类中)。
Override:
方法名、参数、返回值相同。
子类方法不能缩小父类方法的访问权限。
子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
存在于父类和子类之间。
方法被定义为final不能被重写。
class ParentClass {
public void sayHello(){
System.out.println("I'm paren ...
区分overloading:
每个overloading的方法都必须采用独一无二的自变量类型列表
自变量的顺序也足够我们区分两个方法(尽管我们通常不愿意采用这种方法,因为它会产生难以维护的代码)
// promotion of primitives and overloading
// 若我们的数据类型“小于”方法中使用的自变量,就会对那种数据类型进行“转型”处理。
// char 获得的效果稍有些不同,这是由于假期它没有发现一个准确的char 匹配,就会转型为int。
public class PrimitiveOverloading {
// boolean can ...
尚观 - Linux - 3
- 博客分类:
- Linux
Linux学习-6、Linux安装
Boot:
linux dd driver disk 安装 - 服务器安装才会需要
linux ks kickstart 安装 - 机房群需要同时安装,只需要找一个ks文件
boot: linux ks=nfs:192.168.0.254:/var/ftp/pub/ks.cfg
(kickstart原理:形成一份安装步骤文档 - 图形界面next没有到最后一步,只是在生成一份步骤文档文件)
注意事项:
1. 分区 - 主分区只能有四个(第5个只能是第4个的扩展/逻辑分区)
a ...
程序员经常都会忘记其他优先级规则,所以应该用括号明确规定计算顺序。
// Assignment with objects is a bit tricky
class Number{
int i;
}
public class Assignment {
public static void main(String[] args) {
Number n1 = new Number();
Number n2 = new Number();
n1.i = 9;
n2.i = 47;
System.out.println("[1] n1. ...
保存到什么地方?
寄存器 - 最快的保存区域,位于处理器内部(寄存器的数量十分有限,所以寄存器是根据需要由编译器分配 - 对此没有直接的控制权,不可能在自己的程序里找到寄存器存在的任何踪迹)
堆栈 - 驻留于常规RAM(随机访问存储器)区域,堆栈指针若向下移,会创建新的内存,向上移动,则会释放那些内存。(仅次于寄存器,是一种特别快,特别有效的数据保存方式)Java编译器必须准确知道堆栈内保存的所有数据的“长度”以及“存在时间”。这是由于它必须生成相应的代码,以便向上和向下移动指针。这一限制无疑影响了程序的灵活性,所以尽管有些Java数据保存在堆栈里 - 特别是对象的句柄,但是Java对 ...
抽象的进步
所有编程语言的最终目的都是提供一种“抽象”方法。
一种较有争议的说法是:解决问题的复杂程度直接取决于抽象的种类及质量。
“种类“ 就是指准备对什么进行”抽象“
1. 汇编语言是对基础机器的少量抽象
2. ”命令式“语言(Fortran Basic C)是对汇编语言的一种抽象
a. 与汇编语言相比,这些语言已经有了长足的进步
b. 但是它们的抽象原理依然要求我们着重考虑计算机的机构,而非考虑问题本身的结构
”纯粹“的面向对象程序设计方法:
1. 所有的东西都是对象 - 可将对象想象成一种新型变量:保存数据,要求它对自身 ...
尚观 - Linux - 2
- 博客分类:
- Linux
Linux学习-5、系统结构与终端控制台
Linux 操作系统的基本结构:
1. Kernel
2. Modules
3. Lib
4. Shell
5. Tools
JAVA跨平台,是因为依赖虚拟机JVM
- 但是JVM不是跨平台的
Kernel的版本:
1. kernel.org - 下载最新的源代码
2. 2.4 - 2000年发布 - 标志Linux向企业领域进军,趋于成熟(不在是“玩具”)
3. 2.5 - 奇数的版本号,代表测试版
4. 2.6 - 2003年发布
...
尚观 - Linux - 1
- 博客分类:
- Linux
http://www.youku.com/playlist_show/id_2505633_ascending_1_mode_pic_page_1.html
尚观ULE课程之Linux学习建议1
1. 避免工具型学习 - 需要本质上的提上:
a. windows 图形界面 - 工具型学习
b. Linux的命令行 - 属于本质学习
2. Java学习,起初就是作为一个工具在使用 - 看《think in java》之后,就需要从本质上思考(程序的设计和分析)
尚观ULE课程之Linux学习建议2
Linux经典学习视频-3、UNIX like系统的特 ...