-
SpringBoot | 第一章_第一个SpringBoot应用
第一章:第一个SpringBoot应用一、SpringBoot的简单介绍1.概述随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。 在上述环境下,Springboot应运而生。它使用”习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用springboot很容易创建一个独立运行(运行jar,内嵌ser...…
-
Spring之设计模式
Spring中用到的设计模式Spring中常用到的设计模式达到九种一、简单工厂模式又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。1.实现方式:BeanFactory。 Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。2.实质由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。3.实现原理: bean...…
-
ElasticSearch入门
ElasticSearch入门学习一、ElasticSearch简介1.什么是ElasticSearchElaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。2.ElasticSearch和Sol...…
-
JVM之类加载机制
JVM之类加载机制JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理),也可以由其它文件生成(比如将JSP文件转换成对应的Class类)。验证这一阶段的主要目的是为了...…
-
MyBatis之缓存机制
MyBatis之缓存机制一级缓存MyBatis 包含了一个非常强大的查询缓存特性,它可以非常方便地配置和定制。MyBatis 3 中的缓存实现的很多改进都已经实现了,使得它更加强大而且易于配置。mybatis默认情况下只会开启一级缓存,也就是局部的 session 会话缓存。首先我们要知道什么是查询缓存?查询缓存又有什么作用?功能:mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。如下图,每一个 session 会话都会有各自的缓存,这缓存是局部的,也就是所谓的一级缓存:一级缓...…
-
Java面试题:框架
Java面试题:框架Hibernate1.Hibernate 工作原理及为什么要用?原理: 读取并解析配置文件 读取并解析映射信息 创建 SessionFactory 打开 Sesssion 创建事务 Transation 持久化操作 提交事务 关闭 Session 关闭 SesstionFactory为什么要用 对 JDBC 访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 Hibernate 是一个基于 JDBC 的主流持久化框架,是一个优秀的 O...…
-
Java面试题:数据库
Java面试题:数据库1.delete与truncate区别 delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行回滚操作,不清空auto_increment记录数 truncate则直接将表删除并重新建表,不会把单独的删除操作记录记入日志保存,删除行是不能恢复的,auto_increment将重置为0,效率比delete高2.储存过程 概念 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用...…
-
Java面试题:实际开发
Java面试题:实际开发1.简要描述一下数据库的事务事务是并发控制的基本单位。所谓的事务,它的根本是一个操作序列,这些操作都执行,或者都不执行,它是一个无法分割的工作单位。例如银行转账:从一个账户扣款并使另一个账户赠款,这两个操作要么都执行,要么都不执行,不能存在执行一半,否则会出现金额消失或者无中生有。所以我们能够把整个操作的过程,看成一个事务。2.如果项目已经上线了你,但是出现了问题。 主要是怎么解决,或者你们怎样找出问题所在的(日志方向),这块你接触过吗?通过引用 log4j 日志包...…
-
Java面试题:JavaWeb
Java面试题:JavaWeb1.session和cookie我们一般用来做什么? cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数 据。跟服务器没啥关系,仅仅是浏览器实现的一种数据存储功能。 session 从字面上讲,就是会话。这个就类似于你和一个人交谈,你怎么知道 当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他 就是张三。 session 也是类似的道理,服务器要知道当前发请求给自己的是 谁。为了做这种区分,服务器就要给每个客户端分配...…
-
Spring之IoC和DI
知识点二: IoC和DIIoC是什么Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下: 谁控制谁,控制什么: 传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动...…