自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 Jenkins+Gitlab+Docker实现微服务容器部署自动化

Jenkins+Gitlab+Docker实现微服务容器部署自动化啥是容器部署自动化:1. 容器:Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套的操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并且保证部署在任何环境中的软件都能运行;2. 部署自动化:...

2019-06-20 09:34:59 2559 4

原创 Linux安装mysql出错原因及解决方案

一、安装mysql上传mysql的rpm包先安装这两个依赖yum install libaio.so.1yum install libncurses.so.5开始安装(若要直接安装步骤,则跳到最后)[root@localhost 5.5.48]# rpm -ivh MySQL-server-5.5.48-1.linux2.6.i386.rpm报错:警告:MySQ...

2018-10-31 12:19:33 8403

转载 Nginx图片服务器访问图片404

图片通过ftp服务上传到/home/ftpuser/www/images目录下后访问 http://192.168.128.128/images/xxx.jpg 还是 404 NOT FOUND ,解决: ①需要在nginx/html下创建一个images文件夹(实际访问的不是这个路径)mkdir /usr/local/nginx/html/images②修改、/usr/loca...

2018-08-02 11:05:14 5142 4

原创 安装redis中执行make时出错及解决方案

执行 make 时若报这个错出现如下错误 : cd src && make allmake[1]: Entering directory '/xx/xx/redis-x.x.x/src'         CC adlist.o/bin/sh: cc: command not foundmake[1]:  *** [adlist.o] Error 127...

2018-07-21 23:35:47 56513 38

原创 内置jetty打包成jar运行异常问题

异常问题PS D:\IDEA_Workspace\contract\Server\target> java -jar .\Server-1.0-SNAPSHOT.jar Error: A JNI error has occurred, please check your installation and try againException in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/server/

2021-03-09 17:42:30 764

原创 Feign调用异常处理

Feign异常处理consumer服务调用Producer服务接口时,提示一下异常no suitable HttpMessageConverter found for request typefeign.codec.EncodeException: Could not write request: no suitable HttpMessageConverter found for request type [com.xxx.pojo.Xxx] and content type [applicatio

2021-02-06 16:16:41 2424

原创 java stream collect toMap nullPointException异常

记java stream toMap的坑 java8中提供了Stream API这种非常方便的api流处理类,里边丰富的api可以使代码中的数据像在使用sql一样进行过滤等的操作。其中stream.collect(Collectors.toMap) 用来将一个集合构建一个映射关系map也是经常用来使用; 例如: Map<String, String> map = list.stream().collect(Collectors.toMap( ...

2020-09-20 14:11:45 4056 3

原创 Redis对象

Redis对象Redis系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象。Redis还实现了基于引用计数的内存回收机制,通过引用计数实现了对象共享机制,在这机制在,通过让多个数据库键共享同一个对象来节约内存。Redis的类型与编码类型 对象的type属性记录了对象的类型编码和底层实现REDIS_STRINGREDIS_ENCODING_INT:使用整数值实现的字符串对象。 REDIS_ENCODING_EMBSTR:使用embstr...

2020-09-14 22:24:35 144

原创 Redis数据结构与对象

Redis数据结构与对象参考于《Redis设计与实现》 我们经常被问到的一个Redis问题:Redis的数据结构有几种? 这个问题我的第一感觉是:这不就是字符串、哈希(hash)、列表(list)、集合(set)和有序集合(zset)吗。 然而,这答案在redis中时叫做对象,而不是数据结构。真正的数据是 简单动态字符串(SDS)、字典(dict)、双端链表(linkedlist)、压缩列表(ziplist)、整数集合(intset)和跳跃表(skiplist);redis的五种对...

2020-09-13 22:23:09 138

原创 记一次线上异常bug的定位与调试

相关方法根据账号绑定的微信id进行登入;异常原因根据微信id查询出两条绑定同一微信id的账号,返回包装对象时异常;可以直接看出来是在mybatis进行查询时,查询出了两条结果,但是dao方法的返回值只能包装一个对象引起的;解决方法很简单,就是在其sql中添加一个 limit 0,1 即可避免这种错误的发生;但是得明白为什么会有这种情况发生,怎么处理多查询出来的数据?首先确定了一个微信id只能绑定一个账号,但是怎么会出现一个微信id绑定多个账号这种情况出现呢?于是我通过对.

2020-09-07 23:31:23 346

原创 java - 多线程 07 java多线程

一、线程池的原理与使用 1、线程池的优势 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的损耗 第二:提高响应速度。当任务到达时,任务可以不需要等待线程创建就能立即执行 第三:提高线程的可管理性。线程时稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性。使用线程池可以统一的分配,调优和监控。但是要做到合理的利用线程池,必须...

2019-12-21 09:25:25 203

原创 java - 多线程 06 并发容器与同步容器

一、并发容器和同步容器 同步容器:一般的同步容器线程不安全,或者是线程安全但性能较差;例如ArrayList和Vector(直接在方法上加synchronized,多线程情况下性能较差)、HashMap和HashTable;可以通过Collections类来对线程不安全的集合对象进行包装,使其变得线程安全; 并发容器:CopyOnWriteArrayList、C...

2019-12-21 09:01:19 138

原创 centos7 实现root ssh免密登入

centos7实现rootssh免密登入效果:直接ssh root@IP即可远程登入另一台服务器开启步骤1、执行命令ssh-keygen -t rsa (执行时按回车即可)  生成之后会在用户的根目录生成一个 “.ssh”的文件夹  进入“.ssh”会生成以下几个文件  authorized_keys:存放远程免密登录的公钥,主要通过这个...

2019-06-19 20:11:03 2118 1

原创 centos7 磁盘扩容

centos7磁盘扩容1 关闭Vmware的centos7系统,才能在VMWare菜单中设置需要增加到的磁盘大小,如下图所示:然后启动虚拟机,但这个实际硬盘的大小还是之前的大小,我们需要对新加的磁盘进行分区和格式化.严格按照下面的命令执行2 分区:依次执行一下命令(千万不要按错哟!可以先保存快照后在操作)[root@localhost]# fdisk /dev/...

2019-06-19 20:05:59 481

原创 gitlab 的webhook报错 403

gitlab 的webhook报错 403错误信息如下<title>Error 403 No valid crumb was included in the request</title></head><body><h2>HTTP ERROR 403</h2><p>Problem accessing...

2019-06-19 19:53:48 3333

原创 websocket 不能自动注入( @Autowired ) service bean 报 null 错误

websocket 不能自动注入( @Autowired ) service bean 报 null 错误本质原因: spring管理的都是单例(singleton),和 websocket (多对象)相冲突。 因为websocket是多实例单线程的,而websocket中的对象在@Autowried时,只有整个项目启动时会注入,而之后新的websocket实例都不会...

2019-06-19 19:45:16 3961 7

原创 SpringCloud dashboard ping 一直为空 和 仪表盘一直为loading状态

SpringClouddashboard ping一直为空和仪表盘一直为loading状态原因: springboot2.0+ 的 dashboard 的默认路径不是"/hystrix"需添加的一个servlet,否则会连接不上 注意:这些全是配在Feign端即可(即配网关服务)解决方案: 1、添加如下配置到容器@Beanpubli...

2019-06-19 19:38:59 1780

原创 Feign 在文件上传接口传递 MultipartFile对象时,对应服务的文件上传接口接不到请求

问题: Feign 在文件上传接口传递 MultipartFile对象时,对应服务的文件上传接口接不到请求原因: Feign在转发时,是以普通表单形式发送给对应服务,以ContentType=application/x-www-form-urlencoded的表单发送,而文件上传需form-data的ContentType,故服务端接收不到请求解决方案: 在...

2019-06-19 19:16:13 3977

原创 springboot项目Multipart文件上传超出大小

报错:org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUpl...

2019-06-19 19:11:22 5976 1

原创 使用nginx作为vue项目服务器,解决vue路由404问题。

打包好的vue项目上传到linux服务器上,使用nginx作为服务器时,vue项目的路由失效问题。解决方案:配置nginx.conf添加如下配置location / { root /usr/local/~~; # 指定vue项目文件的位置,注:用户目录的话会出现403问题 index index.html; # 访问 / 时跳的页面 try_fil...

2019-06-19 18:48:41 3753 3

原创 java - 多线程 05 - 并发容器和框架 - Future 和 Fork/Join

一、线程的提前完成任务      1、Future的使用 结合Callable使用,使用一个 FutureTask 来包装Callable对象,而FutureTask是实现了Future和Runnable接口的,故可用Thread包装FutureTask的对象,然后调用start方法启动线程; 可见 FutureTask 是 Runnable 的子类使用 Future 和...

2019-01-23 17:08:36 459

原创 day03 - 线性结构的实现与应用02

 一、栈的基本概念 堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除操作。 堆栈中允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。堆栈的插入和删除操作通常称为进栈或入栈,堆栈的删除操作通常称为出栈或退栈。 数据集合:堆栈的数据集合可以...

2019-01-23 00:22:20 138

原创 java - 多线程 04 - 线程间的通信+源码解析

一、线程之间的通信    1、 等待/唤醒机制;        通过 wait 和 notify 来进行相关的通信(一定条件下的等待和唤醒)(例子:生产者和消费者)        wait(会释放拿到的锁)、notify(随机叫醒一个处于 wait 状态的线程(同一锁对象情况下,先释放了 notify 的锁才能让唤醒的线程获取锁),此时此线程会再拿到锁)        当线程在执行...

2019-01-22 17:03:33 194 4

原创 day01 算法的描述

一、数学知识    1、指数公式                                        2、对数公式                                                     3、级数公式          二、递归    1、递归        1.1、基准情...

2019-01-22 01:29:56 125

原创 day02 - 线性结构的实现与应用

  一、线性结构的定义    如果一个数据元素序列满足: 除第一个和最后一个数据元素外,每个数据元素只有一个前驱和一个后继数据元素 第一个数据元素没有前驱数据元素 最后一个数据元素没有后继数据元素 二、线性表抽象数据类型 线性表抽象数据类型主要包括两个方面:即数据集合 和 该数据集合上的操作集合 数据集合可以表示为 a0,a1,a2,......

2019-01-22 01:28:56 241

原创 java - 多线程 03 - 初步了解 AQS

一、Lock接口的认识与使用         1、Lock、ReentrantLock(公平锁)、ReadWriteLock(读写锁)、AQS类(位置)  -- jdk1.8/rt.jar/com/java/util/concurrent/atomic/locks        2、Lock 与synchronized 的比较            Lock 需要显示地获取和释放锁...

2019-01-14 19:59:28 151

原创 java - 多线程 02 - synchronized、volatile、锁、原子类

一、Synchronized原理与使用    1、Synchronized 原理        给进来的线程添加内置锁和互斥锁        每个线程进入到synchronized修饰的代码中,则会给这个线程获取到内置锁,从而与其他线程互斥,阻塞其他线程。此时保证了这段代码的原子性;(在jvm层面上看)在执行synchronized的同步方法块:之前会执行monitorenter(获取...

2019-01-14 19:43:20 159

原创 java - 多线程 01 - 初步了解创建线程和线程安全问题

一、创建线程的多种方式  1、继承Thread类public class Demo1 extends Thread { public Demo1(String name) { super(name); // 给线程命名 } @Override public void run() { while(!interrupted())...

2019-01-14 19:33:08 146

原创 JAVA静态代理与动态代理的原理和实现

反射(Reflection) 反射机制允许程序在执行期借助于Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 Class clazz = Person.class; // 创建类对象,clazz 指向了 Person.class(源头)这个文件 Person P = clazz.newInstance(); // 创建运...

2018-12-11 19:02:51 187

原创 Nginx的安装与配置

Nginx 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。开源、免费。 Nginx的应用场景1、http服务器。Nginx是一个http服务可以独立提供http服务...

2018-09-10 08:16:13 130

原创 redis的安装与使用-java版

redis缓存机制    一、先安装redis        安装的前提条件:需要安装gcc:yum install gcc-c++      1、下载redis的源码包。    2、把源码包上传到linux服务器    3、解压源码包  tar -zxvf redis-3.0.0.tar.gz    4、Make   5、Make install...

2018-09-10 08:03:30 319

原创 solr的安装与solrJ的使用-java版

solrJ的使用Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务。 1、solr的安装及配置需要把solr服务器安装到linux环境:    第一步:安装linux、jdk、tomcat。        jdk的安装:上传jdk的压缩包到linux上                            解压jdk                 ...

2018-09-10 08:01:19 218

原创 HttpClient-多个服务间的调用

HttpClient的使用HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。下载地址: http://hc.apache.org/ 使用方法    1、给工程添加HttpClient的依赖    2、执行GET和POST的请求方法...

2018-09-10 07:59:11 617

原创 Spring注解驱动的相关学习

Spring注解驱动的相关学习             导入 Spring context  相关依赖1、容器 AnnotationConfigApplicationContext  -- 配置类  , 包扫描组件添加 Spring 的配置有两种方式    1、applicationContext.xml文件的配置          &lt;!-- 包扫...

2018-09-10 07:55:57 428

原创 FTP图片服务器(vsftpd)安装手册

vsftpd安装手册1、安装vsftpd组件安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。[root@bogon ~]# yum -y install vsftpd2、添加一个ftp用户此用户就是用来登录ftp服务器用的。[root@bogon ~]# useradd ftpuser这样一个用户建完,可以用这个登录,记得用普通...

2018-09-10 07:55:01 289

原创 centos6.x设置NAT网络连接

1、把虚拟机的网络设置成桥接模式2、修改ifcfg-eth0 文件vim /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT 改成 yes; BOOTPROTO 改成 static; IPADDR 改成 与VMnet8网卡的网段相同; NETMASK 改成 255.255.255.0;(有时可以没有...

2018-08-03 12:59:49 514

原创 关于log4j的 WARN

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log...

2018-07-12 22:37:19 853

原创 关于myeclipse中workspace的.metadata文件夹

保存了myeclipse在当前工作目录的一些配置,如字体的修改、插件的安装、页面的布局、log等等删除.metadata文件夹之后,myeclipse会恢复到刚安装的MyEclipse的状态,没有原来的页面布局和安装的插件或者是换一个保存目录;...

2018-05-29 14:42:52 1594

线性表实现源码-java

java实现的简单线性表结构,包含顺序存储结构和单向链式存储结构的源码

2019-01-22

空空如也

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

TA关注的人

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