`
fxly0401
  • 浏览: 143925 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
   在这一篇中,将对接口及面向接口编程有个大致的介绍,着重在于思想上的讲解。    我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问。 1.面向接口编程和面向对象编程是什么关系       首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它 ...
public,private,protected区别 Java中的访问控制 表1-1 可见/访问性在同一类中同一包中同一包子类中不同包子类中不同包中public yes yes yes yes yesprotected yes yes yes yes no默认 yes yes yes no noprivate yes no no no no (1) 在java中有public、protected、private三种显示的修饰符用于控制可见性,package不是显示的修饰符,它是隐含的,即如果在类、变量等前没加显示的可见性修饰符,那它就是package级别的。如果在类的定义中没有指定p ...
面向对象的3个基本要素:封装、继承、多态 面向对象的5个基本设计原则: 单一职责原则(Single-Resposibility Principle)     其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、 ...
1、比较常用 try{ Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动 String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议 Connection conn=DriverManager.getConnection(url,"username","password" ...
简单来说, 进程是应用程序的一次执行,是具有一定独立功能的程序关于某个数据集合上的一次运行活动。 线程可以理解为进程中的执行的一段程序片段。 区别和联系: 1、进程是操作系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位。 2、进程有独立的地址空间,在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 线程间的通信方法: 1、同一进程的线程之间通信的最简单办法就是使用全局变量和信号量; 2、 ...
    本文综合网上资料以及代码时间,对要求延迟加载和线程安全的单例模式做了如下分析。     自励共勉。     面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。     单例的目的是为了保证运行时Singleton类只有唯一的一个实例,最常用的地方比如拿到数据库的连接,Spring的中创建BeanFactory这些开销比较大的操作,而这些操作都是调用他们的方法来执行某个特定的动作。     很容易,顺手写一个《Java与模式》中的第一个例子: public final class Singleton { private stati ...
原文:http://en.wikipedia.org/wiki/Anti-pattern 译文:http://www.yeeyan.com/articles/view/27472/7244 [前言] design pattern是设计模式,通常是前人在软件开发过程中积累出来的解决一些问题的现成套路,按它们来做可获益无穷。anti-pattern也是一些现 ...
在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是Java API提供了多种集合的实现。 总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:                   Collection<--List<--Vector                   Collection<--List<--ArrayList                   Collection<--List<--LinkedList                   Collection& ...
1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。 2.hashTable同步的,而HashMap是非同步的,可以使用Colletcions进行同步 Map Collections.synchronizedMap(Map m);效率上HashMap比Hashtable要高。 3.hashMap允许空键值,而hashTable不允许。 4.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。 其实在编译期不会有任何的不一样,会照样执行, ...
程序段2:   1.Object sobj = new Object ( ) ;   2.Object sobj = null ;   3.Object sobj = new Object ( ) ;   4.sobj = new Object ( ) ;   问:这段代码中,第几行的内存空间符合垃圾收集器的收集标准?   答:第1行和第3行。因为第2行为sobj赋值为null,所以在此第1行的sobj符合垃圾收集器的收集标准。而第4行相当于为sobj赋值为null,所以在此第3行的sobj也符合垃圾收集器的收集标准。   如果有一个对象的句柄a,且你把a作为某个构造器的参数,即 ...
JAVA子父类内部程序的执行顺序 ****************************************************************** 一、父类的静态成员赋值和静态块 二、子类的静态成员赋值和静态块 三、父类的成员赋值和初始化块 四、父类的构造方法 五、子类的成员赋值和初始化块 六、子类的构造方法 ********************************************************************* 程序实例: public class Student2 extends User2{ static{//静态块 S ...
==========================它们的区别=========================== 1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key 2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能. 3. hashCode和equal()是HashMap用的, 因为无需排序所以只需要关注定位和唯一性即可.    a. hashCode是用来计算hash值的,hash值是用来确定hash表索引的.    b. hash表中的一个索引处存放的是一张链表, ...
动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。 静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求. 动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 补充: 强类型语言是一旦变量的类型被确定, ...
原文地址:http://www.nowamagic.net/librarys/veda/detail/2050      如何高效地阅读技术类书籍与博客    影像阅读法 阅读是自我提升的一个有效方法,阅读书籍、阅读博客都是我们技术提升的重要手段之一。但是阅读的质量,阅读的方 ...
算法:如何用一个语句判断一个整数是不是二的整数次幂? int ispow2(int x) {     return x && !(x & (x-1)); } 注:!(x & (x-1))可判断非0整数是否是2的整数次幂,加上x && 可判断0.
Global site tag (gtag.js) - Google Analytics