自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 JavaScript的三个组成部分

(1)JavaScript是一门客户端脚本语言。由3个部分组成:①ECMAScript;②文档对象模型(DOM);③浏览器对象模型(BOM)。(2)文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface)。如何理解这句话呢?①DOM原本是用于XML的,后来经过...

2018-04-03 16:14:08 1595

原创 关于ECMAScript与JavaScript

关于ECMAScript(1)Netscape公司推出的JavaScript版本——Netscape Navigator中的JavaScript;随后微软公司也推出了自己的JavaScript版本——Internet Explorer中的Jscript。2个不同JavaScript版本并存,问题百出。因此,JavaScript的标准化问题被提上了议事日程。(2)欧洲计算机制造商协会(ECMA,Eu...

2018-04-03 14:27:47 292

原创 JavaScript简介

(1)JavaScript诞生于1995年。(2)JavaScript是为了解决什么问题才诞生的?——在JavaScript诞生之前,输入校验操作必须由服务器端来完成,也就是说必须把表单数据发送到服务器端才能确认用户是否没有填写某个必填域、是否输入了无效的值。(3)由服务器端来处理输入校验操作,其劣势显而易见:①一方面,大大加重了服务器的负担;②另一方面,在网速不够快的情形下,每次与服务器交互都需...

2018-04-03 14:23:18 227

原创 认识BeanFactoryPostProcessor接口

PostProcessor:后处理器; BeanPostProcessor:Bean的后置处理器(处理的对象是Bean); BeanFactoryPostProcessor:BeanFactory的后置处理器(处理的对象是BeanFactory)(1)看一下BeanFactoryPostProcessor接口的源码:@FunctionalInterfacepublic interface Be

2017-08-04 14:39:13 1014

原创 认识BeanPostProcessor接口

PostProcessor:后处理器; BeanPostProcessor:Bean的后处理器(处理的对象是bean)(1)看一下BeanPostProcessor接口的源码:public interface BeanPostProcessor { /** * Apply this BeanPostProcessor to the given new bean instance

2017-08-03 20:39:13 408

原创 Spring中Aware系列接口

(一)IOC容器管理bean,bean在IOC容器中。那么bean知不知道自己在IOC容器中的代号(id)呢?bean知不知道自己在哪个IOC容器中?能否通过bean获取它的IOC容器对象呢?简单来说就是:bean是否对Spring有知觉答:单纯的bean(未实现Aware系列接口)是没有知觉的;实现了Aware系列接口的bean可以访问Spring容器。 这些Aware系列接口增强了Spring

2017-07-30 17:41:32 993

原创 Bean的作用域

(1)5大作用域 ①singleton:在IOC容器中仅存在一个Bean实例,每次返回的都是同一个实例,Bean以单实例的方式存在 ②prototype:每次调用getBean()时都会返回一个新的实例 ③request:每次HTTP请求都会创建一个新的bean,该作用域仅适用于WebApplicationContext环境 ④session:同一个HTTP Session共享一个Bean,

2017-07-30 09:47:44 318

原创 Spring的相关下载

(一)springframework包的下载地址: http://repo.spring.io/release/org/springframework/spring/ 或 http://repo.springsource.org/libs-release-local/org/springframework/spring/ 或 https://github.com/spring-projec

2017-07-29 19:43:56 170

原创 set方式注入属性的一个小细节

(1)正常情形public class Student { private int age; public void setAge(int age) { this.age = age; }} <bean id="student" class="com.Student"> <property name="age" value="20">

2017-07-29 19:01:58 1040 1

原创 属性注入的2种方式

set方法注入;构造方法注入(一)set方法注入 使用最多的一种注入方式,非常简单,容易掌握 <bean id="test1" class="com.Test"> <property name="age" value="20"></property> <property name="name" value="Richard"></property> <

2017-07-29 18:53:25 468

原创 使用util命名空间定义集合

问题:在property和constructor-arg标签里面定义的集合,和内部bean差不多,无法被重用和共享,外部无法引用该集合。怎样才可以定义外部的集合bean呢?使用util命名空间(1)导入util命名空间<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/b

2017-07-29 16:44:10 819

原创 为集合类型的属性注值

为数组、List集合、Set集合、Map集合、Properties注入值Employee类的代码:public class Employee { private String name; private int age; //不列出set和get方法 @Override public String toString() { return "Em

2017-07-29 14:48:47 598

原创 Bean的属性注入——为不同类型属性注值

注:为所有属性提供set方法,均采用set方式注入下面定义一个Person类来演示Bean的属性注入:public class Person { private String name; private int age; private Car car; //不列出set和get方法 @Override public String toString()

2017-07-29 11:53:23 1392

原创 IOC容器的简单介绍

(1)2种IOC容器 ①BeanFactoy: 由org.springframework.beans.factory.BeanFactory接口定义,是IOC容器的基本实现 ②ApplicationContext: 由org.springframework.context.ApplicationContext接口定义,提供了更多的高级特性. 是BeanFactory的子接口。 (2)Bea

2017-07-28 17:56:07 3398

原创 简单理解IOC和DI

(一)IOC(Inversion of Control):控制反转 Spring的IOC容器获得控制权。 (1)在类内部不为对象a赋值public class A { public void print(){ System.out.println("hello"); }}public class B { private A a; public v

2017-07-28 17:47:15 398

原创 第一个Spring小程序

(1)添加5个jar包到类路径下 (2)在类路径下创建bean 配置文件applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLS

2017-07-28 17:22:59 422

原创 初步认识Spring

(一)Spring是什么? (1)Spring是优秀的开源框架 (2)Spring是为了简化企业级应用开发而生的。 (3)Spring是一个IOC(DI)和AOP的容器框架 (4)Spring是轻量级的,非侵入式的。使用Spring框架时,我们不需要实现任何接口,也不用继承任何父类。 (二)Spring模块 (1)由于Beans、Core、Context、SpEL这4个模块是最基本、

2017-07-28 16:53:15 181

原创 抽象方法的访问修饰符

抽象方法不能使用private修饰符,也不宜使用默认修饰符(default)(1)如果使用private修饰符public abstract class SuperClass { /* * The abstract method test in type SuperClass can only set a visibility modifier, * one of pu

2017-07-26 21:01:36 7624 2

原创 方法的覆盖(重写)

(1)子类可以继承父类的所有方法和属性,但是有时候,子类需要修改父类中定义的方法的实现,这就是方法覆盖 (2)子类会继承父类的private方法,但是子类可以覆盖父类的private方法吗? 不能,只有能被子类访问的方法,才能被子类覆盖。 (3)静态方法只能被隐藏,不能被覆盖。代码示例:public class Super { public String getName(){

2017-07-26 20:53:58 291

原创 访问修饰符protected

protected修饰符的确让我有点困惑。例如:Object的clone()方法就是protected修饰的。发现,有的时候可以访问,但很多时候根本访问不到。 (一)下面就以clone()方法为例 我在SuperClass类中,不重写clone(),只是访问。代码如下:package cn;public class SuperClass implements Cloneable{ p

2017-07-26 20:48:52 518

原创 访问修饰符private

1)private修饰的变量和方法只在类内部可见。代码示例:public class Test1 { private String name="hhx"; private void print1(){ System.out.println("private"); } public void method(){ this.print1();

2017-07-26 20:36:33 496

原创 Java的4大访问修饰符

public非常简单,在任何地方都是可访问的,任何地方都是可见的(default)也比较简单,在包内可见,包外则访问不到关于private和protected会在下面的章节进行讲解。

2017-07-26 20:26:26 432

原创 Spring配置文件之引入命名空间

如何为Spring配置文件引入命名空间是我在初接触Spring时有点头疼的问题。现在稍作整理(一)Spring配置文件的最简格式<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/X

2017-07-25 19:23:51 10577

原创 Java中的final修饰符

(一)final可以修饰变量、方法、类(二)final修饰的变量1)被final修饰的变量叫做常量 2)不可变量,即不允许二次修改值。 3)一定要显式地给定初值。 ①为什么强调“显式”呢?因为类的实例变量和静态变量在不给初值的情况下,有默认的初始值,例如:int类型的变量的默认初始值为0。但是final修饰的变量必须要显式地给定初值,不然编译出错。 ②final变量必须显式给出初值,并且一旦

2017-07-25 18:58:14 185

原创 接口的方法与变量

(1)接口只包含常量和抽象方法。接口中方法的默认修饰符是public abstract;接口的变量的修饰符默认是public static final。代码验证:package com;//声明一个接口public interface Test { int age=0; //无任何修饰符 void print();//无任何修饰符} public static void

2017-07-25 18:23:54 1212

原创 String的分隔符

(1)空字符串作为分隔符 public static void main(String[] args) { String str="abc* def"; String[] splits = str.split(""); for (String string : splits) { System.out.println(st

2017-07-24 12:18:46 2696

原创 二分搜索

//二分查找的前提:有序序列 public static int binSearch(int[] arr,int number){ int low=0; int high=arr.length-1; int mid; while(low<=high){ //low<=high是一个关键点,不是low<high

2017-07-24 11:14:43 154

原创 冒泡排序

先来整理一下冒泡排序的思路: 假设对一个长度为10 的无序数组进行冒泡排序,那么要跑9(length-1)趟,每一趟产生一个最大数。 第1趟,比较9次,得到一个最大数,最大数在数组末尾 第2趟,比较8次,得到一个次大数 第3趟,比较7次 … 第9趟,比较1次一般的冒泡排序算法: public static void bubbleSort1(int[] arr){ i

2017-07-24 11:08:48 259

原创 求最大公约数和最小公倍数

注:最大公约数和最小公倍数,我都是针对正整数的 (一)最笨的方法:穷尽法 2个数的最大公约数的最大值:2数中的较小数。 2个数的最大公约数的最小值:1 因此,只在这个范围内进行穷尽。代码示例: public static int gcd1(int max,int min){//穷尽法求最大公约数 int temp; if(max<min){//保证max

2017-07-24 10:40:55 321

原创 获取内部类的Class实例

获取外部类的Class实例大家都十分熟悉,那么怎么获取内部类的Class实例呢?采用如下方式: Class clazz=Class.forName(“外部类的全类名$内部类名”); 代码示例:public class Demo1 { public static void main(String[] args) throws Exception { Class clazz=

2017-07-24 09:43:35 2040

原创 代理模式

(一)什么是代理模式 通过引入一个代理对象,来操作、控制、访问真实对象。 给目标对象提供一个代理,并由代理对象控制对目标对象的引用。 (二)静态代理 1)模式结构 2)角色 Subject: 抽象主题角色 RealSubject: 真实主题角色 Proxy: 代理主题角色 3)简化的结构图 代理模式示意结构图比较简单,一般可以简化为如下图所示,但是在现实中

2017-07-23 23:41:42 163

原创 并发与多线程(一)

(一)多线程 多个线程共享单个CPU,线程之间竞争CPU资源。 (二)多线程的优势 如果采用单线程:当一个线程在等待用户输入数据时(即当前线程并没有使用CPU),其他线程也无法取得CPU资源,导致CPU大部分时间都是空闲的,CPU的利用率很低。多线程则大大提高了CPU的利用率。多线程允许在输入文字的同时,打印或者保存文件。多线程可以使程序反应更快,交互性更强,执行效率更高。 (三)创建

2017-07-23 20:44:04 238

原创 匿名内部类

1)创建匿名内部类的格式new 父类(参数列表)|接口(){ //这里面必须要实现父类或者接口未实现的方法 //这里面可以重写(覆盖)父类已经实现的方法 //外面使用大括号{}包裹起来}2)2个注意点 ①匿名内部类我们必须要继承一个父类或者实现一个接口,并且只能继承一个父类或者实现一个接口。要么继承一个父类,要么实现一个接口。 ②匿名内部类使用new来创建对象,不能是

2017-07-23 20:19:39 207

原创 Java反射的简单使用

1)获取非静态属性的值 //获取非静态属性的值 public static Object getField(Object obj,String fieldName) throws Exception{ Class clazz=obj.getClass(); Field field = clazz.getField(fieldName);

2017-07-21 16:57:29 297

原创 为不定参数Object...objects传数组

第一种情况,传非对象数组public class Demo3 { public static void main(String[] args) throws Exception { int[] arr={1,2,3}; //把int[]传给Object...objects,会把int[]当成1个Object对象处理 //传入非对象的数组时,像基本

2017-07-20 20:39:20 2003

原创 Java循环变量在哪里赋值

在循环体外为循环变量赋初值: int sum=0; int i=0,j=0,k=0; for(;i<10;i++){ for(;j<10;j++){ for(;k<10;k++){ sum++; } }

2017-07-20 20:08:06 2334

原创 Java赋值表达式的值

思考:赋值表达式有值吗?答案是肯定的。来看例子: int a=3; System.out.println(a=10);//输出10 int b=4; int c=5; System.out.println(b=c);//输出5可见赋值表达式是有值的,赋值表达式的值等于要赋的值。多重赋值,从右到左: int a=

2017-07-20 20:02:19 3992

原创 Java重载时,存在多个匹配的方法该如何选择?

1)什么是重载? 方法名相同,参数列表不相同 2)为什么会出现多个匹配的方法呢?来看一个例子:public class Demo5 { public static void main(String[] args) { //和test(Object obj)、test(String str)都能匹配 //会调用test(String str)

2017-07-20 19:46:23 2141

原创 Java的不定参数

问题:在传参数的时候,如果参数的个数不确定怎么办?参数可以是0个,也可以是1个,可以是任意多个,怎么办呢? 这个时候就需要用到不定参数了。 1)首先,来观察一下不定参数的基本格式: String…strings Object…objects int…is float…fs 2)不定参数只能作为方法的形参,不能用作变量 public static void main(String[

2017-07-20 19:38:32 840

原创 结束多重循环

1)使用continue能否结束多重循环呢? 答:显然不能。continue意味着跳过本次循环,进入到下一次循环,continue不能终止循环 2)使用break能否结束多重循环呢? 答:不能。break的确可以结束循环,但是break只能终止单层循环,它只能终止最内层的循环。 3)使用

2017-07-20 08:15:34 741

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除