自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA技术问题汇总

此贴是我转载技术问题博客的地方, 方便以后查找所用; 大家要是需要也可以来看看:JAVA基础Java相对/绝对路劲路径读取文件网络基础VPN工作原理SpringBoot @Async 异步调用 springboot/Quartz定时任务...

2018-03-28 09:07:39 887

原创 Motan集成Springboot机制源码简析

其实RPC框架的实现,说难也难说简单也简单。难的是你的设计将如何面对实际中的复杂应用场景;简单的是其思想可以仅仅浓缩成一行方法调用。这篇文章,我们只是讲了Motan如何集成到Springboot的。但是还有很多RPC框架实现难点,我们并没有说明。如:HA,路由,熔断,序列化等。但只要我们知道了设计思路,都可以从源码中清晰的看到别人如何实现的。

2024-01-05 17:59:47 457

原创 Sprinboot启动流程源码简析,每行都有功能注释

整个源码阅读,大概花费了两个下午的时间,我这边也只是挑选了自己源码阅读过程中,觉得重要的部分,事实上并未能完全写明所有判断和功能。大家可以参照阅读。

2024-01-04 17:30:33 472 3

原创 RocketMq 源码解读-Broker(1)

这边源码分支为release-4.2.0。

2023-06-15 18:19:31 1006

原创 Kafka消费者提交偏移量?再均衡?你了解多少?收藏一下这篇思维导图吧!

hello,小伙伴们。相信很多小伙伴们在学习或者使用Kafka的时候, 常常被一个叫做偏移量的东西整的迷迷糊糊的一头雾水。我们今天就来仔细地梳理一下关于这部分的知识。这篇文章,分为四部分,介绍消费者群组、消费者属性配置、偏移量提交方案(重点)、再均衡方案(重点)。话不多说,我们从消费者开始聊起。消费者和消费者群组关于消费者群组,面试官常常问一个问题:如何增加Kafka消费者的消费能力。挖坑警告!!!很多小伙伴就会回答道:在消费者群组中增加消费者的数量。 恐怕可以直接领取回家等候通知体验卡一张了。

2020-05-29 15:53:28 1000

原创 又被问到Kafka啦?一起来整理思维导图吧!

最近在对照 <Kafka 权威指南> 这本书, 整理kafka 的一些细枝末叶. 随着文章发布, 也会逐步完善一份思维导图.详见文章的最后.1 创建Kafka生产者首先要创建一个生产者对象, 并设置一些属性. Kafka 生产者有3个必选的属性, 分别为bootstraps.servers # broker的地址清单,清单里不需要提供所有broker的地址, 生产者会从给定的broker 中查找 其他的broker信息.key.serializervalue.serializer

2020-05-28 20:53:44 401 1

原创 了解Java中的自旋锁, 轻量锁, 重量锁(看不懂找我)

闲来整理下, 都是自己理解的东西, 可能不是全然正确, 和大家一起探讨.了解sychronize锁定了什么了解这三种锁, 先要从synchronize关键字说起.sychronize其实最终锁定的是对象. 不过 synchronize 加在 方法上, 代码块上, 静态代码块上. 加在这三个地方, 锁定的对象是不一样的.synchronize修饰锁定对象方法锁定的是调用者...

2020-03-18 18:37:57 1739

原创 Nginx基础入门

工作中要写一些React, 在打包部署的过程中,接触到了Nginx. 这两天花了点时间了解了一下, 做一下沉淀.Nginx 常见面试题:1. 如何保证Nginx的高可用?利用keepalived 监控主备nginx, 并创建虚拟ip (vip)供外部访问, 当master nginx 挂掉之后, 虚拟ip就会浮动到另一台backup 上. 详解地址:http://www.uml.org.c...

2019-08-01 21:36:23 138

原创 通用String工具类

总结了项目中用到的stringUtils, 一些常见的功能都有, 当然,驼峰转换,大家也可用用guava的包,欢迎小伙伴们在留言栏,留言新功能package com.zheng.common.util;import org.apache.commons.lang.StringUtils;import java.util.regex.Matcher;import java.uti...

2019-04-03 13:04:41 384

原创 java自定义范围比较器

sss@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会...

2019-04-01 11:26:44 592

原创 《java机器学习》第三章:分类、回归和聚类基于weka实现的demo

第三章主要利用weka 做了几个简单的demo,我会按照书上的介绍,尽可能实践一遍。首先贴一下我用的weka的maven坐标:<dependency> <groupId>nz.ac.waikato.cms.weka</groupId> <artifactId>weka-dev</artifactId> <...

2019-03-31 14:27:52 786

原创 《java机器学习》第二章:面向机器学习的java库与平台

第一章简单介绍了机器学习中的一些基础概念,和常见名词解析。第二章会介绍一些用于java学习的库与框架。2.2 机器学习库2.2.1 wekaWeka是一个通用库,能够完成各种机器学习的任务,比如:分类,回归,聚类,其特色是拥有丰富的用户界面, 命令行界面和javaApi,更多内容可以点击官网。2.2.2 Java-MLJava-ML是有一系列机器学习算法组成,对同种类型的算法提供通用...

2019-03-31 11:46:54 339

原创 《java机器学习》第一章: 小白入门 名词解释

前言:心心念念想入门机器学习,正好在最近工作中接触到了大数据相关的东西,以后可能还要用到机器学习,所以从现在开始准备吧!第一章 机器学习应用快速入门1.1.1 机器学习主要方法分类监督学习:产生一个通用的映射函数f,使得每个输入都有明确的输出。学习算法通过学习所有带“正常”或“可疑”标签的数据进行学习,最终产生和一个决策模型,对未见过的交易打标记。无监督学习:给定数据没有结果标签,主要...

2019-03-30 14:05:36 582

原创 JdbcTemplate的通用BaseDao

在实现一个小项目的时候, 通常会使用jdbcTemplate来作为数据库连接, 记录下项目中所用的baseDao代码块, 以后直接可引用. 这个例子是在spring 项目中的应用, 由spring框架帮我们实例化,并管理JdbcTemplate, 如果是在基本的maven 项目中, 直接手动配置JdbcTemplate的参数就行.import javax.sql.DataSource;i...

2019-03-10 10:28:57 1204

原创 Jpa框架下拼接原生sql 并执行

利用jpa的entityManager 执行sql 并执行其中:EntityManager.createNativeQuery(SQL)返回的是Object对象entityManager.createNativeQuery(SQL,WebInfo.class)返回的是映射后的实例对象Query.getSingleResult() 执行SQL语句,返回一个查询结果,常用的还有以下方法Que...

2018-11-24 16:29:59 16783 5

原创 RocketMq踩坑实录(2)---connect to XXXX:10909 failed

就是启动好nameServer和Broker之后, 启动生产者会报这样的错误,但是官网上并没有解决这个问题的办法.多方查找资料后发现,主要有两个解决办法: a. 一个是说,在代码里设置不走vip通道,但是我这边没有生效 b. 第二个方法,修改brok.conf 我这边添加了两行配置: 据说这个问题的原因是因为虚拟机的多网卡造成的. 但是启动broker的指令要修改下, 要...

2018-07-15 15:03:22 16153 12

原创 RocketMq搭建教程---踩坑实录(1)

rokcetMq是什么,怎么用,基础概念这边就不详细说了,只记录搭建的时候踩到的坑..希望大家能顺风顺水的搭建rocketMq. ## 具体搭建第一步我们还是首先看官网 ## 1. rocketMq-quick-start官网地址 2. 这边官网给出了两种下载rocketMq的方式,但是只演示了一种,就是现在源码编译安装的这种方法. 我们就按照源码编译安装来讲解. 这边按照...

2018-07-15 14:52:47 513 1

原创 springboot发布外部tomcat步骤和异常处理:java.lang.NoClassDefFoundError: javax/el/ELManager

这两天想用ELK搭一套日志框架,想用tomcat的日志,但是都是springboot项目,就要改成war包,简单记录一下步骤;以及自己踩到的坑.pom添加依赖 主要是因为springboot项目利用的是自己内置的tomcat,这边就是不依赖内置的tomcat,将其编译的作用域设置为provided&lt;!--外置tomcat启动--&gt; &lt;depend...

2018-04-21 10:20:28 20152 10

原创 单例模式和多线程的实例:总结

最近在看 &lt; effective java &gt; 一边看,一遍找源码敲案例,确实有点头疼; 第一章节讲的是对象的创建和销毁 ; 讲了很多关于单例的 内容 . 于是就在想单例和线程的关系. 敲了一段demo .我们通过代码的结果来总结: single domain 类public class SingleTest { private String name ; pri...

2018-04-14 21:09:01 249

原创 git整合

git 合并本地代码到分支本地代码合并到dev分支在local分支提交git add .git commit -m "playbuy"切换到dev分支git checkout devgit pull合并分支git merge local (dev合并到hf分支的话,需要加-noff参数,就是禁止先来先合并策略,也不需要下一步骤git rebase,因为dev和hf属于线...

2018-04-13 09:56:50 325

原创 springboot 中aop的用法

这边简单讲一下springboot中 ; aop的用法. 1. 追根溯源 &amp; 引入jar包 其实我们在spring的框架中,就知道用只要引入aop的相关依赖就可以使用aop的思想来做些事情了 ; springboot 帮我们引入了开箱即用的依赖; spring-boot-starter-aop ; 想要在springboot 中,使用这个功能, 第一步肯定是引入jar 包.&l...

2018-04-08 21:51:48 268

原创 JAVA8 : lambda和Stream 详解

最近出了jdk10; 可是连 java8 都用的不熟练 ; 这边简单介绍一下 java 8 中;我觉得比较有意思的lambda 表达式和流操作。 前期准备 :public class Man { private String id; private String name; private List&lt;Card&gt; cards; //省略ge...

2018-04-01 14:19:22 4692 1

原创 利用docker搭建gitlab;实现git-ci 集成自动化部署

我们这边继续之前的问题; 打算模拟生产中的自动化部署. 这套技术;其实利用的是gitlab CI 的持续集成 ; 关于持续集成这边我就不多讲了; 大家可以看我推荐的微博: GitLab CI持续集成配置方案这边我来讲一下; 如何用docker 在linux 上搭建一个gitlab 仓库.第一步,安装 postgresql containerdocker run --nam...

2018-03-28 12:19:30 2983

原创 docker实际运用流程简单讲解

首先请看一幅图: 这是我在生产中 ; 遇到的应用场景; 简单画了一幅图; 图里面的镜像仓库; 和服务器 对应各位自己的 实际场景. 其他应该不用多做讲解.为什么代码push到镜像仓库; 代码就能自动生成镜像呢? 这边其实可以用两种技术; 一种是Jekins ;还有一种是gitlab-ci 指令; 我在生产中遇到的是 利用 gitlab-ci 指令;后面可能会专门出一期博客来讲解...

2018-03-26 21:48:10 1219

原创 本地调用远程docker;设置dockerAPI

就是说 如何在本地IDEA 上; 通过maven-docker 插件;进行打包;创建镜像;并且能够直接将镜像 发送到远程linux 上. 比如我们在本地IDEA 上 写一个spring boot 应用程序;简单跳转index页面; 我们想用docker 技术进行发布项目; 就可以使用 本文所讲的技术,进行操作.但是实际生产中不是这样的玩法.具体步骤 : 1. ...

2018-03-26 11:15:04 2383

原创 解决docker run报错:172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name...

在网上找了一下原因: 通过分析异常信息,发现是因为在进行原地址到目标地址转换的时候没有在docker主机的iptables规则中找到nat表规则,只有filter表规则。 在filter表上面增加nat表配置规则信息,需要说明的是docker容器的网段是172.17.0.0/16,另外需要注意filter表中也要有docker链的相关配置。其实是因为docker 要开启新的一个...

2018-03-24 21:01:47 8873 1

原创 VMware11在centos7上安装docker

首先下载好vmware11; 然后可以去centos官网https://www.centos.org/download/下载centos7; 我这边下载的是纯净版 mini 这边随便下载一个就行. 虚拟机上安装centos,如果有同学不熟悉,我推荐一篇微博:https://blog.csdn.net/linking530/article/details/52442212 ; 这边要注意的是...

2018-03-23 13:14:16 447

原创 ==和equals的区别

最近有个朋友问我==和equals的区别,我顺便总结一下. 我在网上找了一个及其直观的图: 这边还要说明一点就是,如果子类没有复写Object的equals方法,那么利用的就是Object的equals方法,而Object的equals方法,通过查看源码: 比较的是地址值! public boolean equals(Object obj) { return (...

2018-02-14 11:38:06 115

原创 Spring(一)---IOC思想

引言当下最火的框架,莫不是Spring全家桶了,而Spring框架在业务层有两个非常重要的思想,IOC和AOP. 这边,我先记录下我对Spring框架IOC的一些理解.简单介绍老规矩,看一下百度百科.其实说明白了 ,就是通过配置,将以前手动new对象的实例化过程,交给Spring 框架.当项目启动的时候,Spring框架中的,管理所有Bean的Spring容器会启动,帮我们自动...

2018-02-09 12:13:22 229

原创 dubbo笔记

前言大家在项目中或许已经开始接触分布式的服务了,我在这里总结一下自己用到的一个分布式服务框架,Dubbo.Dubbo简单概述1. 是什么?划重点:高性能和透明化的RPC远程服务调用方案.2. 有什么用上面提到了RPC,那么我们来看看什么是RPC. 简单来说:RPC就是让你的程序像调用自己项目中方法一样去远程调用其它程序中的方法。这边顺便总结一下我们平时

2018-02-07 22:01:48 215 2

原创 程序猿的浪漫----词云(Java版)

引言今天是2月7号,还有一周就是情人节了,如果各位猿们有心仪的程序媛,又不知道如何表白才能更符合程序员的气质,来来来,教你们一招,利用词云.网上关于python的词云生成还是很多的,但是java的wordcloud少之又少,我在GitHub上找到了个关于java的词云项目,这边和大家分享一下使用方法,以及乱码解决.以下是官方给出的几个效果图: 看着是不是很心动? 来让我们开始

2018-02-07 19:41:29 10902 14

原创 RabbitMQ概述和使用(一)

今天是立春,农历新的一年开始.今天我们开始学习和总结一下RabbitMQ的使用.1. 概述1.1 什么是MQ MQ的底层实现,既可以是JMS的实现,也可以是AMQP的实现。 java message service :sun公司定义一套消息通信规范1.2 什么是AMQP 1.3 什么是JMS1.4 JMS与AMQP的区别总结来说:

2018-02-04 15:31:55 421

原创 基于索引的SQL优化(下)

今天继续我们的sql优化.上次讲了7条,今天再补充几条.8.like子句尽量前端匹配因为like参数使用的非常频繁,因此如果能够对like子句使用索引,将很高的提高查询的效率。 例6:select * from city where name like ‘%S%’ 以上查询的执行计划用了全表扫描(TABLE ACCESS FULL),如果能够修改为: select * from ci

2018-02-01 15:40:21 181

原创 基于索引的sql优化(上)

前言 客服业务受到SQL语句的影响非常大,在规模比较大的局点,往往因为一个小的SQL语句不够优化,导致数据库性能急剧下降,小型机idle所剩无几,应用服务器断连、超时,严重影响业务的正常运行。 数据库的优化方法有很多种,在应用层来说,主要是基于索引的优化。建立必要的索引常用建立索引的规则如下: 1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引;

2018-01-31 15:10:00 261

转载 updateByPrimaryKey与updateByPrimaryKeySelective

在abator中可生成iBatis的代码。其中,Sql_map中带有的两个函数是:updateByPrimaryKeySelectiveupdateByPrimaryKey前者只是更新新的model中不为空的字段。后者则会将为空的字段在数据库中置为NULL。例如:Action Labor labor = new Labor(); labor.setId

2018-01-30 13:37:23 1226

原创 Redis缓存技术(一)

为什么需要缓存 我们发现,当很多网页的首页加载时,需要查询的数据非常多:大广告、小广告、楼层、商品类目信息等等。首页的访问量非常大,如果每次都访问后台接口,查询所有的数据,会大大增加数据加载所需的时间。然而这些信息一般更新的频率比较低,短时间内不会发生改变。 因此,我们可以考虑在前台系统中,增加一层缓存,把这些数据缓存起来,请求到来时,不再查询后台接口,而是直接读取缓存中

2018-01-29 20:35:13 255

原创 Linux基础操作

Linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统Linux组成内核:是系统的心脏,是运行程序和管理像磁盘和打印机等

2018-01-28 11:21:22 126

空空如也

空空如也

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

TA关注的人

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