摘要:
常见的数据库管理系统 MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。 Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。 DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中. SQ 阅读全文
摘要:
所谓的线程死锁,是指在多线程运行的过程中,线程1拥有锁a,而需要锁b来继续执行, 而此时,线程2拥有锁b而需要锁a来继续执行,那么此时会形成死锁,两个线程会同时等待。 在编程的过程中应尽量的避免线程死锁。 关于线程锁可以查看:线程锁详解 有时在面试中会要求写出一个死锁的程序演示,如下: 1 //写一 阅读全文
摘要:
首先回顾一下单利设计模式: 单利设计模式是通过某种方式使某个类只能创建一个对象实例供外界使用。 单利设计模式分为懒汉式和饿汉式: 饿汉式是线程安全的: 1 //饿汉式单利设计模式: 2 class Single{ 3 private static final Single single = new 阅读全文
摘要:
线程在执行的过程中,容易出现安全问题,除了线程死锁外,所谓的安全问题就是: 对需要同步的变量进行多线程操作时,会使变量的判定发生问题,比如卖票的问题可能出现0票或者-1,-2的情况, 那么我们就需要一个锁来对需要同步的变量或者方法进行标记,指示: 该变量或方法在某个时刻或时间段只能被一个线程所执行 阅读全文
摘要:
创建线程有两种方法: 1、继承Thread类 2、实现Runnable接口 为什么还有第二种方法? 因为有的时候某个类已经有了父类就不能在继承线程类,那么为了解决单继承的局限性 就可以在实现Runnable接口来被线程调用。 创建线程的第一种方法:继承Thread类: 步骤: 1、创建类继承Thre 阅读全文
摘要:
java语言中,数组对象并不是从某个类实例化出来的,而是JVM动态创建的.对数组对象使用如下操作,可看到数组对应的Class对象.通过RTTI(Run-Time Type Information)可直接检查数组的运行时类型,以及它的签名.下方的 “[L”就是int[]/Integer[] 的运行类型 阅读全文
摘要:
反射: 1.获取对应的class对象 方式1:★ Class clazz=Class.forName("全限定名"); 方式2: Class clazz=类名.class; 方式3: Class clazz==对象.getClass(); 方式4: Class c1 = Integer.TYPE; 阅读全文