自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis

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

2018-10-05 21:08:32 2314 1

原创 在Linux下安装软件jdk-tomcat-mysql

我用的是阿里云Contos 7.3的镜像,选择/usr/local目录下安装软件/usr:系统级的目录,可以理解为C:/Windows/。/usr/lib:理解为C:/Windows/System32。/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。这里主要存放那些手动安装的软件,即不是通过“新立得”或apt...

2018-10-04 15:29:42 268

原创 apache提供的开源字符串工具类

 这里只是我收集一些由apache提供常用会用到的字符串工具类的方法,更多的方法的在下面这个博客中https://blog.csdn.net/qq_26676207/article/details/72674670package com;import org.apache.commons.lang.StringUtils;import org.junit.Test;public...

2018-09-27 11:01:14 437

转载 Java解压zip文件

package com;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.nio.charset.Charset;import java.util.Enumeration;import java....

2018-09-24 20:24:26 231

转载 Java压缩成zip文件

  package com;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.zip.ZipEntry;import java.io.FileOutputStream;import java.io.OutputStream;impor...

2018-09-24 20:23:48 196

原创 SpringMVC

1:什么是MVC        MVC(Model View Controller)是一种软件设计的框架模式,它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑、数据与界面显示分离。把众多的业务逻辑聚集到一个部件里面,当然这种比较官方的解释是不能让我们足够清晰的理解什么是MVC的。用通俗的话来讲,MVC的理念就是把数据处理、数据展示(界面)和程序/用户的...

2018-09-23 10:44:16 512

转载 Mybatis中的mapper.xml里面${} 和 #{}区别与用法

Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${}#{}方式能够很大程度防止sql注入。 $方式无法防止Sql注入。 $方式一般用于传入数据库对象,例如传入表名. 一般能用#的就别用$.#{}表示一个占位符即?,可以有效防止sql注入。在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。...

2018-09-14 13:12:28 1790

转载 多线程的状态流转

线程在一定条件下,状态会发生变化。线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。3、运行状态(Running):就绪状态的线程获取了C...

2018-09-12 21:53:07 558

原创 Integer和int的区别

Integer和int的区别:1.Integer是int的包装类,int的初值为0,Integer的初值为null。2.无论值是否相同,Integer与new Integer都不会相等,结果为false。  情况一:Integer范围在-128~127之间,指向专门存放它的常量池;new Integer引用指向堆。它们的内存地址不一样,所以无论值是否相同,比较结果都为false。 ...

2018-09-12 20:34:33 366

原创 面试之ActiveMQ?

1.先讲严重的:服务挂掉。这得从ActiveMQ的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存储在文件中的,它们的最大限制在配置文件的<systemUsage>节点中配置。但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。虽然都保存到了文件里,但它和持久化消息的区别是,重启后持久化消...

2018-09-02 20:17:12 288

原创 分布式锁

一、为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这个JVM内部的一块内存空间!后来业务发展,需要做集群,一个应用需要部署到几台机器上...

2018-09-02 18:59:36 147

原创 Dubbo与 Zookeeper

dubbo是动物..zookeeper是动物园的管理员!按我的理解,您可以把dubbo服务想象成学校里的一个学生,并且对应有一个学号,zookeeper则是想象成一个教务网管理系统。我们可以通过教务网管理系统,查找到对应的学生。我们首先通过注册入学,将学生和学号对应绑定。比方说项目是一个分布式的项目,web层与 service层被拆分了开来, 部署在不同的tomcat中, 我在web层 需...

2018-09-02 18:28:37 519

原创 Dubbo的介绍以及Dubbox的区别

Dubbo官网:  http://dubbo.io/Dubbox官网: https://github.com/dangdangdotcom/dubboxDubbo 是阿里巴巴公司开源的一个基于Java的高性能开源RPC框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。后来因为某些原因没有维护,于是当当网在这之上推出了自己的Dubbox。D...

2018-09-02 16:05:58 20857

原创 数据库之分库分表

随着大数据时代的到来,业务系统的数据量日益增大,数据存储能力逐渐成为影响系统性能的瓶颈。目前主流的关系型数据库单表存储上限为1000万条记录,而这一存储能力显然已经无法满足大数据背景下的业务系统存储要求了。随着微服务架构、分布式存储等概念的出现,数据存储问题也渐渐迎来了转机。而数据分片是目前解决海量数据持久化存储与高效查询的一种重要手段。数据分库分表的过程在系统设计阶段完成,要求系统设计人员根据系...

2018-09-02 15:35:48 202

原创 spring-data-jpa的使用

 首先了解JPA是什么?JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,To...

2018-08-25 10:45:35 201

原创 java的多线程

多线程进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程 什么是多线程呢?即就...

2018-08-24 21:51:29 167

转载 java中sleep和wait的区别

结合synchronized,会更好的理解sleep()和wait()这两个方法,当然也就知道了他们的区别了。这篇博客就一起学习这两个方法sleep()sleep() 方法是线程类(Thread)的静态方法,让调用线程进入睡眠状态,让出执行机会给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间。 因为sleep() 是static静态的方法,他不能改变对象...

2018-08-24 21:26:11 690

转载 redis的优缺点以及使用场景

1. 使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2) 支持丰富数据类型,支持string,list,set,sorted set,hash(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4) 丰富的特性:可用于缓存,消息,按key设置过期...

2018-08-24 21:22:02 413

转载 面试之SpringMVC与Struts2区别与比较总结

1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式...

2018-08-24 21:20:14 1076

原创 分布式、微服务、集群

一、分布式小马正在经营一个在线购物网站,名叫TT猫,有商品管理、订单管理、用户管理、支付管理、购物车等模块,每个模块部署到独立的云服务主机。现在,程序员小明同学浏览TT猫,想买一款牛逼的cherry机械键盘来提升自己的工作效率。于是他打开TT猫首页、搜索商品、浏览详情以及评论、添加购物车、下单、支付等一系列操作。小明同学一气呵成,流畅地完成了购物,当然也花费了不少银子。但系统又是如何进...

2018-08-24 21:18:10 309

转载 面试之Session,Token相关区别

Session,Token相关区别1. 为什么要有session的出现?答:是由于网络中http协议造成的,因为http本身是无状态协议,这样,无法确定你的本次请求和上次请求是不是你发送的。如果要进行类似论坛登陆相关的操作,就实现不了了。2. session生成方式?答:浏览器第一次访问服务器,服务器会创建一个session,然后同时为该session生成一个唯一的会话的key,也就是...

2018-08-24 21:15:37 1097

转载 面试之springboot是什么?

1. Spring Boot是什么,解决哪些问题  1.1从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。     1) Spring Boot使编码变简单     2) Spring Boot使配置变简单     3) Spring Boot使部署变简单     4) Spring Boot使监控变简单2. S...

2018-08-24 09:10:48 10495 3

转载 面试题之apache提供的开源工具类

   Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动,面试也有可能问道,另外可以看这个文章学习https://www.cnblogs.com/crazylqy/p/4872236.html一. org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常...

2018-08-24 08:28:07 432

原创 用户注册之手机注册

手机注册服务商 阿里云短信 腾讯云短信 百度云SMS 容联云通讯 接入步骤 注册开发者账号 创建应用 对接测试 上线运营 接入步骤图以下为容联云通讯的写法注册开发者账号注册即可免费开发测试,无需认证充值,但无法上线 http://www.yuntongxun.com/user/reg/init 短信验证码模板 免费开发模板ID为1...

2018-08-15 09:06:59 1201

原创 微信支付

微信支付平台https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F微信支付准备资料扫码支付可分为两种模式,商户根据支付场景选择相应模式。模式一商户后台系统根据微信支付规则链接生成二维码,链接中带固定参数productid(可定义为产品标识或订单号)。用户扫码后,微信支付系统将productid和用...

2018-08-14 23:02:37 1516

原创 微信登陆

 微信扫码登录微信分为三个平台:  微信公众平台: 订阅号、服务号、企业号以及小程序给我们提供的服务微信商户平台: 在这个商户平台不仅提供开发者有关的开发文档,而且提供流水记录和红包等相关的运营策略,所以这里是开发者,运营者,财务的领地!所有使用微信支付,不论是扫码支付,app支付等所有的流水订单都可以在这里找到足迹,为我们的每一笔订单提供对账凭证和查询记录微信开放平台: 开发...

2018-08-12 23:21:18 814

原创 邮箱注册

邮箱注册流程图javaMail简介Sun定义的一套接收、发送电子邮件的API 支持各种邮件协议,开发人员无需考虑底层通信细节 被作为Java EE的一部分,但没有被加入标准JDK中 需要获取jar包<dependency>    <groupId>javax.mail</groupId>    <artifactId&gt...

2018-08-10 16:58:10 3343

原创 JMETER的安装介绍以及使用

 Apache JMeter™官网 https://jmeter.apache.org/推荐博客:https://www.cnblogs.com/iceb/p/7094047.html该阿帕奇JMeter的™应用程序是开源软件,旨在为负载测试功能行为和测量性能的100%纯Java应用程序。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能。能够加载和性能测试许多不同的应...

2018-08-10 16:56:26 428

原创 支付宝支付

蚂蚁金服开放平台——开发者中心 https://openhome.alipay.com 提供的调试产品 APP支付 当面付 手机网站支付 …… 接入步骤 创建应用并获取APPID 配置密钥 搭建和配置开发环境 使用SDK 线上验收 第一步:建应用并获取APPID准备工作 支付宝账号 必须在开放平台完成实名认证才能使用开放平台服务 生...

2018-08-08 09:19:55 2810

原创 redis

redis概述开源、免费、高性能的key-value数据库,与Memcached类似Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value非关系型数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。Windows下安装运行(由MSO...

2018-08-08 09:11:58 345 1

转载 solr的使用以及配置

使用搜索引擎的好处传统的SQL语句实现方式效率低下搜索引擎运行原理 solr简介基于Lucene的Java搜索引擎服务器程序 功能 数据导入 增量更新 数据检索(全文检索,高亮显示,精确搜索) Solr下载地址 http://archive.apache.org/dist/lucene/solr/ 教学版本 Solr4.9.1 Solr4.9.1...

2018-08-08 09:10:01 704

转载 quartz任务调度器

quartz框架是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。的最新版本为 2.3.0。 openSymphony开源组织的一个开源项目 官网 http://www.qua...

2018-08-08 09:05:26 336

转载 freemarker代码生成器

代码生成器概述代码生成器顾名思义就生成代码的一个软件。 为了节省人力成本, 在日常的企业开发中, 代码生成器使用的较为普遍。   简单说:可以生成代码的程序 例如:可以得出如下结论 jsp就是一个模板 tomcat根据jsp和数据生成了html代码 tomcat内部有一个代码生成器可以生成html代码 代码生成器=模板+数据+合成机制 对比如下两个mapper接口...

2018-08-08 09:03:03 1268

转载 nexus搭建私服

为什么使用私服问题 通过中央仓库来获取所需构件,实际开发中往往是存在问题 网速慢,下载jar包时间久,工作效率低 不利于公共构件的管理和维护 解决方案 搭建maven私服 本地仓库下载速度优于远程仓库下载 可自行进行构件的管理和维护 第三方jar包 项目模块所依赖的公共构件 原理图 如何搭建私服Apache A...

2018-08-08 08:58:00 239

转载 Tengine+Lua+GraphicsMagick实现图片自动裁剪缩放

图片处理需求问题 互联网电商网站(PC端,移动端) 大量不同需求的图片(同一个图片需要不同尺寸的缩略图) 解决方案 两种策略生成缩略图 在上传图片时,就生成所需缩略图 根据请求指定尺寸的图片自动生成响应的缩略图片 Tengine+Lua+GraphicsMagick 技术介绍Tengine 淘宝优化改良的nginx,并集成了lua模块 负责展...

2018-08-08 08:52:26 1442

转载 swagger的介绍使用

swagger简介Swagger 是一个简单、强大的 RestfulAPI 文档生成管理工具,通过 swagger-spring 项目实现了与 Sping MVC 框架的无缝集成功能,方便生成 spring restful 风格的接口文档,在项目中集成这个工具,根据我们自己的配置信息能够自动为我们生成一个 API 文档展示页,可以在浏览器中直接访问查看项目的接口信息(如下图 1 所示),同时 ...

2018-08-08 08:45:48 259

原创 nginx的介绍使用和安装

nginxNginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2...

2018-08-08 08:40:20 289

原创 Linux的创建和基本命令使用

linux简介Linux是一种自由和开放源码的操作系统 Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成 市场上存在着许多不同的Linux发行版本 Linux可安装在各种计算机硬件设备中,比如笔记本电脑、台式计算机、手机、平板电脑、路由器等。 Linux系统最擅长的领域是作服务器操作系统和嵌入式操作系统稳定 轻量级 开源...

2018-08-08 08:31:26 383

转载 Hibernate的关系映射以及检索

         Hibernate关联映射---数据对象三种关系Hibernate框架基于orm设计思想,它将关系型数据库中的表与我们的java中的类进行关联映射,一个对象对应着数据库表中的一条记录,而表中的字段对应着类中的数据.数据库中表与表之间存在着三种关系,也就是系统设计中的三种实体关系,分别为1对1,一对多,多对一。1.1一对一原则有两种:唯一外键对应:在任意一方添加...

2018-07-30 14:48:08 500

转载 Hibernate的基础知识点介绍

1.1什么是hibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。简单说,hibernate它是一个轻量级的jdbc封装,也就是说,我们可以使用hibernate...

2018-07-27 22:54:00 476

空空如也

空空如也

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

TA关注的人

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