自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

热狗的博客

技术沉淀

  • 博客(29)
  • 收藏
  • 关注

原创 Spring 基础篇(六) 基于xml 的显示配置

通过XMl 装配Bean声明一个简单的bean要在基于xml的Spring 配置中声明一个bean,需要使用 标签。bean 标签类似于JavaConfig 中的@Bean注解。<bean id="compactDisc" class="Bean.AutoBean.SgtPeppers"></bean>这里声明了一个简单的bean,创建这个bean的类通过clas...

2018-09-27 22:53:48 172

原创 Spring 基础篇(五)通过Java代码装配bean

尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化装配是更为推荐的方式,但是当你要将第三方库中的组件装配到你的应用中,这时就必须显式的配置bean显式配置包括:Java和XML,我更推荐使用Java类配置,就像上文中的JavaConfig那样JavaConfig与其它的Java代码又有所区别,JavaConfig仅仅是配置代码,这意味着它不包含任何业务逻辑,通常将JavaConfi...

2018-09-26 21:37:01 152

原创 Spring 基础篇(四) 自动化装配Bean

Spring 从两个角度来实现自动化装配组件扫描:Spring 会自动发现应用上下文中创建的Bean.自动装配:Spring 自动满足bean 之间的依赖。示例:一个音响系统组件。// 定义CD 的接口类public interface CompactDisc { void play();}CD实现类@Component("SgtPeppersComponent")...

2018-09-26 21:21:38 158

原创 Spring 基础篇(三) Spring 模块概述

Spring 主要模块从上面可以看出Spring主要分成六个模块:1.Spring核心容器:核心容器是Spring框架的重要组成部分,也可以说是Spring框架的基础。他在整个框架中的作用是负责管理对象的创建,管理,配置等等的操作。其主要包含spring-core,spring-beans,spring-context,spring-expression,spring-context-sup...

2018-09-25 20:33:58 254

原创 Spring 基础篇(二) SpringBean 的生命周期

Spring中Bean的管理是其最基本的功能,根据下面的图来了解Spring中Bean的生命周期:实例化一个Bean,也就是我们通常说的new按照Spring上下文对实例化的Bean进行配置,也就是IOC注入如果这个Bean实现了BeanNameAware接口,会调用它实现的setBeanName(String beanId)方法,此处传递的是Spring配置文件中Bean的I...

2018-09-25 20:23:26 119

原创 React 高阶组件

高阶组件定义高阶组件类似于高阶函数,他接受一个React 组件作为输入,输出一个新的React 组件。高阶组件使我们的代码更具有可读性,逻辑性与抽象特性。应用场景阶组件的主要功能是封装并抽离组件的通用逻辑,让此部分逻辑在组件间更好地被复用。高阶组件的实现方式属性代理。高阶组件通过包裹的React 组件来操作props.反向继承。高阶组件继承与被包裹的React 组件。1,属性...

2018-09-25 09:21:13 172

转载 使用Spring Session实现Spring Boot水平扩展

使用Spring Session实现Spring Boot水平扩展小编说:本文使用Spring Session实现了Spring Boot水平扩展,每个Spring Boot应用与其他水平扩展的Spring Boot一样,都能处理用户请求。如果宕机,Nginx会将请求反向代理到其他运行的Spring Boot应用上,如果系统需要增加吞吐量,只需要再启动更多的Spring Boot应用即可。本文...

2018-08-29 15:06:16 154

原创 Spring 基础篇(一) Spring 容器介绍

什么是Spring 容器在基于Spring 的应用中,应用对象生存于Spring 容器中。Spring 容器负责创建对象,装配他们,并管理他们的整个生命周期,从生存到死亡。Spring既然要负责应用程序中那么多对象的创建管理,就像苹果要生产那么多的手机(对象)一样,肯定有一个专门搞对象的地方。苹果生产手机的地方叫工厂,比如富士康,但放在软件开发中,对于Spring搞对象的地方我们就不叫工厂了,...

2018-08-27 21:41:47 656

原创 HashMap

HashMap 底层分析(基于jdk1.7)如图所示,HashMap 底层是基于数组和链表实现的。其中有两个重要的参数:容量负载因子容量的默认大小是 16(是为了降低hash碰撞的几率)参考,负载因子是 0.75,当 HashMap 的 size > 16*0.75 时就会发生扩容(容量和负载因子都可以自由调整)。put 方法首先会将传入的 Key 做 hash...

2018-08-26 17:46:26 125

原创 浅谈Java中的hashcode

一、hashcode是什么?1、hash和hash表是什么? Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息...

2018-08-26 17:20:38 440

原创 ArrayList

ArrayList简介ArrayList核心代码分析 System.arraycopy()和Arrays.copyOf()方法 两者联系与区别ArrayList扩容技术自己实现ArrayListArrayList简介ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapac...

2018-08-22 09:37:03 158

转载 SpringBoot中MongoDB注解概念及使用

spring-data-mongodb主要有以下注解@Id主键,不可重复,自带索引,可以在定义的列名上标注,需要自己生成并维护不重复的约束。如果自己不设置@Id主键,mongo会自动生成一个唯一主键,并且插入时效率远高于自己设置主键。原因可参考上一篇mongo和mysql的性能对比。 在实际业务中不建议自己设置主键,应交给mongo自己生成,自己可以设置一个业务id,如int型字段,用自...

2018-07-27 15:34:31 224

原创 抽取通用BaseServlet

之前编写的servlet的问题: 1.doget每次请求都会执行--- 重写service 2.用了大量 if else if 判断执行的是那个方法让方法执行 Method method = this.getClass().getMethod(mt, HttpServletRequest.class,HttpServletResponse.class); method.invoke(t...

2018-05-15 14:00:07 479

原创 Spring-boot &异常处理

方法一:Spring Boot 将所有的错误默认映射到/error, 实现AbstractErrorController.代码如下@Controllerpublic class ErrorController extends AbstractErrorController { private static final String ERROR_PATH = "/error"; ...

2018-04-20 13:53:42 296

转载 spring-boot 热部署の spring-boot-devtools

因为sprig boot的启动方式是通过mian()方法来启动的。所以在做开发的时候,经常改动个小小的地方就要重新启动项目,这个有点不是很舒服。于是浏览了一些文章大概总结了三种:方式1.Spring Loaded方式2.spring-boot-devtools方式3.JRebel插件(之前有用过)这篇文章主要是我自己用spring-boot-devtools的小记:其原理大概看了一下网上是说:  ...

2018-04-11 14:20:39 331

原创 浅谈数据库连接池

连接池的作用就是为了提高性能。       连接池的作用:连接池是将已经创建好的连接保存在池中,当有请求来时,直接使用已经创建好的连接对数据库进行访问。这样省略了创建连接和销毁连接的过程。这样性能上得到了提高。基本原理是这样的:(1)建立数据库连接池对象(服务器启动)。(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果...

2018-04-09 13:55:06 121

原创 Spring Boot(三) Redis使用入门

1.pom.xml 添加Redis 依赖配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </depe...

2018-04-04 10:47:18 119

原创 Spring Boot(二) 数据库操作 [基于Spring Boot、Mysql、Jpa]

1.添加Spring Boot Jpa、Mysql 依赖配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></...

2018-04-03 14:41:17 132

原创 Spring boot(一) 入门

一.创建应用1.在IDEA中,使用Spring Initializr新建项目,注意在选择组件是需要勾选Web 组件。2.一个简单示例@Controllerpublic class HelloController { @RequestMapping @ResponseBody public String hello() { return "Hello wor...

2018-04-02 10:42:45 117

原创 排序

直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序以上8种都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排序算法,他们之间关系如下:直接插入排序(Insertion Sort)1.基本思想直接插入排序的基本思想是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过为止。2.算法描述与分析:取第一个元素构建有序序...

2018-03-08 14:30:51 157

原创 Java 集合框架--HashSet详细介绍和使用总结

1.介绍HashSet 是一个没有重复元素的集合。它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。HashSet是非同步的。如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步。这通常是通过对自然封装该 set 的对象执行同步操作来完成的。如果不存在这样的对象,则应该使用 Collections.synchro...

2018-02-28 13:46:00 284

原创 Java 集合框架--HashMap详细介绍和使用总结

1.HashMap 介绍HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。1.1构造函数HashMap()...

2018-02-28 09:48:31 220

原创 Java 集合框架--ArrayList详细介绍和使用示例

1.ArrayList简介ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功...

2018-02-27 15:55:33 171

原创 Java 集合框架-- Queue集合

Queue

2018-02-27 14:22:10 364

原创 Java 集合框架--Set 集合

1.概述(01) Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。(02) AbstractSet 是一个抽象类,它继承于AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的实现类提供了便利。(03) HastSet 和 TreeSet 是Set的两个实现类。        HashSet依赖于HashMap...

2018-02-27 14:21:15 140

原创 Java 集合框架--List 集合

1.概述List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。 ArrayList, LinkedList, Vector, Stack是List的4个实现类。  ArrayList 是一个数组队列,相当于动态数组。它由数组实现,随机访问效率高,随机插入、随机删除效率低。  LinkedList 是一个双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedLi...

2018-02-27 14:20:57 136

原创 Java 集合框架--Collection接口

1.简介Collection接口是Set,Queue,List的父接口。Collection接口中定义了多种方法可供其子类进行实现,以实现数据操作。2.主要方法2.1 iterator()Iterator接口经常被称作迭代器,它是Collection接口的父接口。但Iterator主要用于遍历集合中的元素。Iterator接口中主要定义了2个方法:示例1:通过Iterator对象逐个获取元素pub...

2018-02-27 11:29:50 189

原创 Java 集合框架-概述

1.概述在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection Framework)。Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了。这样就大大提高了编程效率。2.Java集合类之间的继承关...

2018-02-27 10:48:54 179

原创 数据库编程基础篇(一)

1.什么是JDBCJDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。参考:JDBC详解JDBC和hibernate,mybatis的比较2.SQL ...

2018-02-23 10:08:19 243

空空如也

空空如也

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

TA关注的人

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