- 博客(87)
- 收藏
- 关注
原创 SpringBoot项目使用shell自动拉取代码并部署
一、环境前提:jdk 安装对应项目jdk版本maven 安装maven配置环境变量git 安装git配置git账号,此时需要注意:git 可以是1.码云(git@gitee.com)2.github(git@github.com) 3.公司自定义搭建的(git@192.168.1.31)我这里直接借用某位大佬的文章https://blog.csdn.net/tracyclock/article/details/72779737git --version 查看版本...
2021-04-19 18:36:47
375
转载 JFinal 框架websocket配置
说明以tomcat容器为例,tomcat7以上版本开始支持websocket,JFinal集成的jetty服务器不支持websocket一、包依赖,tomcat7或是javaee包都行,两者二选一,容器中已提供所以只作为提供者<dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-websocket-api</artifactId><version&
2020-12-15 22:17:15
572
转载 windows 下利用 Charles 对手机进行抓包(https)
前提条件:手机和电脑必须在同一个局域网内1、电脑上下载Charles ,自行百度,无需破解2、安装,一直下一步就好。无特别说明,安装好之后,logo是一个花瓶模样3、打开Charles,如下图4、对Charles进行设置,如下图 ,点击顺序为 Proxy--ssl proxying settings5、你会看到如下图,Enable SSL Proxying这个对勾一定要勾上,然后点击Add6、按下图输入,并点击OK7、点击OK8、如下图,步骤和3...
2020-12-07 11:58:40
1300
转载 JVM六:java 内存使用排查
Java通过jvm自己管理内存,同时Java提供了一些命令行工具,用于查看内存使用情况。这里主要介绍一下jstat、jmap命令以及相关工具。一、jstat查看gc实时执行情况jstat命令命令格式:jstat [Options] vmid [interval] [count]命令参数说明:Options,一般使用-gcutil或-gc查看gc情况pid,当前运行的...
2020-01-15 16:54:30
390
转载 JVM五:内存异常总结
java.lang.StackOverFlowError这个Stack是什么鬼东西Stack是个栈, 是一种数据结构, 会占用一块内存空间Java在哪些地方会使用Stack来存储数据 最常见的就是虚拟机栈, 它是专门为java Method执行服务的一块内存, 每个方法调用都会往这个栈中压入一个栈帧(stackFrame), 由于方法可以互调,迭代,所以使用栈模型来服务Java ...
2020-01-13 10:34:39
384
转载 springboot - AOP
引言Spring AOP是一个对AOP原理的一种实现方式,另外还有其他的AOP实现如AspectJ等。AOP意为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,是OOP面向对象编程的一种补足。它是软件开发中的一个热点技术,Spring AOP 也是Spring框架的核心特性之一(另一个核心特性是IOC)。通过AOP技术,我们希望实现一种通用逻辑的解耦,解决...
2019-11-29 17:00:14
140
转载 Github访问速度很慢所引发的思考
1,CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的,具体请看上一篇文章。2,为什么访问速度慢、下载慢?答:github的CDN某些ip地址被某墙屏了...
2019-11-28 17:51:15
441
转载 CDN的作用与基本过程
简介CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。动机为什么不进行数据的直接交付,即让用户直接从源站获取数据呢?我们常说的互联网实际上由两层组成,一...
2019-11-28 17:37:55
173
转载 JVM四:JVM调优
堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java-Xmx3550m -Xms3550m...
2019-11-09 17:58:19
141
转载 JVM三:分代回收算法
分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。年轻代: 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象。年轻代分三个区。一个Eden区,两个Survivor区(一般而言)。大部分对象在Eden区中生成。当Eden区满时,还存活的对象将被复制到S...
2019-11-09 17:49:30
458
转载 JVM二:什么样的对象需要回收
java中引用类型:Java中对象的引用分为四种级别,这四种级别由高到低依次为:强引用、软引用、弱引用、虚引用。这四种引用均存在于堆中,一个对象属于内中引用,有他的最强的引用决定。1、强引用我们写代码天天在用的就是强引用、如果一个对象被人拥有强引用,那么垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OouOfMemoryError错误,使程序异常终止,也不会靠随意回收具...
2019-11-09 17:27:51
265
转载 JVM一:虚拟机的基本结构
1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。2)java堆在虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中。堆空间是所有线程共享...
2019-11-09 17:02:44
212
转载 疑似jdk bug InetAddress.getLocalHost()引起的应用启动慢问题排查和分析
背景和现象环境想着时髦一把,也响应公司号召软碍件都升级一把:1.thinkpad换成了mac(OS:macOS Sierra)2.jdk从1.6升到1.8,目前在用的版本是jdk 1.8.0_1313.开发工具也从eclipse升级到intellij idea.现象原来在windows+jdk1.6环境下应用启动虽然也慢,但是一般在4分钟内肯定是可以完成的。可是现在发现在新环...
2019-11-04 15:54:22
1646
1
转载 DNS原理及其解析过程
为什么需要DNS解析域名为IP地址?网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们无法记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的I...
2019-11-04 15:51:06
250
转载 分布式爬虫系统设计、实现与实战
1 概述在不用爬虫框架的情况,经过多方学习,尝试实现了一个分布式爬虫系统,并且可以将数据保存到不同地方,类似MySQL、HBase等。基于面向接口的编码思想来开发,因此这个系统具有一定的扩展性,有兴趣的朋友直接看一下代码,就能理解其设计思想,虽然代码目前来说很多地方还是比较紧耦合,但只要花些时间和精力,很多都是可抽取出来并且可配置化的。因为时间的关系,我只写了京东和苏宁易购两个网站的爬...
2019-10-15 17:24:30
4076
3
原创 接口安全设计方案
总方案:实操:public JSONObject sendHttpPostWithJson(String url, String json, String companyStr, String privateKey) throws Exception { // MD5摘要 String signMd5 = DigestUtils.md5He...
2019-08-09 17:09:45
1372
原创 加密技术基本了解
对称性加密算法:对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。非对称算法:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,...
2019-08-08 15:23:44
643
原创 Kafka单服务器配置伪集群
一 简介Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,其主要特性如下:通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性。 高吞吐量:即使是非常普通的硬件,Kafka也可以支持每秒数百万的消息。 支持通过Kafka服务器和消费机集群来分区消息。 支持Hadoop并行数据加载。Kaf...
2019-06-19 18:24:48
450
原创 ZooKeeper单服务器配置伪集群
1、创建 /usr/local/services/zookeeper 文件夹:mkdir -p /usr/local/services/zookeeper2、进入到 /usr/local/services/zookeeper 目录中:cd /usr/local/services/zookeeper3、下载 zookeeper-3.4.14.tar.gz:...
2019-06-13 16:08:08
549
1
转载 Docker启动Get Permission Denied
问题描述安装完docker后,执行docker相关命令,出现”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: d...
2019-05-08 17:29:25
287
转载 基于一个tomcat镜像部署多个tomcat容器并运行
[tomcat:latest]为tomcat镜像1,创建3个tomcat容器(外部访问端口分别为8081/8082/8083)docker run --name mytomcat1 -d -p 8081:8080 tomcat:latestdocker run --name mytomcat2 -d -p 8082:8080tomcat:latestdocker run --na...
2019-05-08 17:23:01
599
转载 xxx is not in the sudoers file解决
用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权限使用sudo,我们只要修改一下/etc/sudoers文件就行了。下面是修改方法:1)进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你...
2019-05-08 17:17:26
9857
转载 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.
问题:docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令解决:sudo groupadd docker #添加docker用户组sudo gpasswd -a $USE...
2019-05-08 10:27:48
130
原创 mysql中kill掉锁表的进程
1、查看进程列表SHOW PROCESSLIST;2、如果status列有lock字眼,那么通过Info状态就可以得出哪张表被锁 kill掉该进程 --kill id;
2019-03-22 18:08:16
592
原创 mysql事件自动执行存储过程函数
用于定时生成某些中间表数据或者删除冗余数据--查看定时任务的是否开启show variables like '%event_scheduler%';(分号不能丢)--如果event_scheduler 的value是OFF 要设置为设为ON1、set global event_scheduler =ON;(分号不能丢)2、重启数据库,如果发现event_scheduler还是...
2019-03-22 17:46:23
1749
转载 sql优化
--导致查询缓慢的原因1、数据量过大2、表设计不合理3、sql语句写得不好4、没有合理使用索引-- 针对SQL语句的优化1、查询语句中不要使用 *2、尽量减少子查询,使用关联查询(left join,right join,inner join)替代3、减少使用IN或者NOT IN ,使用exists,not exists或者关联查询语句替代4、or 的查询尽量...
2019-02-27 10:36:46
171
原创 记录excel导入数据库 超时的一次解决过程
调试的时候发现:我在页面添加有进度条,数据导入到一定时间进度条关闭,页面出现报错信息Failed to load resource: the server responded with a status of 504 (Gateway Time-out),然后打开服务器发现,后台tomcat仍然在运行导入的程序,当后台程序运行结束后就会报错:org.apache.catalina.co...
2019-01-30 13:57:50
2796
转载 Spring Boot结合CXF搭建WebService
需要依赖Maven的Pom清单< <!--WerbService CXF依赖--> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws&l...
2019-01-29 16:57:39
608
原创 springboot2.x配置redis
1、首先安装redis https://blog.csdn.net/weixin_33446857/article/details/778938962、pom添加依赖 <!--redis 导包 --> <dependency> <groupId>org.springframework.boot</groupId> ...
2019-01-25 18:08:51
1275
转载 关于继承,被构造函数折腾得暴躁了一下
报错:There is no default constructor available in。。。情境一: * ParentClass.java Java code? 1 2 3 4 5 6 7 8 9 10 11 /** * 超类...
2019-01-25 14:22:57
343
转载 Redis数据过期策略详解
本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存session,又或者只存放日行情股票数据)那么就会出现一下几个问题了Redis会自己回收清理不用的数据吗? 如果能,那如何配置? 如果不能,如何防止数据累加后大量占用存储空间的问题? 之前一直...
2019-01-24 12:00:11
215
转载 nginx配置静态资源与动态访问分离
在上一篇文章中已经安装了Nginx《linux yum安装nginx》 ,里面还讲到两个配置文件:/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf ,在这里只需要在default.conf中配置我们项目的代理(静态资源与动态访问的代理)首先我们可以先来看一同事发过来的信息这里想要在通用匹配 “/” 的情况下直接访问动态资源,而...
2019-01-17 16:15:45
1692
转载 linux yum安装nginx
yum install -y nginx通过yum安装的时候提示下面的错误[root@localhost yum.repos.d]# yum install nginx已加载插件:fastestmirror, langpacksLoading mirror speeds from cached hostfile没有可用软件包 nginx。错误:无须任何处理需要添加nginx...
2019-01-16 16:47:33
233
转载 网站的海量数据和高并发
1.应用和静态资源分离刚开始的时候应用和静态资源是保存在一起的,当并发量达到一定程度的时候就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、css和一些资源文件等,这些文件因为没有状态所以分离比较简单,直接存放到响应的服务器就可以了,一般会使用专门的域名去访问。通过不同的域名可以让浏览器直接访问资源服务器而不需要再访问应用服务器了。架构图如下:2.页面缓存页面缓...
2019-01-16 11:25:43
266
原创 对docker使用的一次理解
tomcat 的一次使用与停止1、docker安装完tomcat后运行容器:docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat 2、发现springboot 在docker中运行8080端口被占用3、停止运行tomcat 容器,删除tomcat容器:...
2019-01-05 17:52:46
252
1
原创 记录第一次搭建springboot的过程
萌新步骤:1、本地安装ide,maven,jdk,centos 安装docker,jdk,mysql,maven,远程工具:FileZilla Client,SecureCRT,Navicat for MySQL2、Spring Initializer 引导 https://start.spring.io/ (项目名不要存在大写)3、导入项目到ide,ide配置的jdk要与pom的一...
2019-01-05 17:06:00
1198
3
原创 yum 安装maven
前提是安装有jdk// 安装yum配置工具# yum install -y yum-utils// 使用配置工具配置第三方epel源仓库# yum-config-manager --add-repo http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo# yum-config-man...
2019-01-02 11:51:38
2020
原创 Docker 安装 Tomcat
1查找Docker Hub上的tomcat镜像docker search tomcat2拉取官方的镜像docker pull tomcat 3运行容器docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat -p 8080:8080:将容器的...
2018-12-28 10:09:02
192
原创 docker 安装 mysql
# docker 中下载 mysqldocker pull mysql#启动docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Lzslov123! -d mysql#进入容器docker exec -it mysql bash#登录mysqlmysql -u root -pALTER USER 'root...
2018-12-28 10:04:19
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅