自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴晓如

凌晨四点钟,看到海棠花未眠

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

原创 Redis客户端Jedis的使用

添加Pom依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency&

2018-08-28 10:12:50 925 4

原创 MySQL--组合索引和多个单列索引

有一张职工表emp,表设计如下: 创建了两个单列索引:idx_ename、idx_deptno 执行select * from emp where ename='RgfgEv' and deptno='102'用explain进行分析只用到了idx_ename一个索引。(当有多个单列索引时,mysql只能用到其中那个它认为最有效率的单列索引)创建一个组合索引:idx_n...

2018-08-27 18:03:23 11738 3

原创 MySQL存储引擎--InnoDB vs MyISAM

InnoDB 默认的存储引擎InnoDB是一个事务型的存储引擎,有行级锁定和外键约束。适用场景经常更新的表,适合处理高并发的更新请求。支持事务可以从灾难中恢复(通过bin-log日志)外键约束支持自动增加列属性auto_incrementMyISAM支持FULL TEXT类型的索引,并且保存了表的行数,不支持事务、行级锁和外键。适用场景查询速度快sele...

2018-08-27 17:06:25 505

原创 CAS机制

先来看一段代码,看一下执行结果是多少?示例:启动两个线程,每个线程中让静态变量count循环累加100次public class CAS { public static int count=0; public static void main(String[] args) { //开启两个线程 for(int i=0;i<2;i++...

2018-08-27 10:58:42 334

原创 冒泡排序

第一版 第二版:优化:如果没有可交换的元素,则结束排序 第三版:优化,如果元素基本有序时,减少交换的次数

2018-08-12 21:40:24 226

转载 【JVM】JVM类加载机制

类加载机制 虚拟机把描述类的数据从Classs文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。类加载过程加载器把一个类装入JVM中需要经过三个步骤完成:加载:查找和装入类或接口的二进制数据连接:执行以下三步,其中解析是可选的 (1)验证:检验装入类或接口的二进制数据的正确性 (2)准备:为静态变量...

2018-08-07 08:31:34 238

原创 【JVM】-- 内存模型

JVM内存模型:Java所管理的内存将包括以下几个运行时数据区域: Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。绿色部分是(方法区和堆)所有线程共享的,红色部分(虚拟机栈、本地方法栈、程序计数器)是线程私有的。依次...

2018-07-29 21:44:24 218 7

原创 【Linux】--keepalived工作原理和配置说明

keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。工作原理keepalived是以VRRP协议为实现基础的,VRRP全程 Virtual Router Redundancy Protocol,即虚拟路由冗余协议。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,...

2018-07-26 19:55:17 476 7

原创 【Linux】nginx安装

安装下载安装包gz包解压 tar -zxvf./configure –prefix=/mic/data/program/nginx 默认安装到/usr/local/nginx3.make & make install会遇到的问题:./configure: error: the HTTP rewrite module requires the PCRE library...

2018-07-22 21:55:40 207 6

原创 Mysql(一)--- 索引理论

一、简介Mysql官方对索引的定义:索引是帮助mysql高效获取数据的数据结构。目的是提高查询效率,类比字典。简单说索引就是排好序的快速查找的数据结构。数据库系统除了维护数据之外,还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。我们平常所说的索引,如果没有特别指明,...

2018-07-11 16:36:51 188 4

原创 Dubbo支持的协议

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,Dubbo官网推荐我们使用的是Dubbo协议。

2018-07-08 17:54:19 328 3

原创 spring循环注入怎么解决

构造器循环依赖spring容器将每一个正在创建的Bean标识符放在一个“当前创建Bean池”中,Bean标识符在创建过程中将一直保持在这个池中,因此在创建Bean过程中发现自己已经在“当前创建Bean池”里时将抛出BeanCurrentlylnCreationException异常表示循环依赖;对于创建完毕的Bean将从“当前创建Bean池”中清除掉。配置文件:<be...

2018-06-30 20:52:26 5157 6

原创 springMVC框架原理

架构图:架构流程:1、 用户发送请求至前端控制器DispatcherServlet2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 DispatcherServlet通过Handle...

2018-06-24 21:24:02 276 17

原创 Spring @Qualifier注解

场景介绍:有一个接口如下:public interface EmployeeService { public EmployeeDto getEmployeeById(Long id);}有两个实现类同时实现了这个接口:@Service("service")public class EmployeeServiceImpl implements EmployeeSe...

2018-06-17 15:54:49 2639 14

原创 Java多线程--锁对象

前面总结了多个线程访问同一个对象的同步方法以同步执行,多个线程访问多个对象的同步方法则以异步方式执行,那如果多个线程分别访问一个对象中同步方法和非同步方法会如何执行那?Demo:MyObject类(包含了一个同步方法和一个非同步方法):public class MyObject { synchronized public void methodA(){ ...

2018-06-04 19:02:17 411 10

原创 Java多线程--多个对象多个锁

上一篇博客中介绍了多个线程同时访问一个对象,产生一个对象锁,属于同步访问,现在介绍下如果是访问多个对象,会怎么执行那?Demo:HasSelfPrivateNum类:public class HasSelfPrivateNum { private int num=0; synchronized public void addI(String username){ ...

2018-06-04 17:22:05 3940 12

原创 Java多线程--synchronized同步方法

synchronized同步方法是为了解决“非线程安全”的问题,所谓“非线程安全”是指多个线程对同一个对象中的变量进行并发访问时发生,产生“脏读”的情况。一、方法内的变量为线程安全“非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题,也就是“线程安全”的了。 demo:HasSelfPrivateNum类:public class ...

2018-06-04 16:59:11 362 8

原创 Java基础--this关键字

1、使用在类中,可以用来修饰属性、方法、构造器2、表示当前对象或者当前正在创建的对象3、当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来标明该变量时类成员4、在任意方法内,如果使用当前类的成员变量或者成员方法可以在其前面添加this,增强程序的阅读性5、在构造器中使用“this(形参列表)”显式的调用本类中重载的其他的构造器 5.1 要...

2018-05-27 19:26:04 267 24

原创 微信公众号支付

小编公司的项目是公众号里嵌H5页面调起微信支付,这也属于公众号支付的内容。业务流程图: 统一下单接口地址: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1这里写链接内容小编项目业务流程: 点击支付按钮—-查询收获地址–若无,提示,若有提交订单—提交订单成功—调起支付—支付成功修改订单状态在提交...

2018-05-19 21:04:27 480 57

原创 AngularJS--给video标签赋值播放不了

公司在做直播,H5使用video标签来播放拉流地址的,但是小编遇到一个问题,把拉流地址写死在src属性里就可以播放,但是从库里动态获取赋值给src时就播放不了,查了查是由于用AngularJS的原因动态获取到的路径angular环境不识别,需要进行处理一下,让angular识别,并认为是安全的路径来使用。angular提供了一种方法$sce使用方法:html页面:<!-...

2018-05-08 21:25:51 3537 18

原创 微信网页授权获取openid

最近在做一个嵌在公众号里的H5项目,里面涉及到了微信支付,属于公众号支付,需要拿到用户的openid,涉及到了网页授权。如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。步骤引导用户进入授权页面同意授权,获取code通过code换取网页授权access_token(与基础支持中的access_token不同)如果需要,开发...

2018-05-06 22:05:01 3866 16

原创 H5直播聊天室

公司在做一个电商项目进行直播商品,直播当然少不了互动,不然直播多么乏味无趣,那么弹幕式聊天室(IM)怎么实现的那,小编的公司用的是腾讯云的云通信服务。介绍:腾讯云IM的前身是QQ的及时通讯消息系统,对QQ的消息模块进行抽离,变成了适合移动端接入的IM SDK,脱离了对QQ号码的绑定,就是现在的IM云通信。登录QQ用的是QQ号密码,登录IM SDK也是一样,只是不是QQ号和密码了,而是指...

2018-04-28 21:15:32 5823 66

原创 Java基础--集合

一、概述Java是面向对象语言,当我们要针对多个对象进行操作时,就必须对多个对象进行存储。因此出现了集合的概念。1、数组和集合同是容器,有何不同?数组的长度是固定的,集合长度是可变的数组中可以存储基本数据类型,集合只能存储对象2、集合的特点用于存储对象长度是可变的可以存储不同类型的对象3、为什么会有这么多的容器?每一个容器对数据的存储方式不同,这种存储方...

2018-04-21 11:19:19 219 19

原创 Java线程的状态及转换

上面博客介绍了创建多线程的两种方式,下面介绍下Java线程的状态转换。初始状态(NEW):实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态。可运行状态(RUNNABLE):线程对象创建后,其他线程比如main线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。运行(RUNNIN...

2018-04-12 17:41:35 921 21

原创 Java多线程--创建方式

在java中要实现多线程,有两种手段,一种是继承Thread类,另外一种是实现Runable接口.(准确讲是三种,还有一种实现Callable接口,并与Future、线程池结合使用)一、扩展java.lang.Thread类定义类继承Thread复写Thread类中的run方法调用线程的start方法(此方法作用:启动线程,调用run方法) package cn.dem...

2018-04-09 11:51:44 171 21

原创 Lombok介绍及使用方法

lombok是什么?      一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具。      简单说,我们新建一个实体类,里面有几个字段,通常情况下我们需要手动建立getter和setter方法,构造函数之类的,lombok可以帮助我们省去这些代码,它能够在编译源码的时候自动帮我们生成这些方法。安装:     lombok是一个jar包,官网下载地址:htt...

2018-03-31 10:23:07 2186 28

原创 SpringBoot--调用JpaRepository接口的save方法报错

 最近在学习SpringBoot,在调用JpaRepository接口的save方法时报错,如下: 一直在想调用人家封装的方法怎么还会报错,经过查询原来是主键自增策略的问题。我的代码:@Entitypublic class ProductCategory { /*类目id*/ @Id @GeneratedValue private Integer category...

2018-03-19 11:21:01 11815 27

原创 Maven--生命周期

介绍:      在Maven出现之前,项目构建的生命周期已经存在,软件开发人员每天都在对项目进行清理、编译、测试及部署。不同的公司不同的项目可能采用的方式不同,有的是手动,有的写自动化脚本。一般都是各写各的,能够满足自身需求,换个项目就需要重头再来。      Maven的生命周期就是对所有的构件过程进行了抽象和统一。这个生命周期包含项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站...

2018-03-16 19:42:03 265 20

原创 Maven--坐标和依赖

一、坐标任何一个构件(jar、war)都可以用Maven坐标唯一表示。Maven坐标有五个元素构成groupId、artifactId、version、packaging、classifier。   groupId:定义当前Maven项目隶属的实际项目 与java包名的表示方式类似,通常与域名反向一一对应。   artifactId:该元素定义实际项目中的一个Maven项目(模块),实际项目名前缀...

2018-03-09 23:37:40 353 15

原创 Angular(五)----属性数据绑定

@Input装饰器   在类上添加元数据,让指令的属性用于绑定,也称之为输入属性,数据流是从绑定表达式流向指令内容。(1)需要进行import语句指定从Angular的core库导入一些符号。  (2)把属性添加到指令类中(3)页面显示传递的值    (4)值的来源      通过中括号[]进行属性传递。...

2018-03-04 15:48:50 2464 11

原创 Angular(四)--创建项目及目录结构介绍

     小编用的IDE是Visual Studio Code(Webstorm、idea也是比较好用的)。一、创建angular项目 1、    在vs Code里打开命令窗口(快捷键是ctrl+tab上面那个键即1前面那个键,原谅小编实在不知道这个键怎么形容) 可以切换到你想要的目录下,然后输入:ng new angular-practice angular-practice 即为项目名称,自...

2018-02-26 09:17:46 6003 32

原创 Angular(三)--环境搭建

一、下载安装node.js     node.js官网    点击下载,node.js插件在windows系统下是个.msi工具,下一步,下一步安装就可以了,软件会自动写入环境变量,这样就可以在cmd命令窗口使用node或者npm命令。打开cmd,输入node -v 可以查看版本,小编是之前安装的,版本是8.9.1node.js 安装成功。二、安装cnpm    由于Angular cli的一些资...

2018-02-20 21:21:53 490 25

原创 Angular(二)--程序架构

2018-02-16 21:59:34 536 22

原创 Angular(一)--前端框架angular、React、Vue的对比

          前端框架近些年来发展地很快,主流的框架主要angular、React、Vue等,对这三个框架进行宏观对比,便于选择。一、angular   angular是一款优秀的前端的JS框架,已经被Google等多款产品使用。   特性:   1、良好的应用程序结构   2、双向数据绑定   3、指令   4、HTML模板   5、可嵌入、注入和测试   6、移动和桌面兼容   优点: ...

2018-02-11 16:41:41 1140 24

原创 mybatis中PageHelper的使用

一、引入pagehelper的jar包  如果是maven项目,pom里添加依赖: com.github.pagehelper pagehelper 4.1.4二、在mybatis的配置文件中配置拦截(也可以在spring配置文件中配置)     小编在mybatis配置文件SqlMapConf

2018-02-02 20:33:01 11434 13

原创 安装jdk后出现bash: ./java: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

为了解决mq的问题把jdk版本换成了1.7,装完之后执行命令java -version时,出现了以下错误:原因:所用的jdk-7u55-linux-i586.tar.gz包是32位的,64位系统中安装了32位程序,便会有上面的提示。执行一下命令:sudo yum install glibc.i686安装一下glibc.i686就OK了

2018-01-22 20:34:54 545 23

原创 ActiveMQ:Exception occurred while processing this request, check the log for more information!

安装完ActiveMQ之后,通过http://IP:8161登陆到控制台。通过测试代码给服务端发送队列消息,在控制台点击queue可以看到如下消息:然后点击队列名称test-queue,出现如下页面:然后点击MessageID,应该出现以下页面:但是我的却报错了,出现了一下错误:Exception occurred whi

2018-01-22 20:22:34 7436 27

原创 IDEA设置jdk无效

电脑突然蓝屏之后,重启了IDEA,发现关于jdk的引入全都是灰色的(java.util.ArrayList;java.util.Date;java.util.List;),报了很多红线。排除了:1、代码问题2、jdk是否设置查了好久找到了解决方法:是IEDA工具本身的问题

2018-01-21 11:26:52 9824 29

原创 Noqualifying bean of type [org.apache.solr.client.solrj.SolrServer] is defined:expected single match

严重: Exception sending context initialized event tolistener instance of classorg.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException:Error creatin

2018-01-19 21:39:41 1102 17

原创 Zookeeper介绍及Linux上的安装

介绍:   官方解释:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。    其实从字面也很好理解,可以翻译为“动物管理员”,动物园里有很多的动物,不同的动物应该待在不同的地方,而不是相互串

2018-01-12 20:55:10 232 19

空空如也

空空如也

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

TA关注的人

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