`
winie
  • 浏览: 216559 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
文章列表
Java不是纯的面向对象的语言,不纯的地方就是这些基本数据类型不是对象。当然初期Java的运行速度很慢,基本数据类型能在一定程度上改善性能。如果你想编写纯的面向对象的程序,用包装器类是取代基本数据类型就可以了。 ...
从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。 1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。 几种内部类的共性: A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。 B、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。 2、成员内部类:形式如下     class Outer {         class Inn ...
一、方法的重写。 1、重写只能出现在继承关系之中。当一个类继承它的父类方法时,都有机会重写该父类的方法。一个特例是父类的方法被标识为final。重写的主要优点是能够定义某个子类型特有的行为。     class Animal {         public void eat(){             System.out.println ("Animal is eating.");         }     }         class Horse extends Animal{         public void eat(){             Sy ...
一提到线程好像是件很麻烦很复杂的事,事实上确实如此,涉及到线程的编程是很讲究技巧的。这就需要我们变换思维方式,了解线程机制的比较通用的技巧,写出高效的、不依赖于某个JVM实现的程序来。毕竟仅仅就Java而言,各个虚拟机的实现是不同的。学习线程时,最令我印象深刻的就是那种不确定性、没有保障性,各个线程的运行完全是以不可预料的方式和速度推进,有的一个程序运行了N次,其结果差异性很大。 1、什么是线程?线程是彼此互相独立的、能独立运行的子任务,并且每个线程都有自己的调用栈。所谓的多任务是通过周期性地将CPU时间片切换到不同的子任务,虽然从微观上看来,单核的CPU上同时只运行一个子任务,但是从宏观来 ...
一、static 请先看下面这段程序: public class Hello{ public static void main(String[] args){ //(1) System.out.println("Hello,world!"); //(2) } } 看过这段程序,对于大多数学过Java 的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的意思。它只是简单的输出“Hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主要用法。 在1处,我们定义了一个静态的方法名为main,这就意味着 ...

throw与throws区别

    博客分类:
  • java
这两者虽然看起来只有一个s的区别,但是作用完全不一样 /////java处理异常方式/////////////////////////////// 在java代码中如果发生异常的话,jvm会抛出异常对象,导致程序代码中断,这个时候jvm在做的操作就是:创建异常对象,然后 ...
  第一章:日志管理   1.forcing log switches   sql> alter system switch logfile;   2.forcing checkpoints   sql> alter system checkpoint;   3.adding online redo log groups   sql> alter database add logfile [group 4]   sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;   4.adding online redo log ...

怎么清理临时段

/*怎么清理临时段    可以使用如下办法    <1>、 使用如下语句查看一下认谁在用临时段*/   SELECT username,sid,serial#,sql_address,machine,program,    tablespace,segtype, contents    FROM v$session se,v$sort_usage su    WHERE se.saddr=su.session_addr /*   <2>、 那些正在使用临时段的进程*/   SQL>Alter system kill session 'sid,serial#'; ...

找出低效SQL

--用下列SQL工具找出低效SQL SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,         ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,         ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,         SQL_TEXT FROM   V$SQLAREA WHERE  EXECUTIONS>0 AND     BUFFER_GETS > 0 AND (BUFFER_GETS-DISK_READS)/BU ...
/*怎么快速查找锁与锁等待    数据库的锁是比较耗费资源的,特别是发生锁等待的时候,我们必须找到发生等待的锁,有可能的话,杀掉该进程。    这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。    可以通过alter system kill session ‘sid,serial#’来杀掉会话 */   SELECT /*+ rule */ s.username,    decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL) LOCK_LEVEL,    o.owner,o ...
--SQL语句的优化方法 <1> /*+ALL_ROWS*/    表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.    例如:   SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';   <2>. /*+FIRST_ROWS*/    表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.    例如:   SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEM ...
--查找前十条性能差的sql SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS, COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea order BY disk_reads DESC )where ROWNUM<10 ;
/*熟悉一下我的getsql.sql脚本*/ SELECT   /*+ ORDERED */          sql_text     FROM v$sqltext a    WHERE (a.hash_value, a.address) IN (             SELECT DECODE (sql_hash_value,                            0, prev_hash_value,                            sql_hash_value                           ),               ...

杀死oracle进程

--杀死oracle进程 Select   sid,serial#,username,status,server From v$session; Select   * From v$session; Alter System Kill Session 'sid,serial#';

命中率

Select Sum(Value)/1024/1024 From v$sga Select  current_size/1024/1024  From v$sga_dynamic_free_memory Alter System Set statistics_level=typical show parameter  sga_max_size --计算库缓冲区的命中率l Select Sum(pinhits)/Sum(pins)  From v$librarycache --计算数据字典缓冲区命中率 Select   (Sum(GETS-GETMISSES-FIXED))/Sum(G ...
Global site tag (gtag.js) - Google Analytics