自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux如何运行和停止jar包

标题Linux如何运行和停止jar包 //意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 nohup Java -jar xxxxxx.jar &ctrl + c 退出控制面板,系统不停止查看当前应用所占用端口: //8089是系统启动访问的端口, 由下图可得到9578 是java运行的端口netstat -nlp|grep 8089 然后再用kill命令杀死该进程该博文用于记录。原文转载自:Linux如何运行和停止jar包...

2021-12-13 17:26:42 367

原创 在Linux系统上运行jar包(不需要Docker,Tomcat等容器)解决xxx.jar中没有主清单属性

背景:新建一个maven工程(不是spring boot工程),打成jar包后放在linux系统上,通过java -jar xxx.jar运行。操作:在pom.xml中添加<packaging>jar</packaging>在idea中通过package命令打包将target下生成的jar包拉到linux下,并执行jar包如下:情况1:如果构建的是springboot项目,Main启动类应该在根路径下,打包的时候在pom.xml文件中应该加下面代码,这样在启动jar包

2021-10-15 10:14:27 1071

原创 RocketMQ源码 排查broker无法注册到name server上的一个原因-应正确拿到namesrcAddr

问题背景:从github下载RocketMQ源码根据对RocketMQ原理的理解,结合该篇文章:搭建RocketMQ源码环境 ,在idea中配置好本地运行环境,先启动name server模块,再启动broker模块,因为broker要将一些信息注册到name server上(name server角色相当于微服务中的eureka消息注册中心)。我遇到的一些问题:(1) 我是windows环境,在windows下,环境变量user.home对应的是Desktop的上一层路径,所以我的环境,user

2021-05-30 17:25:55 5947

原创 自己实现一个jar包(starter组件)

首先简单回忆一下springboot是如何将第三方依赖库(jar包)导入项目中的,并通过bean容器管理,实现最终的依赖注入:是通过注解@EnableAutoConfiguration实现的,通过SpringFactoriesLoader 最终扫描jar包下的META-INF/spring.factories文件,将XxxAutoConfiguration的bean装载到bean容器,实现自动配置。自动配置原理详解,点击查看:源码分析pom.xml第三方依赖如何自动配置导入Bean容器SpringFacto

2021-05-17 22:09:22 1604 1

转载 MacOS python3环境安装与配置【转】

原文链接:MAC 下 python3 环境安装和配置mac中有自带到python2.7安装python3.x后,修改默认环境为python3.x修改bash.profile文件,配置python和pip指令默认指向python3.x

2021-01-25 10:41:43 412

原创 一台服务器如何启动多个Tomcat

如果想在一台服务器启动多个Tomcat要保证服务进程的端口不冲突,一个端口对应一个进程。修改Tomcat的配置文件server.xml,修改<Server>标签中的shutdown属性的端口号。而不是<Connector>的端口号,<Connector>的端口号是用来监听http访问的。...

2020-12-18 22:14:49 582 1

原创 shell脚本实现scp远程文件拷贝 zip压缩与tar打包

实现思路:验证当前使用系统的用户,root才可以执行脚本备份操作打印日志需要时间戳信息要备份的文件需要先在本地打包,zip压缩和tar压缩mkdir备份路径,每次保留最新版本脚本执行失败,退出:exit 1$? == 0表示上一条指令执行成功#!/bin/bashuser=`whoami`if [ "$user" != "root" ];then echo "you are not root,su root:" su rootelse echo "check root suc

2020-12-17 11:25:45 785

原创 NIO Buffer与Channel实现文件IO

NIO提供的Channel表示与file或socket唯一关联,可以理解成程序通过Buffer将数据写入channel就表示将数据写入了file或socket,从channel中将数据读入Buffer就表示从file或socket中读取了数据到程序中。BIO是同步阻塞的,NIO是同步非阻塞的,通过将与socket唯一关联的channel注册到Selector,通过select()轮询,实现同步非阻塞。而AIO才是真正异步非阻塞的,异步表示实际的IO操作是由操作系统完成的,而不是程序完成的,操作系统完成..

2020-12-17 11:02:21 246 1

原创 NIO同步非阻塞Selector轮询实现网络socket

NIO同步非阻塞服务器端代码package niodemo.niochat;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.nio.charset.Charset;import java.util.Iterator;import java.util.Set;//如下的代码就实现

2020-12-16 18:19:20 392 1

原创 BIO阻塞的Socket实现一个服务器与多个客户端广播通信

传统的网络IO服务器端:ServerSocekt类,accpet()方法默认是阻塞监听的。所以没、每当监听到一个客户端的socekt连接请求,都开启一个新线程,新建一个socekt进行一对一的与客户端通信。客户端:主动发起Socket连接请求,...

2020-12-16 16:57:37 390

原创 SpringBoot整合MyBatis练习项目

系统简介:该系统主要是学习SpringBoot整合MyBatis练习的一个后台Demo系统,前端略懂皮毛,仅用原生的HTML+CSS+JAVASCRIPT简单写了页面,AJAX实现前后端json格式数据交互,以及页面中神奇的原生append()用法。练习项目,注释详细,供学习参考。涉及技术与系统简要介绍:SpringBoot构建系统Maven做项目管理工具MyBatis做持久层框架MySQL数据库的CRUD,join on 关键查询,模糊查询like concat(),分页查询limitsl

2020-12-14 15:49:35 321

原创 SpringBoot自动配置原理(类路径配置与第三方依赖配置)

**什么是配置?**配置就是一个类需要用到另一个类,要通过实例bean来调用(静态成员可以通过类名调用),传统的实现方式是需要手动new类的实例,但是Spring提供了IoC容器,实现了控制反转,即我们不需要手动new实例,交给IoC容器来实现创建实例,以及依赖注入,所以,配置就是将类的实例bean,注入IoC容器。...

2020-12-10 18:27:43 732

原创 源码分析pom.xml第三方依赖如何自动配置导入Bean容器SpringFactoriesLoader-spring.factories

pom.xml中导入的第三方jar包依赖是如何实现自动注入bean容器的?另一篇文章中提到入口类的@SpringBootApplication注解整合了@EnableAutoConfiguration注解。@EnableAutoConfiguration注解源码如下:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@AutoConfigurationPackage@Impor.

2020-12-10 18:23:07 755 2

原创 解读Tomcat配置文件-一个Tomcat配置多个应用

Tomcat配置文件server.xml中用于应用配置的部分:<Server>中的一个<Service>节点对应一个连接,<Service>节点中包含子标签<Connection>用于配置Tomcat监听连接访问的端口<Host>标签中的appBase表示:要部署的项目资源应放在哪个路径下。appBase的值可以是相对路径或者绝对路径,但必须是Tomcat有权限能访问到的路径。如果在一个Tomcat中部署多个应用,每个应用占用一个端口

2020-12-06 11:05:14 694

原创 Jedis连接服务器上Redis常见错误-java.net.SocketTimeoutException: connect timed out

连接失败/超时可能原因:1. 远程服务器开启了防火墙,并且没有开通redis的访问端口(默认6379)【解决:关闭防护墙,或者开启6379端口的访问权限】【如果是阿里云服务器,需要去控制台开启“入方向”访问规则,开通tcp协议的6379访问权限,具体见另一篇博文】2. Redis开启了保护模式【解决:可以在配置文件redis.conf关闭保护模式:yes改为no】3. bind允许访问的ip是127.0.0.1,只允许本机访问【解决:可以只开通允许访问的ip,也可以改为任意ip都能访问】

2020-12-05 11:59:50 1130

原创 java实现连接ActiveMQ-Topic发布订阅模式

上一篇博文介绍了JMS是什么,JMS架构,基于JMS规范使用ActiveMQ实现的系统之间的通信,P2P模式下生产者与消费者的实现见上一篇博文JMS规范 java实现连接消息中间件ActiveMQ-P2P模式本文实现发布订阅模式(PUB/SUB)即JMS的Destination为Topic的发布者与订阅者PUB/SUB-发布者【与P2P模式的区别就在于Destination由Queue变为了Topic】package activemq_topic;import org.apache.activ

2020-11-30 20:15:30 842

原创 JMS规范 java实现连接消息中间件ActiveMQ-Queue P2P模式

什么是JMS:JMS是javaEE13个规范之一,是通信规范。系统之间进行通信的消息中间件有很多产品,例如ActiveMQ,RocketMQ,Kafka,RabbitMQ等。系统的通信为什么要引入消息中间件:通过消息中间件通信的系统之间可以实现解耦,异步,消锋。JMS规范了通信的规则,即架构。例如java与数据库的连接JDBC,也是遵循了JMS编程规范。JMS规范原理:遵循JMS规范的系统之间的通信有4个角色:生产者,消费者,消息,目的地(队列或者主题)。目的地Destination有两种类型.

2020-11-30 18:15:38 235

原创 本机无法url访问服务器原因问题解决-防火墙及服务器控制台设置

我的情况是本机无法通过url访问阿里云购买的虚机(可以ping通),遇到的原因与解决方法供大家参考:关闭windows的防火墙查看服务器的防火墙是否开启(CentOS7系统)systemctl status firewalld如果防火墙是开启状态,查看防火墙开发的端口firewall-cmd --zone=public --list-ports如果开发的端口不包含所要访问的端口,则需要开放端口,提示success,表示设置成功。firewall-cmd --permanent --zo

2020-11-28 11:17:46 6255 1

原创 Linux CentOS7定时执行Shell脚本-cron服务

Linux的定时执行任务是cron服务实现的。crontab是一个命令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。而crond正是它的守护进程。cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务。写一个要定期执行的shell脚本配置cron服务,实现定期执行任务例如:45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示每月

2020-11-19 17:08:37 5114

原创 Redis五大数据类型使用详解-hash-zset

Redis五大数据类型使用详解-String,请见上一篇博文Redis五大数据类型使用详解-List-Set,请见上一篇博文四. Hash类型hash类型:就是一个map结构,key-value对,类似于java中的Map<String, String>,注意:泛型只能是String。Hash特别适用于存储对象。向hash结构中存元素:指令hset <key> <<field> <value>>,其中,<key>表示key,&l

2020-07-17 19:33:54 411

原创 Redis五大数据类型使用详解-List-Set

[Redis五大数据类型使用详解-String,请见上一篇博文]二. List 类型注意redis中的key只能是字符串类型,value对应有5种类型,但是每个类型中也只能存字符串。例如:”key”: [“aaa”, “bbb”, “ccc”…].从左边/右边插入一个或多个值:指令lpush/rpush <key> <value1> <value2> <value3>...从左边/右边取出一个值:指令lpop/rpop key 从左边取出的是ddd,

2020-07-17 19:12:35 752

原创 Redis五大数据类型使用详解-String

[Redis客户端服务器启动,请见上一篇博文]Redis[key-value]的5种数据类型:String ;set; list; hash; zset。都是值的类型。hash是一个map类型,也有键值。hash类似于java中的Map<String, String>,但注意:redis中hash类型—map的泛型只能是String。hash特别适用于存储对象。。zset是有序的set集合,即有序,不重复,并且是key-value结构。一. String类型指令keys * 查看数据库中所

2020-07-16 22:22:21 305

原创 Redis后台启动[修改配置文件]--16个默认数据库

缓存数据库-redis简介开源的key-value存储系统。value支持5种数据类型,string,list,set,zset(有序集合),hash。支持持久化。 应用场景:配合关系型数据库做高速缓存。好处是在内存中记录高频访问的数据,降低数据库的IO。分布式架构,做session共享。一. redis的启动1.linux上安装redis,默认安装路径:usr/local/bin 相当于window下的环境变量,在任意路径下都可以访问。2.在任意路径下都可以启动,启动redis服务端: redi

2020-07-15 22:33:17 1370

原创 Shell脚本编程常用语法基础(二)

Shell脚本基本语法(二)[Shell脚本基本语法(一),请见上一篇博文]8.流程控制(1) if判断:if [ 条件判断式 ];then 代码fi或者if [ 条件判断式 ]then 代码fi注意:$n表示接收参数;自定义变量尽量用大写;if后有空格;否则如果是elif;中括号[]条件表达式两边有空格;$表示取变量的值;等于是-eq;有if要有闭环fi(2) case语句:(3) for循环:①写法1:for 循环有双括号;java中作用域大括号变成do和don

2020-07-15 21:27:44 281

原创 Shell脚本编程常用语法基础(一)

Shell脚本基本语法(一)1.第一个shell脚本:在/home路径下新建一个目录,用于存shell脚本文件(因为/home通常用来存放用户数据,自定义的一些文件目录等。) 创建一个目录mkdir 目录名;创建/更新一个文件touch 文件名。shell脚本文件后缀为.sh.2.脚本格式:以#!/bin/bash开头【指定解析器】,可以通过如下命令查看:默认使用bashvim编辑器下的shell脚本文件内容,[esc命令模型下,shift + zz保存并退出]3. 执行脚本(1) 执行

2020-07-15 15:58:55 947

原创 Linux根目录/下常用文件作用

根目录:/1./bin 存放的是所有的指令,可以被root用户和普通用户使用的命令。2./boot 这个目录主要在放置开机会使用到的配置文件等。Linux kernel常用的文件为:vmlinuz,如果使用的是gurb这个开机管理程序,则还会存在/boot/gurb这个目录.3./dev 在linux中任何的设备和接口设备都是以文件的形式存在于这个目录当中。你只要到通过访问这个目录下的某个文件就相当于访问某个设备.4./etc 系统主要的配置文件几乎都放置在这个目录下面,例如人员的帐号密

2020-07-12 09:24:55 284

转载 selenium 安装与 chromedriver安装

这里写自定义目录标题selenium 安装与 chromedriver安装selenium 安装与 chromedriver安装转载—selenium 安装与 chromedriver安装

2020-06-28 09:55:19 101

原创 前端 异步加载 弹出框闪退问题(附XcConfirm.js使用)

问题背景:1. ajax前后端数据交互的时候success属性或者error属性返回的情况需要通过弹出框提示用户,以提升用户体验。2. 弹出框使用的是jQuery提供的弹出框美化插件。遇到的问题:弹出框明明写了但是闪退图中箭头所指明明在执行成功的时候使用了插件设置了弹出框但是闪退。可以先通过console.log打印调试一下代码是否能走到这里。发现能正确打印txt,说明弹出框有效,问题是...

2019-11-21 16:25:30 1223

转载 java中的单例模式【转】

Java Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。我们在浏览BBS、SNS网站的时候,常常会看到“当前在线人数”这样的一项内容。对于这样的一项功能,我们通常的做法是把当前的在线人数存放到一个内存、文件或者数据...

2019-11-18 10:51:13 101

原创 SpringBoot+Maven打包部署(服务器环境配置,防火墙问题)

Spring Boot+Maven发布一.项目:Spring Boot框架,使用maven作为项目管理工具。特点是在pom.xml中就会配置Spring Boot内嵌的tomcat容器的依赖。项目要打成jar或者war包,本实验中是采用打成war包。(1) 修改main函数:添加如下的代码功能快捷键撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加...

2019-11-14 17:25:37 1043

空空如也

空空如也

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

TA关注的人

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