public class RuntimeDemo01{public static void main(String args[]){Runtime run = Runtime.getRuntime(); // 通过Runtime类的静态方法进行实例化操作System.out.println("JVM最大内存量:" + run.maxMemory()) ; // 观察最大的内存,根据机器的不同,环境也会有所不同System.out.println("JVM空闲内存量:" + run.freeMemory()) ; // 取得程序运行的空闲内存String str = "Hello " + "World" + "!!!" +"\t" + "Welcome...
import java.util.ResourceBundle ; public class InterDemo01{public static void main(String args[]){ResourceBundle rb = ResourceBundle.getBundle("Message") ; // 找到资源文件,不用编写后缀System.out.println("内容:" + rb.getString("info")) ; // 从资源文件中取得内容} };import java.util.ResourceBundle ; import java.util.Locale ; public class InterDemo02{public static void main(String args[]){...
public class SystemDemo01{public static void main(String args[]){long startTime = System.currentTimeMillis() ; // 取得开始计算之前的时间int sum = 0 ; // 声明变量for(int i=0;i<30000000;i++){ // 执行累加操作sum += i ;}long endTime = System.currentTimeMillis() ; // 取得计算之后的时间// 结束时间减去开始时间System.out.println("计算所花费的时间:" + (endTime-startTime) +"毫秒") ;} };...
import java.util.Date ; public class DateDemo01{public static void main(String args[]){Date date = new Date() ; // 直接实例化Date对象System.out.println("当前日期为:" + date) ;} };import java.util.* ; public class DateDemo02{public static void main(String args[]){Calendar calendar = new GregorianCalendar(); // 实例化Calendar类对象System.out.println("YEAR: " + calendar.get(Calendar.YEAR));Sys...
因为 Spring MVC 是 Spring 框架中的一个子模块,所以 Spring 与 SpringMVC 之间不存在整合的问题。实际上,SSM 框架的整合只涉及 Spring 与 MyBatis 的整合以及 Spring MVC 与 MyBatis 的整合。 实现 SSM 框架的整合首先需要准备 3 个框架的 JAR 包以及其他整合所需要的 JAR 包。实现 MyBatis 与 Spring 的整合需要导入相关 JAR 包,包括 MyBatis、Spring 以及其他 JAR 包。 1)MyBatis 框架所需的 JAR 包 将 MyBatis 的核心 JAR ...
Spring 的事务管理是基于 AOP 实现的,而 AOP 是以方法为单位的。Spring 的事务属性分别为传播行为、隔离级别、只读和超时属性,这些属性提供了事务应用的方法和描述策略。 在 Java EE 开发经常采用的分层模式中,Spring 的事务处理位于业务逻辑层,它提供了针对事务的解决方案。 在 Spring 解压包的 libs 目录中,包含一个名称为 spring-tx-3.2.13.RELEASE.jar 的文件,该文件是 Spring 提供的用于事务管理的 JAR 包,其中包括事务...
Bean 的装配可以理解为依赖关系注入,Bean 的装配方式也就是 Bean 的依赖注入方式。Spring 容器支持多种形式的 Bean 的装配方式,如基于 XML 的 Bean 装配、基于 Annotation 的 Bean 装配和自动装配等。 Spring 基于 XML 的装配通常采用两种实现方式,即设值注入(Setter Injection)和构造注入(Constructor Injection)。 在 Spring 实例化 Bean 的过程中,首先会调用默认的构造方法实例化 Bean 对象,然后通过 Java 的反射机制调...
作用域的种类 Spring 容器在初始化一个 Bean 的实例时,同时会指定该实例的作用域。Spring3 为 Bean 定义了五种作用域,具体如下。 1)singleton 单例模式,使用 singleton 定义的 Bean 在 Spring 容器中只有一个实例,这也是 Bean 默认的作用域。 2)prototype 原型模式,每次通过 Spring 容器获取 prototype 定义的 Bean 时,容器都将创建一个新的 Bean 实例。 3)request 在一次 HTTP 请求中,容器会返回该 Bean 的同一个实例。...
依赖注入(Dependency Injection,DI)和控制反转含义相同,它们是从两个角度描述的同一个概念。 当某个 Java 实例需要另一个 Java 实例时,传统的方法是由调用者创建被调用者的实例(例如,使用 new 关键字获得被调用者实例),而使用 Spring 框架后,被调用者的实例不再由调用者创建,而是由 Spring 容器创建,这称为控制反转。 Spring 容器在创建被调用者的实例时,会自动将调用者需要的对象实例注入给调用者,这样,调用者通过...
1. 创建项目 在 MyEclipse 中创建 Web 项目 springDemo01,将 Spring 框架所需的 JAR 包复制到项目的 lib 目录中,并将添加到类路径下,添加后的项目如图 2. 创建 PersonDao 接口 在项目的 src 目录下创建一个名为 com.mengma.ioc 的包,然后在该包中创建一个名为 PersonDao 的接口,并在接口中添加一个 add() 方法,如下所示。 package com.mengma.ioc; public interface PersonDao {public void add(); }3. 创建接口实现类 Pe...
可以通过网址 http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 下载名称为 springframework-3.2.13.RELEASE-dist.zip 的压缩包。 找到所需要的 Spring 框架压缩包。单击此链接下载,下载完成后,解压文件的目录结构 docs 包含 Spring 的 API 文档和开发规范 libs 包含开发需要的 JAR 包和源码包 schema 包含开发所需要的 schema 文件,在这些文件中定义了 Spring 相关配置文件的约束在 ...
EJB的学习成本很高,开发效率却不高,需要编写很多重复的代码,这些问题阻止了EJB的继续发展。就在EJB技术止步不前的时候,Spring框架在合适的时机出现了,Spring框架和EJB不同,Spring框架的学习成本非常低,它是一个轻量级的开发框架,更多强调面向对象的设计,而不是让现有的技术变得更复杂,它使用JavaBean替代了复杂的EJB,并且为JavaBean提供了简单易用的应用配置框架。一个JavaBean就是一个公共类,它可以被其它JavaBean类作...
方法:/*以下程序不使用"方法",分析程序存在哪些缺点?*以下代码都是计算两个int类型数据的和,相同的代码写了两遍(只不过每次参与求和的数据不同)。代码没有得到重复使用。*java语言当中应该有这样的一种机制:-某个功能代码只需要写一遍。-要使用这个功能,只需要给这个功能传递具体的数据。-这个功能完成之后返回一个最终结果。这样代码就可以重复利用了,提高代码复用性。【这就是"方法"】*使用这个方法,我们称为:调用/in...
第一章 走近Java Java技术体系 JDK(Java Development Kit):Java程序设计语言、Java虚拟机、Java API类库。 JRE(Java Runtime Environment):Java API类库的Java SE API子集和Java虚拟机。 JDK是用于支持Java程序开发的最小环境。 JRE是支持Java程序运行的标准环境。 Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,这个版本以前称为J2ME。 Jav...
控制语句: java控制可以分为7种: *控制选择结构语句:*if if else*switch *控制循环结构语句:*for*while*do while *改变控制语句顺序:*break*continue