摘要: 一道java 常见面试题,网上找到的几乎每个 java 面试笔试题大全或集锦里都能找到这道题。 题目如下: 问: 抽象类是否可继承实体类 (concrete class) 答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数 答案很明确,可以继承。 一道java 常见面试题,网上找到的几乎每个 java 面试笔试题大全或集锦里都能找到这道题。题目如下:问: 抽象类是否可继承实体类 (concrete class)答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数答案很明确,可以继承。其实从Object就是个实体类,java的API文档里,每个抽象类的条目里都明确写着直 阅读全文
posted @ 2013-04-01 21:55 曾先森在努力 阅读(421) 评论(0) 推荐(0) 编辑
摘要: JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。Java和c++的相似之处多于不同之处,但两种语言问几处主要的不同使得Java更容易学习,并且编程环境更为简单。我在这里不能完全列出不同之处,仅列出比较显著的区别:1.指针JAVA语言让编程者无法找到指针来直接访问内 阅读全文
posted @ 2013-04-01 11:02 曾先森在努力 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Java中的多线程是一种抢占式的机制而不是分时机制。线程主要有以下几种状态:可运行,运行,阻塞,死亡。抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行。本文主要介绍sleep()和wait()的区别,一起来看。1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。sleep不出让系 阅读全文
posted @ 2013-03-31 19:30 曾先森在努力 阅读(407) 评论(0) 推荐(0) 编辑
摘要: Java是Sun公司推出的一种编程语言,也是一种跨平台的程序设计语言,在编程语言排行榜中也居于三甲位置。本文档收集的资料有Java面试题,教程,编程技巧等,供大家方便统一阅读。博文专题1 Java程序员面试题集锦推荐http://blog.51cto.com/zt/12疯狂Java讲义—李刚推荐http://blog.51cto.com/zt/2373 Java多线程初学者指南推荐http://blog.51cto.com/zt/1134 Java线程系列实用教程http://blog.51cto.com/zt/1255零基础学JAVA之Java SEhttp://blog.51cto.com 阅读全文
posted @ 2013-03-30 15:34 曾先森在努力 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 应广大网友要求,最近小弟整理了一批免积分下载的Java优质资料,因资料众多,一一将资料上传上来需要时间,先将下载目录分享给大家,需要的就拿去,希望能帮助到大家~下载地址:http://down.51cto.com/data/431561资料名称网址应广大网友要求,最近小弟整理了一批免积分下载的Java优质资料,因资料众多,一一将资料上传上来需要时间,先将下载目录分享给大家,需要的就拿去,希望能帮助到大家~java中国移动收费系统【源代码】http://down.51cto.com/data/70784java开发必备的日志文件开发包【工具】http://down.51cto.com/data/ 阅读全文
posted @ 2013-03-30 15:21 曾先森在努力 阅读(415) 评论(0) 推荐(1) 编辑
摘要: 一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。 从线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后, 阅读全文
posted @ 2013-03-26 16:11 曾先森在努力 阅读(186) 评论(0) 推荐(0) 编辑
摘要: Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、查询平均成 阅读全文
posted @ 2013-03-24 16:51 曾先森在努力 阅读(301) 评论(0) 推荐(0) 编辑
摘要: volatile, 用更低的代价替代同步为什么使用volatile比同步代价更低?同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能.而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.volatile原理是什么?volatile的语义, 其实是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我.(工作内存详见java内存模型)因此, 当多核或多线程在访问该变量时, 都将直接操作主存, 这从本质上, 做到了变量共享.volatile的有什么优势?1, 更大的程序吞吐量2, 更少的代码实现多线程3, 程序的伸缩性较好4, 比较好理解, 阅读全文
posted @ 2013-03-19 15:18 曾先森在努力 阅读(661) 评论(0) 推荐(0) 编辑
摘要: Java栈与堆1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2.栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。3.Java中的数据类型有两种。一种是基本类型(primitivetypes),共有8种,即int,short,lo 阅读全文
posted @ 2013-03-17 15:39 曾先森在努力 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 1. 概念 工厂方法:一抽象产品类派生出多个具体产品类;一抽象工厂类派生出多个具体工厂类;每个具体工厂类只能创建一个具体产品类的实例。 即定义一个创建对象的接口(即抽象工厂类),让其子类(具体工厂类)决定实例化哪一个类(具体产品类)。“一对一”的关系。 抽象工厂:多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。 即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类。“一对多”的关系。2. UML工厂方法:抽象工厂:3. 代码工厂方法: 1 public interface Product 2 { ... 阅读全文
posted @ 2013-03-17 15:25 曾先森在努力 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 内部类本文主要参照网上的一些相关文章、以及thinking in java 第三版,对java里面的内部类进行了一个较为详细的总结内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类为什么需要内部类?典型的情况是,内部类继承自某个类或实现某个接口,内部类的代码操作创建其的外围类的对象。所以你可以认为内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是:每个内部类都能 阅读全文
posted @ 2013-03-13 15:27 曾先森在努力 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1、新建一个WORD文档,命名后保存到和要合并的1000多篇文档一个文件夹里。2、按ALT+F11进入宏编辑器。3、双击左上角的ThisDocument,在右侧的代码区粘贴代码如下:Sub 合并文档()Application.ScreenUpdating = FalseMyPath = ActiveDocument.PathMyName = Dir(MyPath & "\" & "*.doc")i = 0Do While MyName <> ""If MyName <> ActiveDocume 阅读全文
posted @ 2013-02-05 20:31 曾先森在努力 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 现在的ESXi有3个版本,ESXi Free才是那个免费的版本,当然,免费的版本有很多限制和局限,对于小企业或许是个好的起步,但是对于想要构建高可用性的生产环境虚拟平台来说,就显得很不合适。ESXi的另外2个版本是Embedded和Installable。Embedded版本是和硬件厂商合作,安装在Flash中的ESXi版本,通常Flash都是集成在主板上,或者是USB Flash。ESXi Installable则是安装版本的ESXi,是最common的一个ESXi版本。VMware vSphere 5.0 以后版本,所有底层虚拟化产品都改为ESXi产品,本文主要比较了ESXi与ESX的各自 阅读全文
posted @ 2013-01-09 09:45 曾先森在努力 阅读(1020) 评论(0) 推荐(0) 编辑
摘要: 一个优秀的Java程 序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面 提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议, 从GC角度提高Java程序的性能。 GC的基本原理 Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。 对于程序员来说,分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象,我们称该对象 为" 阅读全文
posted @ 2013-01-08 20:25 曾先森在努力 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 一 填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为: 硬链接 和 符号链接 。6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 目录 。8. 前台起动的进程使用 Ctrl+c 终止。9. 静态路由设定后,若网络拓扑结构发生变化, 阅读全文
posted @ 2012-12-25 20:30 曾先森在努力 阅读(1169) 评论(0) 推荐(0) 编辑
摘要: 欢迎自荐和推荐链接。算法优秀博客推荐:各种数据结构与算法知识入门经典(不断更新)基本算法 贪心算法:贪心算法作者:独酌逸醉 贪心算法精讲作者:3522021224 递归和分治:递归与分治策略作者:zhoudaxia图论 图的遍历(DFS和BFS):图的遍历 作者:jefferent 最小生成树(Prim算法和Kruskal算法):贪心算法--最小生成树作者:独酌逸醉 Dijkstra算法:最短路径之Dijkstra算法详细讲解作者:绿岩 最短路径算法—Dijkstra(迪杰斯特拉)算法分析与实现(C/C++)作者:tankywoo Bellman-Ford算法:... 阅读全文
posted @ 2012-12-21 16:35 曾先森在努力 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 一、入门级程序员的面试题:这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念,但文内提供的这些问题也许能给你带来更多价值。1. 什么是设计模式?在你编码过程中使用了哪些设计模式?每位程序员都会利用自身经历来回答这些特定的设计问题。设计模式是代码重用的扩展。2. 你能说出在标准的JDK库中使用的一些设计模式吗?Decorator设计模式常被用于各种Java IO类中,Singleton模式常被用在运行环节中,Calendar以及各种其他类,Factory(工厂)模式常被用于各种不可变类,比如Boolean。 阅读全文
posted @ 2012-12-18 15:15 曾先森在努力 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 每一个Java程序员都有一份属于自己的Java类排名表。这个排名表没有严格的规定,也没有可遵循的规则,它完全取决于你参与的Java项目的工作。下面这些类,不用我做过多的介绍,Java程序员都知道,因为它们在Java世界中非常的流行。1. java.lang.StringString类无可争议的获得冠军,应该没有人会否认这一点。这是一个最终类,用于创建/操作不可变的字符串文字。它从JDK 1.0开始就有了。2. java.lang.SystemSystem类的使用取决于你工作的项目类型。你可能没有在项目中使用过它,但它仍然是受欢迎的Java类之一。这是一个不能被实例化的工具类。这个类的主要用途是 阅读全文
posted @ 2012-12-18 15:10 曾先森在努力 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 一、我们为什么要学习vim编辑器? Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因: (1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编 阅读全文
posted @ 2012-12-04 14:51 曾先森在努力 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 大家都知道Python语言是一种新兴的编程语言。1989年,Python就由Guido van Rossum发明。Python一直发展态势很好。 原因有几点:1、跨平台性好。Linux、Windows、MacOS、塞班……。2、快速易学。3、模块齐全。 Python本身是一种面向对象的脚本语言。功能 阅读全文
posted @ 2012-12-01 19:41 曾先森在努力 阅读(260) 评论(0) 推荐(0) 编辑