自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 索引的理解与建立

问题为什么要给表加上主键?为什么加索引后会使查询变快?为什么加索引后会使写入、修改、删除变慢?什么情况下要同时在两个字段上建索引?这些问题他们可能不一定能说出答案。知道这些问题的答案有什么好处呢?如果开发的应用使用的数据库表中只有1万条数据,那么了解与不了解真的没有差别, 然而, 如果开发的应用有几百上千万甚至亿级别的数据,那么不深入了解索引的原理, 写出来程序就根本跑不动,就好比如果给...

2019-10-16 11:36:05 226

原创 多线程高并发

经典案例卖车票案例一继承Threadimport java.util.ArrayList;import java.util.List;public class Test2 { public static void main(String[] args) { for (int i = 0; i < 4; i++) { SellTicketThread threadi...

2019-06-26 23:14:44 193

原创 Java中从list中删除符合条件的数据

import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test1 { public static void main(String[] args) { ArrayList<String> strs = new ArrayList<...

2019-06-23 21:00:02 5349 1

原创 Spring Cloud的宏观理解·

SpringCloud 简单理解spring cloud 可以认为是一种分布式服务的框架,它为开发人员提供了快速构建分布式系统的常用模式的一些工具,比如说配置管理、服务的注册与发现、服务调用的负载均衡、资源隔离、熔断降级等等,spring cloud为这些提供了一阵套完整的解决方案。微服务1.微服务的核心思想便是服务拆分与解耦,降低复杂性。微服务强调将功能合理拆解,尽可能保证每个服务的功能单...

2019-06-20 20:28:34 188

原创 HashMap原理底层实现结构

HashMap概述:  HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的数据结构:  在java编程语言中,最基本的结构就是两种,一个是数组,...

2019-06-16 22:15:04 193

原创 表结构设计,索引字段

数据库建立索引常用的规则如下:1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:...

2019-06-13 12:45:28 947

原创 集合选择使用

是否是键值对象形势: 是:Map 键是否需要排序 是TreeMap 否HashMap 不知道就用HashMap 否:Collection 是:Set 元素是否需要排序 是:TreeSet ...

2019-06-13 12:39:37 141

原创 Integer和int的区别

Integer是int的包装类, int是基本数据类型最主要的区别就是这句 一个是基本数据类型, 一个是类,但其实其中隐含的细节很多,比如:Integer的默认初始值是null,而int的默认初试值是0。Integer变量必须先实例,int变量则可以直接使用因为Integer是包装的类, 所以自带很多方法可以使用,而int是基本数据类型只能做一些基本的±*/=等操作 ,当二者交叉就会出...

2019-06-10 12:46:04 532

原创 set集合

概述Set接口继承CollectionSet接口常用实现类1. HashSet实现了 Set 接口“它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变”(存入该实现类对象中的元素是无序的,即在遍历该集合元素时,遍历出的元素顺序未必和向集合中添加元素的顺序一致;这次遍历出来的顺序未必和上一次遍历出来的元素顺序一致)允许使用 null 元素2. LinkedHashSetHas...

2019-06-05 18:05:43 169

原创 mybatis中<include>标签

include 标签的使用抽取可重用的sql标签 方便后面引用 可以在里面定义动态sql和内置参数比如经常要查询的列名,或者插入用到的列名,演示代码: 1、首先定义一个sql标签,一定要定义唯一id。 (id,username,password 是要查询的字段)<sql id="hah"> id,username,password</sql> 2、然后通过i...

2019-06-05 17:26:17 23851 1

原创 Stream和迭代器的区别

什么是迭代器?迭代器,提供一种访问一个集合对象各个元素的途径,同时又不需要暴露该对象的内部细节。java通过提供Iterator和Iterable俩个接口来实现集合类的可迭代性,迭代器主要的用法是:首先用hasNext()作为循环条件,再用next()方法得到每一个元素,最后在进行相关的操作示例代码:public static void main(String[] args) { L...

2019-06-03 20:41:06 1191

原创 数组去重

对于数组去重的方法有很多,这里总结了数组去重的三种常用方式,public class Test { public static void main(String[] args) { /** * 第一种方式,虽然去重了,但是不能排序 */ //定义一个数组 int[]str={5,5,5,3,1,4,72,1,2,3}; //定义一个集合 List<Inte...

2019-06-03 19:42:04 239

原创 数据库相关题

1、触发器的作用?触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。2、什么是存储过程?用什么来调用?存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序...

2019-05-31 19:55:27 238

原创 Mybatis常见的面试题总结

什么是Mybatis?1. mybatis是一个半ORM框架,它内部封装了JDBC,开发时只需要关乎sql语句本身,不需要花费精力去处理驱动,创建连接,创建1statement等繁复过程。2. mybatis可以使用xml或注解来配置和映射原生信息。将pijo映射成数据库中的记录,避免了几乎所有的JDBC 代码和手动设置参数以及获取结果集。3. 通过xm文件或注解的方式将要执行的各种stat...

2019-05-28 18:52:38 125

原创 Restful介绍

Restful风格restful是一种软件设计规范,是客户端和服务端进行数据交互的规范。在restful中:提取资源: 也是最关键的一步,对于资源的识别不算太难,一般情况下资源即是想要处理的对象URI的设计: 对网络上所有的资源都有一个资源标志符,一个URL操作一个资源,请求的URL不能有动词,具体的操作:GET:获取资源的方法;PUT:更新资源的方法;POST:创建资源的方法;DELE...

2019-05-27 22:40:19 397

原创 SpringMVC常见面试题总结【概念】

什么是Spring MVC?介绍你对SpringMVC的理解。springmvc是一个基于java实现了mvc设计模式的轻量级web框架,通过把model,view,controller分离,将web层进行解耦,把复杂的web应用分成几部分,简化开发。SpringMVC的流程?1.用户发送请求被前端DispatcherServlet捕获,2.DispatcherServlet捕获到请求后,...

2019-05-24 19:16:57 231 1

原创 Spring面试题部分总结【慨念】

什么是Spring?spring是一个企业级应用的开源开发框架,主要用来开发java应用,spring框架目标就是简化企业级应用开发。Spring用到了那些设计模式?spring里面用到了大量的设计模式,这里举例比较有代表性的:代理模式:在aop中使用比较多单例模式:在spring配置文件定义的bean默认为单例模式模板模式:用来解决代码重复问题工厂模式:BeanFactory用来...

2019-05-23 21:11:06 129

原创 Zookeeper之javaAPI的使用

Java程序操作Zookeeper1.创建java项目并导入相关jar包主要jar包在主目录下项目需要的相关依赖的jar包在zookeeper的解压文件的lib目录下就有将这几个jar包导入项目中<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zoo...

2019-05-14 21:53:48 245

原创 Zookeeper之介绍和安装环境准备

zookeeper概述ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。  Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务序号功能1为别的分...

2019-05-13 19:40:22 354

原创 Git教程【安装及基本操作】

Git简介Git(全局信息追踪器)。  Git是一个分布式版本控制工具,Git的使用中央仓库不是必须的,用户本地就是一个完整的版本仓库,代码的前进、回退、删除等等操作都可以直接在本地进行,不需要中央仓库。但是,在实际操作中,为了能够和其他同事快速沟通以及合并代码,一般还是会搭建一个中央仓库。Git对分支的管理非常友好,可以快速创建或者合并分支。  Svn集中式的版本控制工具,Svn中,必须要...

2019-05-12 16:42:51 138

原创 ActiveMQ发布订阅模式及Spring整合

Topic主题发布和订阅消息前面讲的案例都是点对点的消息,即一个生产者发送的一条消息只能被一个消费者消费,然后就移除了。而topic模式一条消息可以被多个消费者订阅,关系如下:定义生产者package com.sxt.demo;import java.net.URI;import java.util.Date;import javax.jms.Connection;impo...

2019-05-10 17:11:00 656

原创 ActiveMQ点对点消息传递

ActiveMQ处理对象消息1.定义消息载体对象package com.sxt.bean;import java.io.Serializable;import java.util.Date;/** * 自定义对象 * @author xn * */public class User implements Serializable{ private static fi...

2019-05-10 16:59:32 416

原创 ActiveMQ介绍安装与案例

JMS简介全称:Java Message Service 中文:Java消息服务。  JMS是Java的一套API标准,最初的目的是为了使应用程序能够访问现有的MOM系统(MOM是Message Oriented Middleware的英文缩写,指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。);后来被许多现有的MOM供应商采用,并实现为MOM系统...

2019-05-10 16:48:36 148

原创 Redis客户端操作之Jedis

JedisJedis Client是Redis官网推荐的一个面向java客户端,库文件实现了对redis各类API进行封装调用,通过这些API我们会非常方便的操作我们的Redis数据库。redis配置文件地修改1.注释掉绑定地信息在redis.conf的配置文件中bind配置的信息表示的是redis服务可以接收外部访问的地址,这个主要还是为了提高安全性,我们在学习阶段可以将这个信息直接注释...

2019-05-09 15:48:46 216

原创 Redis之集群环境搭建

redis集群一,redis集群相关概念Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误.Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令. Redis 集群的优...

2019-05-08 21:23:22 170

原创 Redis之主从复制

主从复制主从复制可以扩展Redis的性能,比单机版的Redis性能更加的稳定,Redis的主从复制和关系型数据库的主从复制差不多。从机能精确的从主机复制信息。主从复制的优点:实现读写分离降低master的压力实现数据的备份主从关系图实例配置三个redis实例,ip地址分配如下:192.168.88.121:6379192.168.88.121:6380192.168.88...

2019-05-08 20:58:30 122

原创 Redis持久化快照和AOF

Redis持久化所谓的持久化就是保持我们的数据不丢失,将数据通常保存在我们的硬盘中。在Redis中持久化的方式有两种,一种是快照持久化,一种是AOF持久化,各有各的优缺点,在项目中我们得根据实际的情况来选择具体的持久化方式快照持久化(RDB)也叫RDB持久化方式,就是通过拍摄快照的方式实现持久化,将某个时间的内存数据存储在一个rdb文件中,在redis服务重新启动的时候加载文件中的数据配置...

2019-05-08 15:35:32 141

原创 Redis03发布与订阅及事务

Redis发布和订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息订阅者(sub)接收消息Redis 客户端可以订阅任意数量的频道订阅消息创建三个会话客户端订阅消息的命令如下test和test1:127.0.0.1:6379> SUBSCRIBE a s dReading messages... (press Ctrl-C to qui...

2019-05-07 19:05:59 135

原创 Redis教程02[五大数据]

本文介绍redis中的五大基本数据类型数据类型说明String是Redis中最基本的数据类型,二进制安全的,它可以包含任意数据类型。如图片。Redis中String类型的数据上限的512M。ListRedis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (42949672...

2019-05-07 11:45:51 140

原创 Redis教程01【Linux环境下安装】

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,是我们在开发中使用频率比较高的一个组件。本文主要讲解Redis的安装,后续文章会介绍其相关的知识点。下载Redis各个历史下载版本地址:http://download.redis.io/releases/将安装目录文件下载到/opt目录下解压缩执行如下命令...

2019-05-07 10:24:12 110

原创 Linux网络配置之NAT静态ip配置及jdk和tomcat安装

我们在学习及开发中的环境基本都是多个节点,所以我们肯定是需要每个几点的ip是固定的,而且学习的时候我们也希望当我们从学校回到宿舍或者去到小伙伴那的时候节点的ip也不会改变,所以本文我们就来介绍下NAT静态ip的配置方式(基于centOS6.5)。虚拟路由器设置更改网络适配器查看网络编辑器参数节点ip配置登陆虚拟机节点网卡设置vi /etc/sysconfig/network...

2019-05-05 19:20:13 316

原创 shiro教程

shiro简介Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。框架图说明从外部查看shiro框架 应用代码直接交互的对象是Subject,也就是说Shiro的对外API核心就是Subjectapi说明S...

2019-04-29 19:23:43 269

原创 MyBatis和Spring整合

创建maven项目创建一个java项目即可引入相关依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://...

2019-04-29 15:07:40 111

原创 MyBatis教程3【映射文件和动态sql】

1.logj在程序的运行的过程中为了便于查询sql的输出,需要引入logj添加依赖<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version></depe...

2019-04-27 19:36:53 208

原创 Mybatis教程2【配置文件】

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下configuration 配置 properties 属性 settings 设置 typeAliases 类型别名 typeHandlers 类型处理器 objectFactory 对象工厂 plugi...

2019-04-25 20:35:31 132

原创 mybatis教程1【基本使用】

什么是MyBatis?MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。mybatis和h...

2019-04-25 20:14:53 498

原创 创建maven【聚合工程】

所谓聚合项目,实际上就是对项目分模块,互联网项目一般来说按照业务分(订单模块、VIP模块、支付模块、CMS模块…),传统的软件项目,大多采用分层的方式(Dao、Serivce、Controller):一、多模块结构bobo-parent pom 管理 |-- bobo-manager pom 管理 |-- bobo-manager-dao jar |-- ...

2019-04-24 18:12:52 250

原创 整合Spring和SpringMVC

1.Spring容器和SpringMVC容器的关系Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器。因此,在SpringMVC容器中,可以访问到Spring容器中定义的Bean,而在Spring容器中,无法访问SpringMVC容器中定义的Bean。在Web开发中,Controller全部在SpringMVC中扫描,除了Controller之外的Bean...

2019-04-23 19:31:23 3036

原创 SpringMVC教程五【Restful和拦截器】

Restful风格Restful是一种软件设计规范,是客户端和服务端进行数据交互的一个规范。早期使用jsp页面开发网页,数据交互基本都是通过表单提交,然后通过内置对像传递,当HTML5兴起,移动互联网兴起,网站后端服务,不仅要考虑PC端的网页,也要考虑移动端数据的展示、小程序、HTML5页面等。如果需要多个终端(Android、iOS、小程序、Pad、HTML5页面)共用一个后端,一般来说主流方...

2019-04-23 11:06:33 296

原创 SpringMVC教程四[数据回写和异常处理及JSON操作]

一,数据回写数据回写:在做数据更新的时候服务端查询的数据自动填写到表单中默认方式 @RequestMapping("/doLogin") public String doLogin(String username, String password, Model model) { if ("zhangsan".equals(username) && "123".equ...

2019-04-22 18:44:32 294

空空如也

空空如也

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

TA关注的人

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