自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java成神之路(二十九)IDEA之SSM基础环境配置

利用IDEA快速建立SSM基础环境配置: 新建Maven项目: 注意勾选create from archetype 新建构建工程目录: Java:源代码文件 Controller:存放控制器 Dao:存放Dao层接口文件 impl:Services:实现Dao层接口的实现类 Model:存放实体类。 Resources:存放资源配置文件 mapper:存放数据库映射文件 jdbc.propert...

2019-03-28 22:10:57 307

转载 Java成神之路(二十八)SpingMVC,Spring Boot

SpringMVC MVC 模型-视图-控制器分离。C主要用来同步M和V;所以本意:Model为数据库记录,持久化。View:为前端,Controller:处理输入输出。 SpringMVC 与Struts2 区别: 拦截机制不同:struts2为类级别拦截,每次请求都会创建一个Action,和Spring整合时,通过Setter,Getter把request数据注入属性,一个Action对应一...

2019-03-28 20:51:59 196

原创 Java成神之路(二十七)Spring

一:Spring Bean的初始化 获取参数 name 对应的真正的 beanName:调用getBean时,传递的参数可能是别名,也可以使用factoryBean实例的name,会使用TransformedBeanName()方法,该方法先通过BeanFactoryUtils工作判断是不是获取的是FactoryBean,如果是就去掉&字符,执行cannonicalName,遍历寻找真实...

2019-03-28 20:41:12 193

原创 Java成神之路(二十六)Hibernate

一:Hibernate 什么是OR Mapping 解决面向对象与关系型数据库存在的互不匹配的现象技术。通过使用描述对象和数据库之间的映射的元数据,将对象持久化到关系数据库。将数据库中的数据模拟成对象,同时保留他们的相关性。 将对象模型(实体类)的东西存入关系模型。 实体类对象关系型数据库的一个表。 实体类中的一个属性对应数据库的列 实体类的一个实例对象一条记录。 懒加载 延时加载,需要的时候在...

2019-03-28 20:39:11 786

原创 Java成神之路(二十五)Servlet

一:Servlet 生命周期 Servlet运行在Servlet容器中吗,有4个生命周期,加载与实例化;初始化;请求处理,服务终止 加载与实例化:容器启动时,创建Servlet实例,从配置中加载,后,通过反射创建实例,使用默认的构造函数,不带参数的构造函数。 初始化:实例化后,调用init()方法初始化。一般就是从web。Xml文件中加载初始化参数。该方法只能调用一次。单线程环境。 请求处理:调...

2019-03-28 20:37:36 152

原创 Java成神之路(二十四)Sleep(),wait(),notify()

sleep和wait Sleep()属于Thread类的,Wait()属于Object类的。 Sleep()暂停程序,让出CPU给其他线程,但是依然是监视保持着,指定时间自动恢复,不 会释放锁,可以在任何地方使用,需要捕抓异常。 Wait(),会释放锁,进行对象的等待锁定次,只有调用了notify()方法才会唤醒进入准备,获得对象锁才会进行入运行,只能在同步代码中使用,不需要捕抓异常。 wait和...

2019-03-28 20:35:34 118

原创 Java成神之路(二十三)Synchronized与volatile

Synchronized Synchronized是如何实现的。 通过底层的monitor对象实现,当监视器锁被占用时,属于锁定状态,执行指令会先获取所有权(当mointor为0是,进入锁定,将其设置为1,重新进入则加1。当为0时,其他线程才能获取其监视锁,宕执行指令时就减一。) Synchronized和lock之间的关系. Lock,其实是用来解决synchronized缺陷的。如一定...

2019-03-28 20:33:14 138

原创 Java成神之路(二十二)线程安全

线程安全 死锁 两个或以上进程在执行中,由于竞争关系或者彼此通信而造成的一种阻塞线程,若无外力介入,他们都将无法推进下去 死锁的四个条件 互斥条件:资源只有一个进程占用。 请求和保持提哦啊叫:进程已经保持一个资源,但又提出新的资源请求,而该资源被已被其他进程占用,此时请求阻塞,但又对自己已获取的其他自己保持不妨 不剥夺条件:进程已获取资源,在为使用完之前,不能被剥夺。 环路等待条件:存在进程循环...

2019-03-28 20:30:16 130

转载 Java成神之路(二十一)锁

锁 CAS 无锁的执行者,比较与交换用于实现多线程中同步的原子指令。将内存中的内容与定值比较,只有相同,才将内存内容修改。原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败。 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这个变体通常称为比较和设置),或通过返回从内存位置读取的值来完成 乐观锁与悲观锁 悲观锁:竞争总会发生,每次拿到数据都上锁,共享...

2019-03-28 20:20:55 146

原创 Java成神之路(二十)并行与并发,线程与进程

并发与并行 并发与并行 并发:在一个时间段中有几个程序都处于已启动运行到运行结束之中,且这几个程序都是在同一个处理机上运行,但在任意一个时刻点只有一个程序在运行 并行:两个或以上的程序同时在不同的处理器上处理。互相不抢夺CPU资源。 两者区别 并行是两个或以上的程序同时进行,并发是指两个或者在同一个时间间隔内发生。意思为:当多个处理器机器上,多个应用程序可以并发在分配到多个处理器上,实现并...

2019-03-27 20:56:33 176

原创 Java成神之路(十九)编码与语法糖

编码 Unicode,UTF-8与它的区别 Unicode:万国码,统一码,用两个字节表示一个字符。 Unicode:规定了存储编号,UTF-8:规定了存储方式,是Unciode的实现方式。 GBK、GB2312、GB18030 GB2312:1980发布的,收录有6763个汉字,682个字符,分94个区,每个区94个,存在空位置。 GBK:由GB2312扩展,支持繁体,兼容GB2312 GB1...

2019-03-27 20:53:59 130

原创 Java成神之路(十八)时间API

时间 时区、冬令时和夏令时、时间戳 1986年-1991年,存在夏令时,时间拨快一个小时。 时间戳:距离历史上一个标准参照时间经历过的毫秒数。绝对值,无关夏令时等。 标准时间:1970-01-01 00:00:00;2001-01-01 00:00:00(苹果) 格威林治时间,CET,UTC,GMT,CST 格威林治时间:世界时,本初字母线的标界线的时间。 GMT:格威林治时间 UTC:协调世...

2019-03-27 20:51:58 199

原创 Java成神之路(十七)API、SPI与异常

API&SPI API 、SPI API:直接的功能的接口和方法 SPI:继承扩展,完成自定义功能的类与方法,接口。 SPI的定义与实现原理 SPI的定义:Java类库的内部代码能够调用外部类的方法。基于接口的实现+策略模式+配置文件实现动态加载机制 实现原理:反射。 使用ServiceLoader加载配置文件,本质是反射动态加载。 异常 异常类型 Error:编译异常;Runtom...

2019-03-27 20:50:18 292

原创 Java成神之路(十二)正则表达式

十五:正则表达式 \ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配\n。“\n”匹配换行符。序列“\”匹配“\”而“(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 ^ 匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。 $ 匹配输入行尾。如果设置了RegExp对象的Multilin...

2019-03-27 20:46:46 259

原创 Java成神之路(十六)单元测试

单元测试 Junit 单元测试 测试方法必须使用@Test修饰 测试方法必须使用public void进行修饰,不能带参数 一般使用单元测试会新建一个test目录存放测试代码,在生产部署的时候只需要将test目录下代码删除即可 测试代码的包应该和被测试代码包结构保持一致 测试单元中的每个方法必须可以独立测试,方法间不能有任何依赖 测试类一般使用Test作为类名的后缀 测试方法使一般用test作为...

2019-03-27 20:32:22 174

原创 Java成神之路(十五)泛型

泛型 泛型与继承 泛型:参数化类型,将类型由原来的具体类型参数化,把类型也定义为行参。方法中均使用同一类型。属于编译期信息,无法提供动态绑定,当类型与方法无关时,使用泛型。使用泛型的类应该有共同的方法,为水平方法,而继承是垂直方向。 类型擦除 编译器有效,运行期擦除:List List—编译后为List;主要是为了效率与兼容。 泛型中的N K T V E ? object的含义 K:key(键值...

2019-03-27 20:31:12 141

原创 Java成神之路(十四)JMX与JMS

一:JMS Java消息服务 两个应用程序之间进行异步通信的API-JMS,中间间 异步,可靠:服务器只推送一次: 两种模型:点对点(一对一),发布订阅(一对多) JMS模型 点对点,P2P: 消息队列(queue)、发布者(Sender)、接受者(Receiver): 每一个消息只有一个消费者(一旦消费,就不再消息队列) 时间无依赖(发了就不用管,登陆后就接收) 接受成功后,需要向队列提交接收...

2019-03-27 20:25:01 1451

原创 Java成神之路(十三)注解

注解 元注解 注解的注解:@Retention、@Target、@Document、@Inherited @Retentiond:定义注解的保留策略,RetentionPolicy.SOURCE:在源码 .CLASS在字节码,运行时无效,.RUNTIME在字节码。反射可以获取 生命周期SOURCE<CLASS<RUNTIME,前者能用,后者也能。 @Target:定义注解的目标: ...

2019-03-27 20:22:45 156

原创 Java成神之路(十一)序列化

一:序列化 序列化与反序列化,为什么要序列化 序列化:对象存储转换为二进制,对象和元数据(属性)都存储为二进制。 反序列化:把对象和元数据从二进制恢复。 场景:持久化,存入数据库;远程传输,进程之间传输。 原理: 实现的API:ObjectOutputStream中的writeObject(Object obj),ObjectInputStream中的readObject() 只有实现了Seri...

2019-03-27 20:20:26 211

原创 Java成神之路(十)反射与代理

反射: 工厂模式,反射,作用 工厂模式:代替new,利用静态函数的形式,根据参数返回新建的子实例,抽象工厂模式,就是核心类只提供抽象的工厂接口。抽象工厂中有具体工厂,具体工厂中有抽象产品,抽象产品中有具体产品。隔离了具体类的产生。 反射:在运行状态下,可以动态加载一个只有名称的类,在堆内存中,有一个class类型的对象,这个对象包含了完成的结构信息,通过它,可以看到类的结构,如同镜子。Class...

2019-03-26 23:18:00 123

原创 Java成神之路(九)IO类

IO类 字符流、字节流、输入流、输出流 相对于程序而言 字节流:输入流、输出流的传输方式,基本单位是字节,字节的数据一般需要设定编码。 字节输入流: InputStream(抽象基类,定义了read(byte[] b), read(byte[] b,int off ,int len),close()等类)、FileInputStream(操作文件的输入流)、BufferedinputStream...

2019-03-26 23:11:54 113

原创 Java成神之路(八)枚举

枚举 实现,用法. 基于Enum基类,基类在编译时给每个枚举都定义了两个属性:name(枚举常量的名称)、ordinal(顺序号,从零开始);并添加了values、valueOf方法,每个枚举常量都是一个静态常量字段,使用内部类实现。 enum和class、interface的地位一样 使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。枚举类可以实现一个或...

2019-03-26 23:09:14 189

原创 Java成神之路(七)集合类

java集合类 ArrayList、LinkedList和Vector ArrayList vector基于数组实现。linkedList基于双向链表实现。 ArrayList:线程不安全,查询数据的时间复杂度为O(1),add(e)插入末尾时间复杂度为O(1)add(int,e)插在指定插入的时间复杂度是O(n);容量不固定,有序,不使用索引查询时,需要遍历数组,使用equals()比较, L...

2019-03-26 23:08:28 132

原创 Java成神之路(六)常见关键字

Java关键字 Transient:变量修饰符 修饰的变量不参与序列化过程。序列化-将对象转换成以字节序列的形式,一般使用cache或者rcp的时候,都应该实现Serializble接口。实现序列化。 Instanceof 用来运行时指出对象是否是指定类的一个实例,返回布尔类型的数值。 类似双目运算符。 Final:修饰类、方法、变量。 修饰类时,表示该类不能被继承,;类的成员变量可以指定其他类...

2019-03-26 23:06:49 106

原创 Java成神之路(五)String类

String 类 字符串String的不可变性: 一旦创建,便具有不可变性,对象的引用与对象的区别,对象是内存的内存块,对象的引用是4字节的数据,存放指向对象的地址,String 的操作,会生成新的对象,改变了引用,没有改变对象本身。其实用反射可以改变其value String,不可改变的原因与好处 效率与安全,这也是不可改变对象的最重要作用:线程安全,拷贝对象复制地址即可。亦是字符串常量池的需...

2019-03-26 23:05:45 180

原创 Java成神之路(四)自动拆装箱

自动拆装箱 什么是包装类型,什么是基本类型,什么是自动拆装箱 包装类型为对象,基本类型是内置类型,基本类型的内存大小是不可变的,是语言本身定义的。包装类满足一切皆是对象的思想,并丰富了基本类型的操作。 Java1.5以后满足自动拆装箱: 装箱:基本类型转换为包装类型,拆箱:包装类型转换为基本数据类型。 装箱操作会创建对象,频繁的装箱操作会消耗许多内存,影响性能,所以可以避免装箱的时候应该尽量避免...

2019-03-26 23:03:22 143

原创 Java成神之路(三)--基本数据类型

一:基本数据类型 8种基本类型:整型、浮点型、布尔型、字符型 整型: byte—8位,有符号,二进制补码,默认为0,-27—27-1; short—16位,有符号,二进制补码,默认为0,-215—215-1 int–32位,有符号,二进制补码,默认为0,-231—231-1 long—64位,有符号,二进制补码,默认为0L, -263—263-1 浮点数: Float—32位,单精度,0.0f...

2019-03-26 23:01:45 122

原创 Java成神之路(二)--Java特点

一:JAVA平台无关系: JVM平台本身:提供缓冲角色。 语言本身:基本类型的值域与行为由语言本身定义 Class文件:在任何平台上创建Class文件。 可伸缩性:改变API:J2EE、J2SE、J2ME 二:JAVA还支持什么语言: Kotlin、Groovy、JRuby、Jython、Scala 三:值传递 1:值传递、引用传递 堆栈中的存放:值类型(行参为基本数据类型、放在栈中,当值在引用类...

2019-03-26 00:19:26 131

原创 Java成神之路(一)--面向对象

什么叫面向对象: 面向对象(OOP):程序的基本单位为对象。 对象拥有属性(描述自身的属性)、行为(方法)。 抽象(聚合共同属性的数据形成对象)、封装(属性私有化)、继承(对象的扩展、方法的重写与重载)、多态(一种定义、多种实现) 具体而言:程序=消息+对象。以对象为中心、消息为驱动。 概念:一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人...

2019-03-26 00:03:33 171

原创 JAVA EE常见英文单词(一)

名称 说明 entity 实体 controller 控制器 mapper 映射 servier 业务 resources 资源 bean 组件 plugins 插件 source code 源码 applicationcontext 应用上下文,Spring核心类 beanFactory 组建工厂 impl implement 实现,存放业...

2019-01-20 22:25:39 395

原创 java spring基础学习笔记(一)

bean 配置 标签学习 class 强制性属性,指定创建bean的类 name 唯一标识一个bean

2019-01-17 21:18:55 205

空空如也

空空如也

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

TA关注的人

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