package com.itheima.servlet.cfg; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Properties; import java.util.ResourceBundle; import j…
一.Date类:这是一种过时的表达方式 import java.util.Date; Date date = new Date(); System.out.println((1900+date.getYear()) + "年" + (1+date.getMonth()) + "月" + date.getDate() + "日"); System.out.println(); 执行结果: 2013年7月16日 二.Calendar类:Calenda…
一.利用ServletContext.getRealPath()[或getResourceAsStream()] 特点:读取应用中的任何文件.只能在web环境下. private void text3(HttpServletResponse response) throws IOException, IOException{ InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db/con…
在项目开发中经常会用到配置文件,之前介绍过Spring Boot 资源文件属性配置的方法,但是很多朋友反馈说介绍的不够详细全面.所以, 今天完整的分享Spring Boot读取配置文件的几种方式! Spring Boot 支持多种格式的配置文件格式,目前最常用的配置文件格式是 properties和 yml.所以,这里默认是用.properties文件,其实,yml格式文件的用法也基本类似.Spring Boot 最常用的几种读取配置文件的方法:分别是@Value注解,@Configuratio…
Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName 静态方法. 前提:已明确类的全路径名. 第二种,使用 .class 方法. 说明:仅适合在编译前就已经明确要操作的 Class 第三种,使用类对象的 getClass() 方法. 适合有对象示例的情况下 package com.reflection; /** * Created by Liuxd…
前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的. Callabel接口可以看成是Runnable接口的增强版,只不过其线程执行体call()方法比run方法更加强大罢了: >>call()方法中可以有返回值 >>call()方法中可以声明抛出异常. 一.创建线程的第三种方式----使用Callable对象进行创建 package com.am…
比如我们要加载db.properties文件 如图: 比如我们要加载source目录下的db.properties文件.就有以下几种方式 第一种是文件io流: public static void load1() throws Exception{ //文件真实路径 String fileName="E:/Workspace/SSHDemo/Source/db.properties"; Properties p=new Properties(); InputStream is=new…
申明:线程的概念以及进程的相关概念,可以参考网络上其他资料,这里只讨论多线程是怎么实现. 一.多线程的简单理解 明白什么是多线程,小生通俗一点的理解为:在一个程序里,我想同时让这个程序完成多个任务. 比如:让主函数 main 在打印1~100之间的所有整数的时候,要求在主函数打印到 20 的时候,再运行另一个类里的程序,让它打印10~100之间的所有整数. 这里忽略同进程内的多线程之间的抢占时间问题,上面的举例需求是要求一个程序只要有发生同时运行俩个程序的情况就行,即不准出现无论程序跑多少次都是…
实例化bean的三种方式 构造器实例化bean Person.java public class Person { private String name; private Integer age; public Person() { System.out.println("这是一个无参构造函数"); } public Person(String name) { this.name = name; System.out.println("带有name="+name+…
------------------------------------------------------------------------------------------------------------ /** 第一种方式:继承Thread类 * 1. 定义一个类,然后让该类继承Thread类 * 2. 重写run方法 * 3. 创建定义的这个类的对象 * 4. 启动线程 */ //继承Thread类 public class MyThread extends Thread{ pu…