java(一)

异常

NullpointException(空指针异常)
ClassNotFoundException(类找不到异常)
ClassCastException(类型转换异常)
IllegalArgumentException(非法参数异常)
ArithmeticException(算术异常)
NumberFormatException(数据格式异常)
IndexOutOfBoundsException(数组下标越界异常)
IllegalStateException(非法语句异常)

lastIndexOf

-1 找不到

Colloection
这里写图片描述

set是集合,所以不允许有重复值,非线性结构;list线性的;

这里写图片描述

to…

Array.toString(XXX) Object.toString(XXX) XXX.toString()

JAVA中Object类下的toString方法和Arrays类下的toString方法是什么关系?
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at
标记符“@”和此对象哈希码的无符号十六进制表示组成。
Arrays的toString方法是返回指定数组内容的字符串表示形式。
toUpperCase() U(大写) toLowerCase() L(小写)

Json
1.JSONObject

json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}

2.JSONArray

json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的

3.使用示例

JSONObject Json = new JSONObject();
JSONArray JsonArray = new JSONArray();
Json.getJSONObject();(转化)

4.使用区别

Json.put(“key”, “value”);//JSONObject对象中添加键值对
JsonArray.add(Json);//将JSONObject对象添加到Json数组中

Map String,String> strmap = new JSONObject()
json就是一种特殊形式的map

Map

Map.Entry <K,V>
Hashtable <K,V>

  • 键值对
  • XX.getkey()
  • XX.put(“”,);

序列化

将一个对象的状态(各个属性量)保存起来
这里写图片描述

这里写图片描述

将该类的对象的值存储起来,类似session、cookie、数据库的方法。
。。。

线程Thread接口

start run sleep等方法

线程实现方式: 第一种,继承该接口,可以run方法进行重写 第二种,实现Runnable接口,然后实现其run方法。

测试该线程,生成线程对象,接着调用start方法

synchronized
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
示例:
定义线程类,当生成多个线程对象访问同一个线程类中的属性,需要同步修饰此动作方法。
这里写图片描述

hashmap

是基于hashtable的(C++里面应该是这样吧),hashtable底层是数组加链表

解决冲突
2个不一样的key却产生一样的value?
How to?

Spring

1,schema命名空间,声明使用xmlns=”“或者xmlns别名=”” 方式

<标签名> <别名:标签名

2,组件扫描

context(在命名空间中有) + 基包(组件扫描对象)

3,注解开发

使用注解取代xml文件、
@`Component`取代<bean class ="">
@Component("id") 取代<bean class id>
web开发同理。。
@Repository:dao层 @Service:service层@Controller:web层

4,在xml(Spring容器)中配置

<!-- 确定使用注解 -->
  <context:annotation-config></context:annotation-config>
  <!-- 自动扫描指定的包 -->
  <context:component-scan base-package="cn.itcast.h_annotation.b_3_0"></context:component-scan>

5.Spring体系结构

这里写图片描述

容器:BeanFactory为IOC容器,ApplicationContext为应用上下文,Core容器,EL表达式
数据:JDBC为数据库开发,ORM(整合Hibernate等框架) OXM Transaction(tx )
web:Structs(框架) AOP+IOC

6.BeanFactory与ApplicationContext的区别

BeanFactory 采取延迟加载,第一次getBean时才会初始化Bean
ApplicationContext是对BeanFactory扩展,是它的子接口,提供了更多功能

7.控制反转IOC:将配置文件作为一个容器,通过以下三种方式获取

类路径获得配置文件

ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("cn/itcast/a/hello/beans.xml");

文件系统路径获得配置文件

ApplicationContext applicationContext =
new FileSystemXmlApplicationContext("F:\\workspaces\\spring\\day01\\src\\cn\\itcast\\a\\hello\\beans.xml");

使用BeanFactory(了解)

BeanFactory beanFactory =
new XmlBeanFactory(new FileSystemResource("F:\\workspaces\\spring\\day01\\src\\cn\\itcast\\a\\hello\\beans.xml"));

8.在该容器或者说配置文件中需要进行bean实例化

<!--2 第一种方式 默认构造 -->
  <bean id="demo1User" class="cn.itcast.b_xmlbean.demo1.User"></bean>

相当于:User user = new User(); //直接创建实例

<!-- 第二种方式 静态工厂方法 , 没有工厂的实例对象-->
  <bean id="demo2User" class="cn.itcast.b_xmlbean.demo2.Demo2BeanFactory" factory-method="getDemo2Bean"></bean>

相当于: User user = BeanFatory.getUserBean(); //通过工厂的静态方法获得需要的内容

<!-- 第三种方式 实例工厂方法
  * 先实例工厂
  * 通过实例工厂执行具体的方法
  -->
  <bean id="demo3BeanFactory" class="cn.itcast.b_xmlbean.demo3.Demo3BeanFactory"></bean>
  <bean id="demo3User" factory-bean="demo3BeanFactory" factory-method="getDemo2Bean"></bean>

相当于:
BeanFactory factory = new BeanFactory(); //先创建工厂
User user = factory.getUserBean(); //在通过工厂的实例对象,执行非静态方法获得具体内容

这样子,说明创建对象的控制权交由Spring框架管理,简单说,就是创建对象控制权被反转到了Spring框架,也就是IOC思想。

9.依赖注入(建立在实例化对象的基础上,对该对象注入属性值)

属性注入

<bean id="helloService" class="cn.itcast.a.hello.HelloService">
  <!—通过spring容器,给HelloService类的info属性注入“..”-->
  <property name="info" value=".."></property>
  </bean>

构造函数注入

<constructor-arg > 
     *name
     *index
     *ref

Spring容器两属性
- spring容器中bean元素id和name属性的区别

<bean id="helloService" class="cn.itcast.a.hello.HelloService">
<bean name="# boy " class="cn.itcast.ioc.Boy"/>

因为name属性可以相同,所以后出现Bean会覆盖之前出现的同名的Bean,总结:项目开发的时候,强烈要求用id,因为id可以表示惟一引用。

-scope作用域

* singleton 单例,只创建一个实例。默认值
* prototype 多例,每一次都创建实例
* request,request范围,request.setAttribute
* session,session范围,session.setAttribute
scope="prototype" 此时可以创建多个实例
Person p1 = (Person) applicationContext.getBean("person");
Person p2 = (Person) applicationContext.getBean("person");

MVC

springmvc结合github
https://github.com/a12590

Model—View—Controller,模型—视图—控制器模式。
在MVC中,客户端所请求的URL是先被映射到相应的Controller中,然后由Controller来处理业务逻辑,它是从Model中取数据(Model可能会去访问数据库),然后再由Controller根据业务逻辑,选择合适的View呈现给客户端。

Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,可以分派用户的请求并选择恰当的视图以用于显示,同时可以解释用户的输入并映射为模型层可执行的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值