➤ 框架篇
文章平均质量分 84
你个佬六
程序员各个都是佬六!!
展开
-
mysql日志分析工具之mysqlsla
一、前言当我们使用自己搭建的mysql的时候,如何排查慢日志呢?如何对慢日志进行分析呢?下面介绍两款常用的慢日志分析工具:mysqldumpslowmysqlsla二、mysqldumpslow这是一款mysql自带的慢查询工具,个人使用下来发现,可以满足在很多慢日志中找到有问题的慢的sql,并且可以进行sql排序。属于一种短小精干的工具。得到返回记录集最多的10个SQL。mysqldumpslow -s r -t 10 /var/lib/mysql/test_mysql_slow.原创 2021-11-22 18:59:33 · 36699 阅读 · 0 评论 -
kafka重复消费问题
一.前言 最近项目中替换了我以前使用的string cloud stream kafka后,改为了spring kafka。当大批量数据进来的时候,就会频繁出现消息堆积现象,然后查询库里有很多条重复数据。典型的kafka重复消费问题。二.现象 elk中发现,"Auto offset commit failed"频繁出现,自动提交失败。 &原创 2020-08-13 14:13:21 · 2003 阅读 · 0 评论 -
Mysql:Incorrect string value: ‘\xF0\x9F\x8D\x83\xF0\x9F...‘ for column 问题解决方案
一、前言 今天生产上出现一个问题,更新数据库的时候,没有更新成功,经过定位问题,发现是update的sql报错了。 错误信息是:Mysql:Incorrect string value: '\xF0\x9F\x8D\x83\xF0\x9F...' for column 二、原因和解决方案 &nbs原创 2020-07-06 17:52:07 · 12436 阅读 · 0 评论 -
gh-ost 生产字段增删改,加索引不死锁解决方案
gh-ost介绍 在做功能迭代的时候,我们总会遇到生产的数据库表结构不适合的时候。往往我们要添加字段,添加索引,修改字段等操作。但是如果生产的数据量是很大的,我们对表结构进行修改的时候会引起死锁,甚至会引起宕机。 这个时候,有一种解决方案,gh-ost,可以在不发生死锁的前提下,把数据表结构修改成功。gh-ost原理  原创 2020-07-01 18:59:26 · 15927 阅读 · 0 评论 -
【JVM】程序员进阶JVM(四)——内存泄漏和内存溢出
内存泄漏与内存溢出的区别内存泄漏(Memory Leak)进程中某些对象已经没有使用的价值了,但是他们却还可以直接或间接地被引用到GC Root导致无法回收。当内存泄漏过多的时候,再加上应用本身占用的内存,日积月累最终就会导致内存溢出OOM内存溢出(OOM)当 应用的heap资源超过了Dalvik虚拟机分配的内存就会内存溢出...原创 2019-10-20 22:21:47 · 170 阅读 · 0 评论 -
【MQ】ActiveMQ(二)——消息处理机制
一、前言 上文中,小编提到安装ActiveMQ,但是对于ActiveMQ中消息是用什么样的形式存储的?下面小编就向大家介绍一下。二、消息类型 对于消息的传递有两种类型:点对点的,即一个生产者和一个消费者一一对应;发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。 JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些原创 2017-11-17 10:08:12 · 1247 阅读 · 7 评论 -
【Quartz】定时任务(一)——Quartz.NET使用
一、前言说到定时任务,这个让人最先想到的还就是timer了,但是timer不是很灵活,使用也不给力,所以就需要一个可以做定时任务的框架,比较火的框架有Quartz框架。由于小编这次依赖的系统是Net的,所以这次开发就使用了Quartz.NET框架,来进行发送定时任务。下面就向大家展示一下怎么使用Quartz.NET。二、什么是Quartz?依照小编的惯例,分享新知识的时候都会先原创 2017-08-14 14:52:17 · 2969 阅读 · 19 评论 -
【Mybatis】深入浅出Mybatis(一)——前言小序
一、前言 从这篇博客开始,本系列博客就开始向大家介绍SSM框架中的M,也就是Mybatis。通过这系类博客大家,可以更加的深入的了解Mybatis。二、小序 本系列博客主要分享一下Mybatis的开发的思想,主要包括一下的:深入浅出Mybatis(一)——前言小序深入浅出Mybatis(二)——Mybatis的框架深入浅出Mybatis(三)——环境搭建原创 2017-03-08 09:59:10 · 1161 阅读 · 10 评论 -
【java】SSM框架搭建(一)——idea搭建maven聚合工程
一、前言 以前开发的java使用的是Eclipse开发的,前一段时间换成了idea。还有点不习惯,然后自己就研究了一下如何使用idea搭建 maven的聚合工程。二、架构说明 小编要搭建一个架构类似下面的maven工程: 说明一下:在这个架构中,项目中有base-root做为主项目,然后common和manage是他的两个子项目,dao、pojo、service、api原创 2017-10-24 18:59:15 · 3178 阅读 · 8 评论 -
【Solr】深入浅出Solr(三)——使用Solrj向索引库中导入数据
一、前言 在上一篇博客中小编向大家简单介绍了一下如何搭建单机版的Solr服务,这样我们的搭建完成了Solr服务,但是如何使用呢?Solr服务中有我们要用的索引库,所以首先要做的就是向索引库中导入数据,那在java中又要如何操作呢?小编在这篇博客中,向大家介绍一下如何使用Solrj向索引库中导入数据。二、Solrj是什么? solrJ是Java连接solr进行查询检索和索引更新维护的ja原创 2017-08-06 10:13:56 · 4673 阅读 · 12 评论 -
【Solr】深入浅出Solr(二)——搭建单机服务
一、前言 在上一篇博客中,小编向大家深入的介绍了一下搜索引擎,稍微提出了Solr。封装及扩展性较好,提供了较为完备的解决方案,因此在门户社区中采用此方案,后期加入Compass方案。 基于这些性能优势,在一些门户网站上,使用Solr进行站内搜索还是比较高效的。下面就向大家介绍一下如何搭建一个单机版的Solr服务。二、环境介绍Linux ,小编使用的Centos7jdk tomcat原创 2017-08-05 21:55:00 · 848 阅读 · 10 评论 -
【Solr】深入浅出Solr(一)——搜索系统介绍
一、前言 为什么要写这篇博客呢? 我们都知道,我们遇到不会的东西都会查百度,查谷歌。他是一个搜索引擎,这个搜索引擎非常的强大,根据搜索关键字进行查询。退一步来说,我们都在淘宝和京东买过东西,这些互联网网站也自带了搜索系统,对用户搜索的字段进行很迅速的查询。 所以,要搞清楚京东或者百度他们的所有机制是什么样的?就是这篇博客的重点。二、搜索系统的特点 小编总结了一原创 2017-08-05 09:51:21 · 2360 阅读 · 10 评论 -
【Redis】深入浅出Redis(三)——在项目中使用Jedis对Redis操作
一、前言 在前几篇博客中小编向大家介绍了搭建单机版和集群版的redis。虽然集群搭建起来了,但是如何在项目中使用呢?在这篇博客中,小编向大家介绍Jedis,用Jedis来对Redis进行增加、删除、设置有效时间等操作。二、什么是Jedis? 使用Jedis连接redis服务器,Java客户端在github上start最高的是Jedis和Redisson。Jedis提供了完整Red原创 2017-08-02 11:52:47 · 3873 阅读 · 13 评论 -
【Redis】深入浅出Redis(二)——集群搭建
一、前言 既然用到了分布式系统,随着系统的变大,就不得不考虑搭建redis集群,集群也算是比较好搭建的,redis内部采用了投票机制,下面小编就从原理和搭建方面想大家介绍一下Redis集群。二、与单机版相比,优点在哪里? 生成过程中,Redis集群,有以下好处:容错性 单机就一个server,如果这个server宕机,系统就不能正常运行了。集群就解决了这种单点问题。原创 2017-08-02 10:53:54 · 890 阅读 · 2 评论 -
【SpringMVC】返回Json数据乱码问题
一、前言 在前面的文章中,小编曾介绍过java在编程的过程中数据乱码的问题。大部分情况是由于数据的格式不对应,最近接手的项目中,使用的是springmvc,同样也出现了乱码的问题。二、情况介绍springmvc 返回json三、具体情况 如果不做设置的话,返回的信息如下: 可以看出,返回的数据中是乱码的,其中的中文都为??,清楚的判断出代码出格式不同的。原创 2017-07-24 11:48:39 · 6111 阅读 · 20 评论 -
【java】SSM框架搭建(二)——项目整合
一、前言 在上一篇博客中,小编向大家介绍了idea搭建聚合工程,然后搭建一个下图的工程结构。 搭建完的工程如下:二、pom文件引入 在这里小编向大家说明一下,pom中引入我们需要的jar包的坐标,通过maven管理jar。 SSM需要的基本maven结构,小编整理如下: 最基本的我们用到了mybatis + spring+ springmvc。除了这原创 2017-10-24 20:49:17 · 1551 阅读 · 8 评论 -
【java】SSM架构改造为dubbo分布式架构
一、前言 在前一篇博客中,小编向大家介绍了《使用idea搭建SSM框架》,如果按照小编的步骤做下来,基本上是没有问题的。但是这个只是一个简单的SSM架构,在上线的项目中,这种架构只能满足一些用户量比较小的项目,随着项目的做大,我们就需要使用分布式来增加项目的效率。这里小编就使用Dubbo这种流动计算架构。 具体dubbo的介绍和环境搭建,小编已经在《【Java】Dubbo+zo原创 2017-11-02 10:50:36 · 3061 阅读 · 8 评论 -
【分布式事务】GitHub上分布式事务框架压测性能对比
一、前言      随着项目逐步以微服务开发为趋势,逐渐呈现一个服务对应一个数据库。从中产生了分布式事务的问题:一个操作先后调用不同的服务,要保证服务间的事务一致性,这就是分布式事务解决的问题。     &am原创 2018-10-31 15:41:42 · 26729 阅读 · 3 评论 -
Idea中打印出main、for循环、System.out.println()等快捷键
1、在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可2、在方法体内部有for循环,在IntellJ中是输入fori,然后会有一个提示,选中需要的for循环即可3、System.out.println();在IntellJ中是输入sout原创 2018-03-12 13:52:47 · 15860 阅读 · 11 评论 -
【Spring】每个程序员都使用Spring(一)——什么是Spring
一、前言从这篇博客开始,小编就向大家分享spring相关的知识,可以说,做过java开发的,没有不接触spring的。spring使用也是非常方便的。在网上也有很多关于spring的资料,从2003年起,spring创建到现在spring 5 ,越来越完善,越来越好用。从xml配置到注解配置,代码越来越简单。下面小编就向大家分享spring的相关系列。二、s...原创 2018-01-18 10:25:04 · 12049 阅读 · 15 评论 -
【Spring Boot】实战Spring Boot(一)——Spring Boot是什么?什么时候用?
一、前言 今年比较火的可以说是Spring Boot了。 用了Spring Boot,就不用配置Spring的xml配置文件啦~~~~。从此告别applicationContext*.xml。 Spring Boot提供了一种新的编程范式,能在最小的阻力下开发Spring应用程序。有了它, 你可以更加敏捷地开发Spring应用程序,专注于应用程序的功能,不用在Sprin原创 2017-12-30 15:19:28 · 13364 阅读 · 13 评论 -
【分布式事务】使用atomikos+jta解决分布式事务问题
一、前言 分布式事务,这个问题困惑了小编很久,在3个月之前,就间断性的研究分布式事务。从MQ方面,数据库事务方面,jta方面。近期终于成功了,使用JTA解决了分布式事务问题。先写一下心得,后面的二级提交也会在研究。二、介绍分布式事务 说到分布式事务,可以理解为,由于分布式而引起的事务不一致的问题。随着项目做大,模块拆分,数据库拆分。一次包含增删改操作数据原创 2018-01-22 17:26:52 · 24946 阅读 · 27 评论 -
【Docker】容器技术黑马Docker(一)——了解容器技术,了解Docker
一、前言 说到容器,小编最先接触的容器还是tomcat这些web容器,感觉容器就是把应用程序装进去,应用程序在容器中运行,我们可以通过访问容器暴露的端口来访问容器中的应用程序。 再说到容器技术,这个就厉害了。 这里小编就重点介绍一下容器技术的发展以及容器技术的黑马Docker。二、容器技术发展 小编觉得这张图非常棒,涵盖了容器技术的演变。 容器技术最早可以追溯原创 2017-12-25 20:42:44 · 12133 阅读 · 14 评论 -
【Spring Boot】实战Spring Boot(二)——Hello World 小试牛刀
一、前言 在上一篇博客,小编向大家介绍了SpringBoot是什么,在上面时候使用。但是空洞的理论的开始总会有一个hello world 的小程序开始,在这篇博客中,小编就向大家介绍一下使用SpringBoot完成一个Hello world程序。二、环境准备一款不错的IDE : Eclipse、Idea Intellij (力荐)maven3.0+三、简单演示3.1 使用Sprin原创 2017-12-30 19:19:28 · 835 阅读 · 12 评论 -
【MQ】ActiveMQ(一)——介绍和安装
一、前言 最近的一个项目中,根据技术选型等方面,选择了ActiveMQ,项目中,通过Spring管理的ActiveMQ,然后在各个服务中使用。下面小编就向大家介绍一下ActiveMQ的安装和使用,非常简单。二、什么是ActiveMQ? 首先呢,ActiveMQ是Apache的产品。当前非常实用的一款MQ产品。它完全支持JMS1.1 和J2EE1.4规范。在前文中小编向大家介绍了R原创 2017-11-12 21:33:07 · 1444 阅读 · 5 评论 -
【MQ】ActiveMQ(三)——spring管理ActiveMQ,实现发送和接收效果
一、前言 在前一篇博客中,小编向大家简单的介绍了一下ActiveMQ的消息处理方式,包括了点对点,发布订阅两种模式。写向大家展示了一下如何使用,但是在真正开发的时候我们是不会写那么一大片代码,从建立连接工厂,再由连接工厂创建连接对象,连接对象打开连接,连接对象然后创建session,session创建目的地,用于连接数据。 这个过程是比较复杂的,在开发的时候一般我们会使用Spri原创 2017-11-17 16:24:49 · 4373 阅读 · 49 评论 -
【SSO】单点登录系统实现
一、前言 小编在前一篇博客中向大家介绍了使用单点登录的演变过程,最后一步的时候小编向大家展示了分布式架构。其中就用到了单点登录系统。这篇博客继续接上一篇博客,实现一下单点登录系统。二、环境准备EclipseRedis三、单点登录流程图 这个是简单的单点登录流程图,就那淘宝来说,当我们进步淘宝首页的时候是没有登录的,点击登录的时候,会跳转到用户登录界面。此时的用户登录界面就是原创 2017-08-01 07:24:08 · 18279 阅读 · 68 评论 -
【SSO】单点登录系统介绍
一、前言 对于一个开发项目来说,每个项目都必不可少要有登录的这个功能。但是随着项目的变大,变大,再变大。系统可能会被拆分成多个小系统,咱们就拿支付宝和淘宝来说,咱们在淘宝上购物,然后就可以直接连接到自己的支付宝,这个过程不需要我们再次登录系统,自动就完成了跳转。这个操作就是小编这次向大家介绍的——单点登录。二、什么是单点登录? SSO英文全称Single Sign原创 2017-07-31 10:07:16 · 7382 阅读 · 20 评论 -
【Mybatis】深入浅出Mybatis(四)——入门程序(查询)
一、前言 前一篇博客向大家介绍了Mybatis的环境搭建,深入浅出Mybatis(三)——环境搭建,在这篇我们就开始通过一个例子来用Mybatis来进行数据库的增删改查。二、需求 咱们要对数据库进行操纵,得有一个需求,所以拟定了一个下面的需求,实现下面的功能:根据用户id查询一个用户信息根据用户名称模糊查询用户信息列表添加用户更新用户删除用户三、程序编写3.1 建立Use原创 2017-03-08 15:59:06 · 804 阅读 · 9 评论 -
【Mybatis】深入浅出Mybatis(三)——环境搭建
一、前言 前一篇博客向大家介绍了Mybatis的架构——【Mybatis】深入浅出Mybatis(二)——Mybatis的框架,在这篇我们就开始通过一个例子来搭建一下Mybatis的环境。二、环境要求mybatis-3.2.7.jareclipsemysql数据库mysql数据库驱动,mysql-connector-java-5.1.7-bin.jar原创 2017-03-08 14:13:55 · 1011 阅读 · 7 评论 -
【Mybatis】深入浅出Mybatis(二)——Mybatis的框架
一、前言 从这篇博客开始,就正式介绍一下我们的Mybatis,他是一个什么东西,为什么叫做框架?为什么会有很多人使用他?他的灵活的地方体现在哪里?伴随着这些疑问,在下面的博客中找到自己的答案吧。二、什么是Mybatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c原创 2017-03-08 11:06:27 · 1216 阅读 · 10 评论 -
【java】在线支付
一、前言 最近小编的项目中涉及到了在线支付的功能,刚开始的时候自然一想这个就需要调用各个官方银行的支付接口,自己也没有深入的想,后来发现这个过程这样可以实现,后来在学习过程中有了新的认识——使用第三方支付公司。下面小编就向大家介绍一下:二、支付分类三、支付流程分析浏览器重定向:付款成功后,网银重定向到第三方支付公司,第三方支付公司再重定向到网站服务器点对点通讯:网银通知第三方支付公司,原创 2016-12-09 18:36:48 · 1485 阅读 · 18 评论 -
【SSH】Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??,tomcat启动失败
出现以上的问题不要紧张,这个问题主要的原因是:tomcat的8080端口被占用了。解决的步骤方法如下:第一种方法:查看端口。 1.开始-运行-输入cmd-netstat -ano-回车-查到8080端口的PID (linux下netstat -anp | grep :8080) 2.通过Ctrl+Alt+Delete快捷键打开Windows任务管理器-查看-选择列-勾选PID(进程标原创 2016-09-21 18:00:01 · 7527 阅读 · 35 评论 -
【NuGet】NuGet发布原创源程序
一、前言 这些天做项目,项目整体的思想是面向接口的开发。这种开发方式的确很灵活,但是往往也存在一些问题,比如,接口更新问题 等。既然是面向接口的开发,就要把接口放到一个大家都可以使用的平台上,这里小编用的是Nuget服务器,把写好的类库发布到Nuget上,供大家下载使用。 下面小编就手把手教大家如何发布Nuget。二、NuGet简介 Nuget是一个.NET平台下的开源的原创 2016-09-16 21:20:51 · 2135 阅读 · 69 评论 -
【EF系列】CodeFirst代码优先
一、前言 前文中介绍了ModelFirst,他是先自己做好实体模型,然后生成数据库。现在小编给大家再介绍一种——CodeFirst,代码优先。二、内容介绍 Code First 这种方式需要先写一些代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象。但其实这种方法与Model First是非常类似的。我们自己写的代码,其实就是用代码表示实体模型,而Model原创 2016-05-18 15:14:10 · 10029 阅读 · 35 评论 -
【EF系列】EntityFrameWork实体关系映射
一、前言 在我们搭建框架的时候,总会建立一个”实体层“,这个实体层中的“实体”是和数据库中的“表”相对应的。当写实体层的时候就要我们手动写很多结构相似的代码。非常的繁琐。为此,小编向大家推荐一种机构——EntityFrameWork,简称EF。二、ORM 在介绍EF之前,小编要给大家介绍一下它的父亲——Object Relational Mapping,简称ORM,对象关系映射。原创 2016-05-17 20:42:29 · 6119 阅读 · 21 评论 -
【EF系列】ModelFirst实体优先
一、前言 在前文中我们介绍了DBFirst,它要求要现有数据库, 然后通过EF映射创建实体。非常简单易学。下面给大家介绍另外一种——ModelFirst,实体优先。二、内容介绍 Model First 是先利用某些工具(如VS的EF设计器)设计出可视化的实体数据模型及他们之间的关系,然后再根据这些实体、关系去生成数据库对象及相关代码文件。 通过实战演练来更好的展示:原创 2016-05-18 10:55:56 · 8697 阅读 · 22 评论 -
【EF系列】DBFirst数据库优先
一、前言 在前文中我们介绍了ORM,EF映射。其中EF映射有三种实现方法,这里小编就从最简单的给大家讲起——DSFirst。二、内容介绍 DBFirst,从字面理解就是“数据库优先”。要先有数据库再有实体模型,所以前提是已经创建好了数据库。 具体看下面的实例.三、实战演练首先打开VS2012 ,选择控制台程序:原创 2016-05-18 08:09:22 · 6488 阅读 · 20 评论 -
【MVC】深入浅出MVC(一)——MVC是什么?
一、前言 最近在做图书馆管理系统,是一个BS的系统,这个系统的基本结构是ASP.NET MVC,EF框架,Jquery EasyUI,Log4Net,VSS,微软T4模版。前几天介绍了EF框架,现在小编向大家介绍一下MVC。二、内容介绍 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩原创 2016-06-04 11:48:17 · 2164 阅读 · 24 评论 -
【Mybatis】深入浅出Mybatis(五)——入门程序(增删改)
一、前言 前一篇博客向大家介绍了Mybatis的添加操作,深入浅出Mybatis(四)——入门程序(查询),咱们继续跟进步伐,完成增删改操作。二、添加2.0 添加需求 在开始做之前呢?我们还是要看一下我们的需求:添加用户,返回添加的用户信息,包括(id,address,sex,username,birthday)2.1 在User.xml添加insert的sql语句原创 2017-03-08 19:27:18 · 710 阅读 · 5 评论