Java
文章平均质量分 86
DawidZhu
It's a lovely, bright sunny day.
展开
-
依赖倒置原则(Dependecy-Inversion Principle)
如果需要修改系统的行为,无须对抽象层进行任何改动,只需要增加新的具体类来实现新的业务功能即可,实现在不修改已有代码的基础上扩展系统的功能,达到开闭原则的要求。依赖正置就是类间的依赖是实实在在的实现类间的依赖,也就是面向实现编程,这也是正常人的思维方式,我要开奔驰车就依赖奔驰车,我要使用笔记本电脑就直接依赖笔记本电脑,而编写程序需要的是对现实世界的事物进行抽象,抽象的结构就是有了抽象类和接口,然后我们根据系统设计的需要产生了抽象间的依赖,代替了人们传统思维中的事物间的依赖,“倒置”就是从这里产生的。原创 2023-03-08 09:58:03 · 4263 阅读 · 0 评论 -
SOLID 原则要这么理解!
而这里的父类的约定,不仅仅指的是语法层面上的约定,还包括实现上的约定。想想看,如果我们把 1、2、3、4、5 放在一起,那么当我们修改了 A 调用方才用到 的 1 方法,此时虽然 B 调用方根本没用到 1 方法,但是调用方 B 也会有发生问题的风险。我们在设计一个类的时候,可以先从粗粒度的类开始设计,等到业务发展到一定规模,我们发现这个粗粒度的类方法和属性太多,且经常修改的时候,我们就可以对这个类进行重构了,将这个类拆分成粒度更细的类,这就是所谓的持续重构。这样就实现了「对拓展开放,对修改封闭」的原则。原创 2023-03-07 10:52:04 · 451 阅读 · 0 评论 -
什么是CI/CD
CI/CD 的出现改变了开发人员和测试人员发布软件的方式。从最初的瀑布模型, 到后来的敏捷开发(Agile Development ), 再到今天的 DevOps,这是现代开发人员构建出色产品的技术路线。随着 DevOps 的兴起,出现了持续集成,持续交付(CI/CD)和持续部署的新方法, 而传统的软件开发和交付方式在迅速变得过时。过去的敏捷时代里, 大多数公司的软件发布周期是每月、每季度甚至每年;而在现在 DevOps 时代,每周、每天甚至每天多次都是常态。转载 2023-01-16 14:48:53 · 540 阅读 · 0 评论 -
JavaScript 基础
有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript远比我想象的复杂和强大,我开始崇拜它, 趁着节日的空隙,把有关JavaScript的方法和技巧整理下,让每个在为JavaScript而烦恼的人明转载 2008-02-12 13:37:00 · 1082 阅读 · 0 评论 -
Java 技术新手入门
Java 技术是什么?Java 技术既是一种高级的面向对象的编程语言,也是一个平台。Java 技术基于 Java 虚拟机(Java virtual machine,JVM)的概念 —— 这是语言与底层软件和硬件之间的一种转换器。Java 语言的所有实现都必须实现 JVM,从而使 Java 程序可以在有 JVM 的任何系统上运行。Java 编程语言(Java programmin转载 2008-03-29 07:44:00 · 1426 阅读 · 0 评论 -
java中'/u0000'字符的显示问题
最近学习java,发现在u0000居然在dos窗口中显示成了a。对此百思不得其解,开始怀疑是电脑的问题,可是 换了几点电脑后发现都显示的是a,然后又觉得是系统的问题,又感觉是点阵显示的问题········· 最后终于发现了问题:由于用cmd进入dos后,把字体放大的原因。 在网上查了一些资料后发现,cmd进入后代码页代码是936,支持中文显示的原创 2008-03-28 23:25:00 · 10077 阅读 · 0 评论 -
Java多线程编程详解
一:理解多线程多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那原创 2008-03-31 22:29:00 · 726 阅读 · 0 评论 -
Java多线程编程基础
Java多线程编程基础之线程对象[线程的并发与并行] 在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运 行的线程让其运行的方式就叫并发(concurrent)。而在多CPU系统中,可以让两个以上的线程同时运行,这种可以同时让两个以上线程同时运行的方 式叫做并行(parallel)。 在上面包括以转载 2008-03-31 23:04:00 · 787 阅读 · 0 评论 -
java运行时多态性的实现
运行时多态性是面向对象程序设计代码重用的一个最强大机制,动态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制,下面就继承和接口实现两方面谈谈java运行时多态性的实现。 一、通过继承中超类对象引用变量引用子类对象来实现 举例说明: //定义超类superA class superA { int i = 100原创 2008-04-01 07:26:00 · 1303 阅读 · 0 评论 -
Java多线程设计模式
Introduction 1 Java语言的线程开始执行Java程序后,至少会有一个线程开始操作,有操作的是被称为主线程的线程,主线程执行输入类的main()。当main()里的所有处理均结束后,则主线程也同时结束。当应用程序的规模大到一定程度,程序里的多线程会以每种形式存在。以下是几个常见的范例:1) GUI应用程序。2) 比较花费时间的I/O处理。3) 多个客户端。如欲启动线程时,有转载 2008-04-03 17:23:00 · 1397 阅读 · 0 评论 -
Java学习的30个目标
1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。 2.你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams,networking, multithreading,ref原创 2008-04-04 11:04:00 · 903 阅读 · 0 评论 -
如何学好JAVA语言?
网上关于如何学好JAVA语言的文章一大堆,各人有各人的经验和做法,因人而异,下面我就说下我的观点吧,不妥之处还请各位见谅呵呵。要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是转载 2008-04-04 16:29:00 · 1560 阅读 · 0 评论 -
为什么使用多线程?
1.耗时的操作使用线程,提高应用程序响应2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。3.多CPU系统中,使用线程提高CPU利用率4.改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 使用多线程的理由之一是和进程相比,它是一种非常花销小,切换快,更"节俭"的多任原创 2008-04-05 00:09:00 · 13274 阅读 · 0 评论 -
进程的映像
在操作系统课本上看到“进程的映像”,不是太理解,在网上搜了一下,还是不理解~~~,只有问老师了一个进程的内存映像,从低地址开始分为五部分正文段初始化数据段未初始化数据段堆区栈区其中,堆区和栈区共享同一块内存区域,栈由该区域的最高地址向低地址增长,而堆由该区域的低地址向高地址增长映像和映射有何区别? 映射是一个动词,描述的是A到B的一种关系,B就称为这种映射下A的映像 你要问的是原创 2008-04-05 09:47:00 · 6693 阅读 · 1 评论 -
java排序算法
1.定义通过比较来确定输入序列1,a2,..,an>的元素间相对次序的排序算法称为比较排序算法。2.算法解释 (1) 选择排序: 选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。 (2): 冒泡排序 最简单的排序方法是冒泡排序方法。这种方法的基本思想是原创 2008-04-07 06:57:00 · 1959 阅读 · 5 评论 -
java程序员面试基本题目
JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类转载 2008-04-02 07:07:00 · 2891 阅读 · 1 评论 -
提高自己JAVA水平的十大技术讨论
本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。 一、XML 在十种技术中,最重要的一种技术我想应该非XML莫属。这里不仅仅指XML规范本身,还包括一系列有关的基于XML的语言:主要有XHTML,XSLT,XSL,DTDs,XML Schema原创 2008-04-02 07:19:00 · 865 阅读 · 0 评论 -
每个初学者都应该搞懂的问题!
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。 问题一:我声明了什么! String s = "Hello world! "; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello原创 2008-04-02 19:15:00 · 806 阅读 · 2 评论 -
Java操作Excel的2种方法--Poi,jExcelApi
老师让查一些java操作excel的方法,在网上查了半天,看的也不太懂,就把有价值的总结一下。发现java操作Excel的第三方jar包比较多,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。一、jExcelAPIjExcelAPI是一个韩国程序员的作品,虽然没有POI那样血统高贵,但是在笔者的使用过程中,感觉简单方便,对中文支持非常好,功能也比较强大。它的下原创 2008-04-02 22:37:00 · 2210 阅读 · 0 评论 -
Java基础知识——Java入门与加深
1 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事? 答:Java是一种通用的,并发的,强类型的,面向对象的编程语言(摘自Java规范第二版) JDK是Sun公司分发的免费Java开发工具,正式名称为J2SDK(Java2 Software Develop Kit)。 2 什么是JRE/J2RE? 答:J2RE是Java2 Runtime Environ原创 2008-04-04 10:40:00 · 807 阅读 · 0 评论 -
JAVA数组详解
java语言中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。 ★ 一维数组 1. 一维数组的定义 type arrayName[ ]; 类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。 例如: int intArray[原创 2008-04-05 11:26:00 · 1999 阅读 · 0 评论 -
JAVA中的包(pacakge)机制
1,什么都别说,先跟着我来做一把 我们先找一个目录,比如C:/myjob 然后我们建立两个目录,一个叫做src,一个叫做bin。 C:/myjob>md srcC:/myjob>原创 2008-04-08 22:36:00 · 1987 阅读 · 1 评论 -
Java学习总论
一、 JDK (Java Development Kit) JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自原创 2008-04-03 22:55:00 · 783 阅读 · 0 评论 -
Java类加载原理及类加载器
Java和其他语言不同的是,Java是运行于Java虚拟机(JVM)。这就意味着编译后的代码是以一种和平台无关的格式保存的,而不是某种特定的机器上运行的格式。这种格式和传统的可执行代码格式有很多重要的区别。具体来说,不同于C或者C++程序,Java程序不是一个独立的可执行文件,而是由很多分开的类文件组成,每个类文件对应一个Java类。 另外,这些类文件并不是马上加载到内存,而是当程序需要的时候原创 2008-04-05 23:22:00 · 12586 阅读 · 2 评论 -
Java关键字final、static,抽象类,接口使用总结
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改原创 2008-04-08 07:00:00 · 3086 阅读 · 5 评论 -
无需设置JAVA中的CLASSPATH
最近学到java中的包时,刚发现一个新问题:classpath无需设定,因为jdk(java2)会预设载入。可能认识的还不全面,请高手多多指点~~~~CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量。 它的作用与import、package关键字有关。 当你写下improt java.util.*时,编译器面对import关键字时,就知道你原创 2008-04-09 18:46:00 · 2403 阅读 · 0 评论 -
java包与jar文件
我们平时编写一些类似于工具的类文件,在以后编写代码的时候经常要用到这些类,于是我们会将一些功能相近的类定义在一个包中(用package关键字),比如这个包名是:bryantd.javatools。这些被称为javatools的工具类在逻辑上被放置在/bryantd/javatools/目录下,相应的物理存储也应该建立一个包含该子目录(/bryantd/javatools/)的目录,比如:d:/sr转载 2008-04-08 18:13:00 · 1233 阅读 · 0 评论 -
Java 编译、反编译、反反编译
有「编译」(compile),就有「反编译」(decompile);有「反编译」,就有「反反编译」。对于Java和.NET这种虚拟机器的中间码来说,尤其明显。 Java程序编译后的结果是Java Bytecode,而.NET编译后的结果是CIL(Common Intermediate Language),两者都具有下列的特性: -同为堆栈式(stack-based)指令集。原创 2008-04-14 22:05:00 · 2098 阅读 · 0 评论 -
Java学习方法的一点个人见解
1 爱好。 这个是动力,如果你不爱Java,不爱计算机,而是喜爱游戏,娱乐或者其他的,你不适合做程序员。 我高中接触计算机,那时候还是AppleII,绿色显示器的,我因为入学学习成绩一般,没有列入学习计算机的队伍。我是凭个人关系,我室友的叔叔,是机房负责人,呵呵, 挤进去的。高三,剩下的只有2人了。 另一个考到了四川的一个科技大学,我忘了,是很牛气的学校。 大学,我没有考上计算机系,但转载 2008-04-20 18:29:00 · 2097 阅读 · 1 评论 -
jsp登陆页面和前后台验证并连接数据库
前台login.html和后台verifylogin.jsp两个页面组成:login.html内容: 登录 用户登录 用户名: onfocus="if(this.value==Your name)this.value=;">密码: onfocus="if(this.va原创 2008-12-31 22:30:00 · 18931 阅读 · 1 评论 -
JDK1.5官方下载_JDK5官方下载_JDK1.5API(chm)下载_JDK5APICHM中文参考下载_JDK1.5下载_JDK5下载
JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jroc原创 2009-04-24 11:53:00 · 115776 阅读 · 25 评论 -
eclipse3.2 汉化 汉化包下载
1.首先去www.eclipse.org下载eclipse3.2 点击下载eclipse3.22.再去www.eclipse.org下载它的汉化包 请使用迅雷等下载工具下载汉化包注意不同版本的eclipse对应不同版本的汉化包,在下载页面中有好几个文件,看准了NLpack1是简体中文的汉化包。 直接解压eclipse-SDK-3.2-win32.zip到文件夹,并文件夹重命原创 2009-04-27 22:45:00 · 5306 阅读 · 4 评论 -
Java应用程序项目的打包与发行
这里主要是讲解一下怎样将 Java程序打包成独立运行的exe程序包,以下这种方法应该是最佳的解决方案了。NetDuke的EXE程序包了是使用这种方案制作的。在操作步骤上还是比较简单的,而且通用性强。 1.程序打包 首先将程序打成Jar包,打包命令:jar cf 包文件名.jar *.class。接下来编译包中的清单文件MANIFEST.MF 。 Manifest转载 2009-05-02 10:26:00 · 974 阅读 · 0 评论 -
Java学习从入门到精通
Java Learning Path (一)、工具篇一、 JDK (Java Development Kit)JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是原创 2009-08-10 10:35:00 · 809 阅读 · 0 评论 -
Tomcat6.0下配置Tomcat Administration Web Application
Tomcat 5.5 以后的binary 核心安装版不再集成Tomcat Administration Web Application,需要独立下载安装。而Tomcat 6.0.13的Administration Web Application仅包含在源码包中,没有独立下载的安装包。经过查找资料和多次实践,终于使用Tomcat 5.5.23 的Administration Web Applicat原创 2009-08-08 09:47:00 · 1220 阅读 · 1 评论 -
MyEclipse 7.5M1 / 7.1.1 / 7.0 GA / 6.6 GA / 6.5 GA / 6.0 GA / 5.5 GA / 5.1 GA 等全系列注册码及官方下载地址
此版本序列号是本站经过n久反编译、穷举法等等计算出来的,之前的版本一直算到myeclipse的9.99版本,序列号过期时间为2099年12月31日,目前最新的MyEclipse 7.5M1 / 7.1.1 / 7.0 GA / 6.6 GA / 6.5 GA 也可以注册了(虽然时间到20120120,不过到哪个时候又有新版本了,呵呵)!2009/05/24发布的Myeclipse 7.5M1、转载 2009-08-12 23:28:00 · 2857 阅读 · 0 评论 -
java数据类型
Java中的数据类型分为基本数据类型和引用数据类型。引用数据类型分3种:类,接口,数组基本数据类型又分数值类型和布尔类型布尔类型:boolean(逻辑型) true or false 默认是false 数值类型分定点类型和浮点类型定点类型分字符型和整数类型整数类型分byte(字节类型) 一个byte 8位,占用1个字节 例32B 默认是0取值范围是-翻译 2009-12-14 12:36:00 · 2617 阅读 · 1 评论 -
Java面试题(一)
1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原原创 2009-12-29 02:25:00 · 707 阅读 · 0 评论 -
Java面试题(2)
20、abstract class和interface有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类原创 2009-12-29 02:37:00 · 685 阅读 · 0 评论 -
Java面试题(3)
40、构造器Constructor是否可被override? 构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。41、是否可以继承String类? String类是final类故不可以继承。42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? switch(expr1)中,expr1是一个整数原创 2009-12-29 02:38:00 · 630 阅读 · 0 评论