Java开发
Java基础知识
Undergoer_TW
这个作者很懒,什么都没留下…
展开
-
SSM框架开发应用(二)——MyBatis框架介绍
MyBatis框架介绍一、数据持久化概念数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的过程。例如,文件的存储、数据的读取等都是数据持久化操作。数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。从以上的概念描述,我们思考一下,之前是否接触过数据持久化?是否做过数据持久化的操作?答案是肯定的,从一开始,我们就编写应用程序...原创 2020-05-06 12:56:32 · 593 阅读 · 0 评论 -
SSM框架开发应用(六)——MyBatis-核心配置文件
MyBatis- 核心配置文件在学习完MyBatis的核心对象之后,接下来我们学习它的核心配置文件(mybatis-config.xml)。该文件配置了MyBatis的一些全局信息,包含数据库链接信息和MyBatis运行时所需的各种特性,以及设置和影响MyBatis行为的一些属性。下面先了解它的文件结构。一、mybatis-config.xml文件结构Mybatis-config.xml...原创 2020-05-06 13:45:17 · 773 阅读 · 0 评论 -
SSM框架开发应用(四)——MyBatis框架的优缺点及其使用场合
通过前面的学习,了解了MyBatis框架,并学习了如何搭建MyBatis环境。接下来就根据上面的示例来对比JDBC,介绍一下MyBatis框架的优缺点。MyBatis框架的优缺点及其使用场合回顾DAO层代码,以查询用户表记录数为例,直接使用JDBC和MyBatis查询的两种实现方式的代码如下所示: Class.forName("com.mysql.jdbc.MySQLDrive...原创 2020-05-06 13:03:10 · 1895 阅读 · 0 评论 -
SSM框架开发应用(一)——框架技术
框架技术一、为什么学习框架技术使用框架构建项目与使用PPT模板制作PPT的原因一样。当确定使用哪个技术框架后,就已经有了一个“半成品”,然后在这个半成品里填上内容,工作就完成了。框架技术的优势如下:1)不用再考虑公共问题,框架已经帮我们做好了;2)可以专心于业务逻辑,保证核心业务逻辑的开发质量;3)结构统一,便于学习和维护;4)框架中继承了前人的经验,可以帮助新手写出稳定、性能优良而...原创 2020-05-06 12:55:16 · 5069 阅读 · 1 评论 -
SSM框架开发应用(三)——MyBatis环境搭建
MyBatis环境搭建在MyEclipse中新建工程后,要使用MyBatis,需要做一下准备工作,如下图所示:一、下载所需的jar文件MyBatis的官方网站是http://mybatis.org,可以下载到最新Release版本的MyBatis。其他Release版本的MyBatis的jar文件都可以从官方网站下载得到。【注意】目前MyBatis官网在国内访问受限,若能访问到官网...原创 2020-05-06 12:58:01 · 478 阅读 · 0 评论 -
SSM框架开发应用(五)——MyBatis-核心对象
MyBatis-核心对象基于前面的学习,我们对MyBatis有了初步认识。下面正式介绍一下MyBatis的三个基本要素:核心接口和类;MyBatis核心配置文件(mybatis-config.xml);SQL映射文件(mapper.xml)。本篇主要介绍MyBatis的核心接口和类,如图所示:(1)每个MyBatis的应用程序都以一个SqlSessionFactory对象的实例...原创 2020-05-06 13:30:00 · 459 阅读 · 0 评论 -
Java(二十六)——Java内部类
大部分时候,类被定义为一个独立的程序单元。在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就叫做内部类(也叫嵌套类),包含内部类的类也被称为外部类(也叫宿主类)。Java从JDK1.1开始引入内部类。内部类主要有以下几个作用:内部类提供了更好的封装,可以把内部类隐藏在外部类只内,不允许同一个包中的其他类访问该类。比如,CowLeg类和Cow类,CowLeg在离开Co...原创 2018-08-10 21:45:32 · 150 阅读 · 0 评论 -
Java(二十五)——Java基础类库之日期、时间类
Java原本提供了Date和Calendar用于处理日期、时间的类,包括创建日期、时间对象,获取系统当前日期、时间等操作。但Date不仅无法实现国际化,而且它对不同属性也使用了前后矛盾的偏移量,比如月份与小时都是从0开始的,月份中的天数则是从1开始的,年又是从1900开始的,而java.util.Calendar则显得过于复杂,从下面介绍中会看到传统Java对日期、时间处理的不足。Java 8吸取...原创 2018-03-27 20:56:20 · 532 阅读 · 0 评论 -
Java(二十四)——Java抽象类与接口
一、抽象类抽象方法是只有方法签名,没有方法实现的方法1.抽象方法和抽象类抽象方法和抽象类必须使用abstract修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有抽象方法。 抽象方法和抽象类的规则如下抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象...原创 2018-03-26 21:28:16 · 266 阅读 · 0 评论 -
Java(二十三)——Java多线程
一、线程概述几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。1.线程和进程几乎所有的操作系统都支持进程的概念,所有运行中的任务通常对应一个进程(Process)。当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并具有一定的独立功能,进程是系...原创 2018-03-17 23:43:12 · 225 阅读 · 0 评论 -
Java(二十二)——Java集合详述
Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联数组。Java集合大致可分为Set、List、Queue和Map四种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合,Java 5又增加了Queue体系集合,代表一种队列集合实现。...原创 2018-03-14 23:15:18 · 234 阅读 · 0 评论 -
Java(二十一)——Java基础类库之常用类(Object、String、Math、BigDecimal类)
一、Object类Object类是所有类、数组、枚举类的父类,也就是说,Java允许把任何类型的对象赋给Object类型的变量。当定义一个类时没有使用extends关键字为它显示指定父类,则该类默认继承Object父类。 因为所有的Java类都是Object类的子类,所以任何Java对象都可以调用Object类的方法。Object类提供了如下几个常用方法。boolean equals(...原创 2018-03-14 19:33:14 · 293 阅读 · 0 评论 -
Java(二十)——Java基础类库之main()、Scanner类、System类
一、与用户互动绝大部分程序需要处理用户动作,包括接收用户的键盘输入、鼠标动作等。1.运行Java程序的参数// Java程序入口:main()方法public static void main(String[] args){...}那main()方法为什么采用这个方法签名呢?public修饰符:Java类有JVM调用,为了让JVM可以自由调用这个main()方法,所以使用p...原创 2018-03-14 18:14:00 · 366 阅读 · 0 评论 -
Java(十九)——对象与垃圾回收
Java的垃圾回收是Java语言的重要功能之一。当程序创建对象、数组等引用类型的实体时,系统都会在堆内存中为之分配一块内存区,对象就保存在这块内存区中,当这块内存区不再被任何引用变量引用时,这块内存就编程垃圾,等待垃圾回收机制进行回收。垃圾回收机制有如下特征。垃圾回收机制只负责回收堆内存的对象,不会回收任何物理资源(例如数据库连接、网络IO等资源)。程序无法精确控制垃圾回收的运行,垃圾回收...原创 2018-03-14 09:24:57 · 294 阅读 · 0 评论 -
Java(十八)——final修饰符
final关键字可用于修饰类、变量和方法,用于表示它修饰的类、方法和变量不可改变。final修饰变量时,表示该变量一旦获得了初始值就不可被改变,final既可以修饰成员变量(包括类变量和实例变量),也可以修饰局部变量、形参。由于final变量获得初始值之后就不能被重新赋值,因此final修饰成员变量和修饰局部变量有一定的不同。一、final成员变量final修饰类变量、实例变量能指定初原创 2018-02-06 13:25:54 · 194 阅读 · 0 评论 -
Java(十七)——static关键字与单例类
static关键字修饰的成员就是类成员,类成员包括了类变量、类方法、静态初始化块、内部类(包括接口、枚举)。static修饰的类成员属于整个类,不属于单个实例。类变量属于整个类,当系统第一次准备使用该类时,系统会为该类变量分配内存空间,类变量开始生效,直到该类被卸载,该类的类变量所占有的内存才被系统的垃圾回收机制回收。类变量的生存范围几乎等同于该类的生存范围。当类初始化完成后,类变量也被初始化原创 2018-02-06 12:11:21 · 199 阅读 · 0 评论 -
Java(十六)——equals方法和==
Java程序中测试两个变量是否相等有两种方式:一种是利用==运算符,另一种是利用equals()方法。一、==运算符当使用==来判断变量是否相等时,如果两个变量时基本类型变量,且都是数值类型(不一定要求数据类型严格相同),只要两变量的值相等,就返回true;对于两个引用类型的变量,只有这两个变量指向同一个对象时,才返回true。==不可用于比较类型上没有父子关系的两个对象。 下面程序示范原创 2018-02-06 11:32:16 · 182 阅读 · 0 评论 -
Java(十五)——方法重载or方法重写?
有些朋友很容易把方法重载(Overload)和方法重写(Override)搞混了,其实二者放在一起相比没有什么意义。方法重载主要发生在同一个类中的多个同名方法之间;而方法重写是发生在父类和子类的同名方法之间。方法重载Java支持一个类中可以有多个同名的方法,只要形参列表不同即可。如果一个类中包含了两个或两个以上的同名方法,但形参列表不同,则被称为方法重载。 例如:public原创 2018-02-06 10:50:30 · 238 阅读 · 0 评论 -
Java(十四)——Java的包装类
为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类(Wrapper Class)的概念,为8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类。 基本数据类型 包装类 byte Byte short Short int Integer long Long char原创 2018-01-31 20:52:14 · 245 阅读 · 0 评论 -
Java(十三)——Java的初始化块
初始化块的基本用法,如果有一段初始化处理代码对所有对象完全相同,且无须接受任何参数,就可以把这段初始化处理代码提取到初始化块中。实际上初始化块是一个假象,使用javac命令编译Java类后,该Java类中的初始化块会消失——初始化块的代码会被“还原”到每个构造器中,且位于构造器所有代码的前面初始化块的语法格式如下:[修饰符] { // 初始化块的可执行性代码 ...}原创 2018-01-31 20:18:49 · 177 阅读 · 0 评论 -
Java(十二)——Java的类型转换
1.基本类型的类型转换1.1 基本类型Java的基本数据类型分为两大类:boolean类型和数值类型。而数值类型又分为整数类型和浮点类型,整数类型里面的字符类型也可被单独对待。因此常把Java里的基本数据类型分为4类,如下图: 1.2 自动类型转换如果系统支持把某种基本类型的值直接赋给另一种基本类型的变量,则这种方式被称为自动类型转换。当把一个表数范围小的数值或变量直接赋原创 2018-01-31 19:42:01 · 263 阅读 · 0 评论 -
Java(十一)——面向对象的三大特征—封装、继承和多态
1.封装封装指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。比如Person对象的age变量,只能随着岁月的流失,age才会增加,通常不能随意修改Person对象的age。对一个类或对象实现良好的封装,可以实现以下目的:隐藏类的实现细节。让使用者只能通过事先预定的方法来访问数据,从而可以在该方法中加入控制逻原创 2018-01-31 19:41:44 · 251 阅读 · 0 评论 -
Java(十)——Java中方法的参数传递机制以及形参个数可变的方法
Java里方法的参数传递方式只有一种:值传递。所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而参数本身不会受到任何影响。1.基本类型的参数传递public static void swap(int a, int b){ // 下面三行代码实现a、b变量的值交换 int tmp = a; a = b; b = tmp; System原创 2018-01-31 19:40:44 · 2651 阅读 · 0 评论 -
Java(九)——Java对象的this引用
Java中的thisJava提供了一个this关键字,this总是指向调用该方法的对象。根据this出现位置的不同,this作为对象的默认引用有两种情形: - 构造器中引用该构造器正在初始化的对象; - 在方法中引用调用该方法的对象。this关键字最大的作用就是让类中一个方法访问该类里的另一个方法或实例变量。假设定义了一个Dog类,这个Dog对象的run()方法需要调用它的jump原创 2018-01-31 19:39:56 · 249 阅读 · 0 评论 -
Java(八)——Java的对象的产生和使用
1.创建对象创建对象的根本途径是构造器,通过new关键字来调用某个类的构造器即可创建这个类的实例。// 使用Person类定义一个Person类型的变量Person p;// 通过new关键字调用Person类的构造器,返回一个Person实例// 将该Person实例赋给p变量p = new Person();可简写为:Person p = new Person(原创 2018-01-31 19:39:29 · 203 阅读 · 0 评论 -
Java(七)——Java的类
类和对象面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance)。比如人这个抽象概念就是一个类、人类;而张三、李四这是具体的人就是一个对象,是人这个类的实例。1.定义类Java语言里定义类的简单语法如下:[修饰符] class 类名{ 零个到多个构造器定义.. 零个到多个成员变量.. 零个到多个原创 2018-01-31 19:39:01 · 224 阅读 · 0 评论 -
Java(六)——浅谈Java数组(二)
数组是一种引用类型,数组引用变量只是一个引用,数组元素和数组变量在内存中是分开存放的。下面将介绍数组在内存中的运行机制。一、内存中的数组数组引用变量只是一个引用,这个引用变量可以指向任何有效内存,只有当该引用指向有效内存后,才可通过该数组变量来访问数组元素。与所有引用变量相同的是,引用变量是访问真实对象的根本方式。也就是说,如果希望在程序中访问数组对象本身,则只能通过这个数组的引用原创 2018-01-27 19:39:00 · 228 阅读 · 0 评论 -
Java(五)——浅谈Java数组(一)
一、数组类型数组是一种最常见的数据结构,可用于存储多个数据,每个数组元素存储一个数据。通常可以通过数组元素的索引来访问数组元素,包括为数组元素赋值和读取数组元素中的值。 Java中要求一个数组中所有的数组元素必须是同一种数据类型。因为Java是面向对象语言,类与类之间存在继承关系,因此容易造成Java数组的数组元素可以是多个类型的假象。比如苹果类和橘子类都可以继承水果类,因此在一个水果数原创 2018-01-27 18:09:48 · 218 阅读 · 0 评论 -
Java(四)——Java的文档注释(使用javadoc工具生成API文档)
Java注释编写程序时,总要为程序添加一些注释,用以说明某段代码的作用,或者某个类的用途、某个方法的功能,以及该方法的参数及返回值的意义。 为什么要编写注释?主要有一下几个方面的考虑: -永远不要过于相信自己的理解能力。当你思路流畅,进入变成境界时,你可能很快地实现某个功能。但在以后再次阅读这段代码时,可能会不知其所以然,因此为了时刻找回当初编程时的思路,建议编写注释。-可读性第一原创 2018-01-26 10:42:08 · 13948 阅读 · 3 评论 -
Java(三)——Java垃圾回收机制
一、显式垃圾回收 传统的C/C++等编程语言,需要程序员负责回收已经分配的内存。显式进行垃圾回收是一件比较困难的事情,因为程序员并不总是知道内存应该何时被释放。如果一些分配出去的内存得不到及时回收,就会引起系统运行速度下降,甚至导致程序瘫痪,这种现象被称为内存泄漏。总体而言,显式进行垃圾回收主要由如下两个缺点。 1.程序忘记回收内存,从 库的内存,导致系统瘫痪。二、Java垃圾...原创 2018-01-25 14:35:12 · 369 阅读 · 0 评论 -
Java(二)——Java运行机制
一、高级语言的运行机制按照程序执行方式可以将高级程序设计语言分为编译型和解释型两种。1. 编译型利用特定的编译器,针对特定平台(操作系统),将高级语言直接一次性“翻译”成该平台硬件可以执行的机器码,并包装成该平台所能识别的可执行性程序格式,这个过程叫做编译(Complie)。编译后的生成的可执行性程序可以脱离开发环境,在特定平台运行。因为编译型语言是一次性地编译成机器码,所以执行效...原创 2018-01-25 13:30:19 · 372 阅读 · 0 评论 -
Java(一)——Java语言发展简史
1990年末,Sun公司预料嵌入式系统将在未来的家用电器领域大显身手,于是成立了一个“Green”计划,为下一点家电编写一个通用控制系统。最初该团队考虑使用C++语言,但是由于系统资源有限,C++太复杂,缺少垃圾回收系统、可移植性、分布式和多线程等功能,该团队的Bill Joy,Sun的首席科学家,决定开发一种新语言:Oak。 1992年夏天,Green计划完成了部分功能,包括Green操作...原创 2018-01-25 12:11:56 · 3104 阅读 · 0 评论