自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张俊杰 的博客

这个博客是平时给自己学习记录和工作遇到的问题解决啥的碎片化的随便写写的 , 这是我的语雀地址 yuque.com/zjj1994/

  • 博客(516)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

转载 MySQL 派生表(Derived Table)是什么

本文将通过演示告诉你:MySQL 中派生表(Derived Table)是什么?以及 MySQL 对它的优化。Background有如下一张表:mysql> desc city;+------------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+-------------+------+-----

2021-05-10 20:18:26 2

原创 为什么我们必须要不停的学习?--转自中华13的[从 0 开始带你成为消息中间件实战高手]专栏

1、为什么我们必须要不停的学习?相信只要对技术有追求的朋友都会不停地学习,因为技术领域发展非常快速,要想不被淘汰,就得不停学,甚至终身学习,不断迭代更新自己的技术能力。否则有些人虽然做着工程师的工作,但是仅仅满足于完成基本工作任务,那么技术能力会一直停滞不前。最后,当整个行业的技术发展到一定程度时,你若是没跟上这些技术的发展,就会被行业淘汰。举个简单的例子,如果一直以来你在线上生产环境部署时,都是采用的把项目打成一个war包,然后放到线上机器的Tomcat中,再重启Tomcat这种方式。那么当你有一

2021-05-07 22:39:27 2

原创 [Java问题解决] Java String类型字符串去掉空格

去所有的空格,不管前面后面还是字符串中间有空格,都会被去掉.guideCodeValue.replaceAll(" ", “”)

2021-05-07 13:20:34 3

原创 [windowsbug]修改或者移动文件夹的时候提示:提示系统找不到指定位置

应该是误删了注册表,我试着给出一个解决方案:运行-regedit打开注册表然后找到以下路径Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion如果你发现这个路径下没有 CommonFilesDir (x86) 和 CommonFilesDir 这两个注册表文件,就说明是这里的问题解决方法是直接右键新建一个string value, 对文件重命名:CommonFilesDir (x86)CommonFiles

2021-05-06 11:30:59 2

原创 [windows错误]win10关键错误,你的开始菜单出现了问题我们将尝试下一次登录修复它

解决办法:Win+E,在地址栏输入“C:\Windows\System32\WindowsPowerShell\v1.0”找到“powershell.exe”,右键“以管理员身份运行”。输入以下命令,等待命令运行完毕,再重启系统,即可恢复正常。Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “((..

2021-05-06 09:56:56 8

原创 [RocketMQ错]org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <XXXX> failed

(1)描述172.16.74.201是阿里云的内网ip,这样启动的话,外网是访问不到的,我电脑去访问的话,会报如下错误:Exception in thread “main”org.apache.rocketmq.remoting.exception.RemotingConnectException:connect to <172.16.74.201:10911> failed(2)解决修改conf下的配置文件broker.conf,并修改启动命令vi conf/broker.con

2021-05-04 15:40:46 18

原创 Linux 配置Host

编辑 vim /etc/hosts 配置host映射给 zjj101 映射到:10.11.8.101127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.11.8.101 zjj101配置完了不用做别的配置,保存完了就生效了.

2021-05-04 15:02:25 6

原创 [linux错误]-bash: jps: 未找到命令

安装个:yum install java-1.8.0-openjdk-devel.x86_64参考https://blog.csdn.net/longe20111104/article/details/105661533

2021-05-04 13:24:15 6

原创 Linux的 nohup的介绍和简单的使用

nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。nohup 是 no hang up 的缩写,就是不挂断的意思。nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。在缺省情况下该作业的所有输

2021-05-04 13:19:19 3

原创 LinuxCentos7上安装JDK1.8

以 CentOS 为例。切换到 root 账户检查是否已安装过 jdkyum list --installed|grep jdk或者 java  -version 看下能不能执行。如果已安装过但 jdk 版本不符合要求,先 yum  remove 卸载。方式一、从软件源下载安装1、列出可用的 jdkyum list|grep jdk ![](https://img-blog.csdnimg.cn/img_convert/db7c12a46f99c145c6f

2021-05-04 13:12:19 13 1

原创 Linux安装rz上传控件

yum -y install lrzsz

2021-05-04 12:50:38 2

转载 Docker安装rabbitMQ的Demo

1. 拉取镜像# 指定版本,选择带有“mangement”的版本(包含web管理页面)docker pull rabbitmq:management2. 根据下载的镜像创建和启动容器# 方式一:默认guest 用户,密码也是 guestdocker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management# 方式二:设置用户名和密码docker run -d -

2021-05-01 19:14:31 12

原创 Linux修改虚拟主机名字

刚克隆完了,名字可能还是原来的名字,怎么办vi /etc/hostname 直接编辑名字就行了.zjj101是我的名字,如果你想改别的,就把zjj101修改成别的即可hostname文件内容:zjj101.localdomain编辑完了需要重启linux重启命令是 :reboot...

2021-05-01 18:49:48 4

原创 [Mybatis bug] Mybatis打日志功能不生效

mybatis.mapper-locations=classpath*:dao/*.xml#mybatis.type-aliases-package=com.feihe.wxapp.beanmybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl上面配置如果配置完了还不管用,看看用下面的配置 @Bean(name = "guideSqlSessionFactory") @Primary

2021-04-30 15:02:39 5

原创 Java并发之的DelayQueue简单介绍和使用

概念DelayQueue是一个支持延时获取元素的无界阻塞队列。队列使用PriorityQueue来实现。队列中的元素必须实现Delayed接口,在创建元素时可以指定多久才能从队列中获取当前元素。只有在延迟期满时才能从队列中提取元素。队列的头部,是延迟期满后保存时间最长的delay元素,是最接近过期的元素。没有过期元素的话,使用poll()方法会返回null值使用场景DelayQueue非常有用,可以将DelayQueue运用在以下应用场景。缓存系统的设计:可以用DelayQueue保存缓存元素的

2021-04-22 12:36:03 13

原创 Java校验字符串是否包含空格

亲测有效.String s ="hello world";if (s.contains(" ")){System.out.println("有空格");}

2021-04-22 10:12:33 29

原创 Mybatis in查询用foreach

dap接口:/** * 查询导购和导购的片区 */ List<GuideNameAndRegionIdListDTO> queryGuideNameAndRegionIdListByGuideId(@Param("list") ArrayList<UploadGDNaturalSalesDTO> list);xml文件: <!--查询导购和导购的片区 --> <select id="queryGuideNameAndRegionIdLis

2021-04-21 16:32:18 23

原创 RocketMQ可靠异步发送代码

import org.apache.rocketmq.client.exception.MQClientException;import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.client.producer.SendCallback;import org.apache.rocketmq.client.producer.SendResult;import org.apache..

2021-04-11 16:41:02 17

原创 RocketMQ可靠同步发送代码

import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.client.producer.SendResult;import org.apache.rocketmq.common.message.Message;import org.apache.rocketmq.remoting.common.RemotingHelper;/** * 同步发送 */public clas.

2021-04-11 16:24:35 14

原创 RocketMQ单向发送demo

import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.common.message.Message;import org.apache.rocketmq.remoting.common.RemotingHelper;/** * 单向发送 */public class OnewayProducer { public static void main(String[] ar.

2021-04-11 16:12:43 12

原创 RocketMQ之rocketmq-console可视化插件安装

1.下载项目git地址 https://github.com/apache/rocketmq-externals码云地址 https://gitee.com/mirrors/RocketMQ-Externals2.修改配置进入 RocketMQ-Externals\rocketmq-console\src\main\resources 中打开 application.properties由于我的是本地windows开发搭建,所以直接填写了本地路径3.编辑项目进入 RocketM

2021-04-11 15:05:39 14

原创 安装启动RocketMQ单机版demo

安装前准备运行前确保:已经有jdk1.8记得Linux上修改文件权限:命令如下:chmod -R 777 /home/linux这里准备的是rocketmq-all-4.4.0-bin-release.zip 安装包给安装包放到 /root/soft 目录下面 解压.如果不会解压zip文件看这里:https://blog.csdn.net/qq_41489540/article/details/109239989配置环境变量修改"/etc/profile"文件#设置rocketmq环境

2021-04-11 14:59:51 12

转载 windows一键启动多程序个程序

需求场景:办公与编程时,启动软件,一个一个手动来双击打开,太累!怎么办?开始我们的一键启动多个程序。时间就是生命!新建一个记事本先建一个空的记事本,想想需要一键启动哪些程序,我们举例,想一次性打开IDEA和Google浏览器。选择要打开程序的快捷方式或.exe位置找到要打开IDEA的图标,鼠标右键—属性—目标,然后选中,再复制粘贴到记事本中,包括双引号(英文下的双引号),其他程序,同样的方法复制目标路径到记事本中完成记事本编辑ok,现在继续编辑一下记事本里面的内容即可,在每句前面加上 star

2021-04-11 14:54:14 13

原创 [RocketMQ错误]Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <

错误Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <172.17.0.1:10909> failed解决方案这是由于跨域造成的:修改服务器中broker的配置,添加服务器IP(公网)即可vim /home/prod/rocketmq-all-4.3.0/distribution/target/apache-rocketmq/conf/broker.conf新

2021-04-11 14:25:47 14

转载 [错误]请使用 -source 7 或更高版本以启用 diamond 运算符

我每次创建一个maven工程,都报错Error : java 不支持发行版本5 或者是 Error:java: 不再支持源选项 5。请使用 6 或更高版本。实在忍受不了,这里写篇文章记录一下,不想每次都上网搜解决办法了。(1)首先,点settings,然后找到图中目录,这里的_target bytecode version_和_project bytecode version_都换成你的jdk版本,我的是11(2)在settings里搜maven,把这部分设置成图里这样,具体maven的那几个路径

2021-04-10 20:35:14 12

原创 windows的ip网段变了之后桥接模式修改配置让centos7连接宿主机

背景我原来的公司ip网段和现在公司的ip网段不一样,之前配置的网络肯定是不能和宿主机互相通讯的,我需要修改一下配置.我之前已经是配置好了桥接模式能宿主机和linux互相ping通,现在只需要修改一下配置就可以了…查看windows本机的ip输入 ipconfig 命令查看,然后自己ping自己一下.修改Linux的ipcd /etc/sysconfig/network-scripts/ifcfg-eth0vim ifcfg-ens33[root@zjj101 ~]# cd /etc/s

2021-04-08 18:54:25 25 2

原创 bat脚本用默认浏览器打开指定网站

打开百度.@echo offfor /f "tokens=3,4" %%a in ('"reg query HKEY_CLASSES_ROOT\http\shell\open\command"') do (set SoftWareRoot=%%a %%b)start "" % SoftWareRoot % "https://www.baidu.com"

2021-04-08 13:48:55 44

原创 写个bat脚本一键提交代码到git上

双击一下就能给当前目录直接提交到码云上.bat脚本代码@echo off:: 获取当前脚本的路径cd /d %~dp0:: 自动提交git init git add . git commit -m "bat批处理自动推送:%date:~0,10%,%time:~0,8%" :: git commit -m "%commitMessage%" git push origin master@echo 已经完成,SET daoTime=60:daoset /a daoTim.

2021-04-08 13:41:58 22

原创 JVM七种垃圾回收器

什么是垃圾回收器如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。虽然我们对各个收集器进行比较,但并非要挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现,更加没有万能的垃圾收集器,我们能做的就是根据具体应用场景选择适合自己的垃圾收集器。试想一下:如果有一种四海之内、任何场景下都适用的完美收集器存在,那么我们的 HotSpot 虚拟机就不会实现那么多不同的垃圾收集器了。在JVM中间一般来说垃圾回收器不单单是一个算法,也就是说在JVM垃圾回收器中可能多种算法都有用到

2021-04-07 20:07:19 14

原创 JVM垃圾回收算法

(一)垃圾回收算法新生代基本都会采用复制算法老年代一般会采用标记清除算法和标记整理算法1.对象内存分配流程图2.复制算法(Copying)将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。这样使得每次都是对整个半区进行内存回收,内存分配时也就不用考虑内存碎片等复杂情况,只要按顺序分配内存即可,实现简单,运行高效。只是这种算法的代价是将内存缩小为了原来的一半。注意:内存移动是必须实打实的

2021-04-07 20:04:35 5

原创 JVM类加载器和双亲委派模型

在介绍双亲委派模型之前先说下类加载器。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立在 JVM 中的唯一性,每一个类加载器,都有一个独立的类名称空间。类加载器就是根据指定全限定名称将 class 文件加载到 JVM 内存,然后再转化为 class  对象。类加载器分类启动类加载器BootstrapClassLoader,启动类加载器主要加载的是JVM自身需要的类,这个类加载使用C++语言实现的,是虚拟机自身的一部分,负责加载存放在 JDK\jre\lib(JDK代表

2021-04-07 19:58:37 3

原创 JVM类加载的几个过程

这是类加载的过程,加载的类是放到了 JVM 的元数据空间,也就是永久代。• 加载:根据查找路径找到相应的 class 文件然后导入;• 检查:检查加载的 class 文件的正确性;• 准备:给类中的静态变量分配内存空间;• 解析:虚拟机将常量池中的符号引用替换成直接引用的过程。符号引用就理解为一个标示,而在直接引用直接指向内存中的地址;• 初始化:对静态变量和静态代码块执行初始化工作。概述通过全限定名来加载生成 class 对象到内存中,然后进行验证这个 class 文件,包括文件格式校验、

2021-04-07 19:56:20 9

原创 JVM类加载机制

概念虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的 java 类型,这就是类加载机制.类加载器把class文件中的二进制数据读入到内存中,存放在方法区,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类加载的几个过程https://www.yuque.com/docs/share/5cc4ef4a-0769-4f0d-ba3e-16dd30405147?# 《JVM类加载的几个过程》特点:1

2021-04-07 19:55:32 7

原创 TortoiseGit第一次从GitLib上拉取代码

使用http克隆方式复制这个路径鼠标右键打开TortoiseGit在需要放代码的文件夹右键输入项目地址确认路径是否正确第一次拉代码输入账号密码如果你是第一次从这个电脑上拉代码的话,需要输入GitLib的账号密码,如果你不是第一次在这个电脑拉代码的话,就不需要输入下面这个账号密码点击确定之后等待拉代码...

2021-04-06 17:46:07 19

原创 Redis的线程模型 IO多路复用

redis是基于reactor模式开发的网络事件处理器,这个处理器叫做文件事件处理器,file event handler.这个文件事件处理器是单线程的,所以redis才叫单线程模型,采用IO多路复用技术同时监听多个socket,根据socket上的事件来选择对应的事件处理器来处理事件.①.在Redis启动及初始化的时候,Redis会(预先)将连接应答处理器跟"AE_READABLE"事件关联起来,接着如果一个客户端向Redis发起连接,此时就会产生一个"AE_READABLE"事件,然后由连接应答处理

2021-03-31 12:10:33 23

原创 JVM类加载的几个过程

这是类加载的过程,加载的类是放到了JVM的元数据空间,也就是永久代。• 加载:根据查找路径找到相应的 class 文件然后导入;• 检查:检查加载的 class 文件的正确性;• 准备:给类中的静态变量分配内存空间;• 解析:虚拟机将常量池中的符号引用替换成直接引用的过程。符号引用就理解为一个标示,而在直接引用直接指向内存中的地址;• 初始化:对静态变量和静态代码块执行初始化工作。概述通过全限定名来加载生成 class 对象到内存中,然后进行验证这个 class 文件,包括文件格式校验、元

2021-03-29 10:17:40 23

原创 Java虚拟机内存结构

Java虚拟机内存结构不同虚拟机的运行时数据区可能略微有所不同,但都会遵从 Java 虚拟机规范, Java 虚拟机规范规定的区域分为以下 5 个部分:方法区 程序计数器 虚拟机栈 本地方法栈 堆各个区的作用程序计数器指向当前线程正在执行的字节码指令。线程私有的。内存空间小,该内存区域是唯一一个java虚拟机规范没有规定任何OOM情况的区域。一个线程的执行,是通过字节码解释器改变当前线程的计数器的值,来获取下一条需要执行的字节码指令,从而确保线程的正确执行。为什么需要程序计数器 ?参考:h

2021-03-28 17:58:16 14

原创 Elasticsearch集群扩容,垂直扩容还是水平扩容

垂直扩容和水平扩容介绍垂直扩容:所谓的垂直扩容就是升级服务器,买性能更好的,更贵的然后替换原来的服务器,这种扩容方式不推荐使用。因为单台服务器的性能总是有瓶颈的。水平扩容:水平扩容也称为横向扩展,很简单就是增加服务器的数量,这种扩容方式可持续性强,将众多普通服务器组织到一起就能形成强大的计算能力。水平扩容 VS 垂直扩容用一句俗语来说再合适不过了:三个臭皮匠赛过诸葛亮。为什么用水平扩容一般的扩容模式分为两种,一种是水平扩容,一种是垂直扩容。假设现在6台服务器,每台服务器容纳1T的数据,马上数据

2021-03-21 23:06:02 94

转载 ElasticSearch集群检查,master选举,扩容缩容

本篇将介绍ES的集群组成、节点发现与Master选举,错误检测与扩缩容相关的内容。ES在处理节点发现与Master选举等方面没有选择Zookeeper等外部组件,而是自己实现的一套,本文会介绍ES的这套机制是如何工作的,存在什么问题。本文的主要内容如下:ES集群构成节点发现Master选举错误检测集群扩缩容ES集群构成首先,一个Elasticsearch集群(下面简称ES集群)是由许多节点(Node)构成的,Node可以有不同的类型,通过以下配置,可以产生四种不同类型的Node:conf

2021-03-21 22:52:23 57

原创 HBase的高可用

概念在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对Hmaster的高可用配置。如果HMaster挂掉的话:1.不能建表修改表了,但是可以在已经存在的表增删改查数据,因为这些操作是RegionServer做的.Region分配也是由HMaster来处理的.如果HMaster挂掉的话,那么Region分配也是无法完成的.

2021-03-19 13:30:30 13

WPS Office.10.1.0.6875(无联网功能)

WPS Office.10.1.0.6875(无联网功能) 这是没有联网功能,单纯就是wps的文本,没有广告,没有登录功能, 绿色版的.压缩后只有80m 还有wps表格功能.我现在就在用,挺好用的比world2016要小巧

2018-03-31

mysql-connector-java-5.1.27.jar

mysql-connector-java-5.1.27-bin.jar jar包, 可以用这个连接MySQL的,, 适合MySQL5 版本的,, 很不错......

2020-10-29

sqoop-1.4.6.bin__hadoop-2.0.4-alpha

sqoop-1.4.6.bin__hadoop-2.0.4-alpha 导入导出工具,, 可以去官网下载, 也可以用这个

2020-10-29

json格式转换工具

可以把json格式的代码转换成,用起来挺不错的.

2018-02-15

ssm整合通用mapper

ssm整合通用mapper,如题,,适合新手去看,如题Spring4 mybatis3 好早以前弄的了, 适合新手看看,

2019-02-11

简单的ajax异步Crud项目

是自己写的简单的异步CRDU 项目,我本人也是一个菜鸟,当时什么都不会,自己写异步写了半天,现在自己写出来了,供新手学习,里面有ajax异步页面, 以及传智封装的分页

2018-05-12

空空如也

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

TA关注的人 TA的粉丝

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