自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乔瑞的博客

公众号:哈哈的Java之旅

  • 博客(85)
  • 收藏
  • 关注

原创 Spring @Component源码解析

一 注解声明Bean介绍我们再回到这张图看,之前的两篇文章介绍了SpringIOC的源码(Spring容器(IOC)源码解析),但是我们是根据XML这个配置文件介绍的,在我们实际工作中目前...

2021-10-19 21:23:36 1368

原创 Spring循环依赖

一什么是循环依赖循环依赖就是循环引用,多个对象之间相互引用对方形成一个环,最简单的就是A引用B,B引用A;还有A引用B,B引用C,C引用A等更多情形。循环引用中必须要出现终结条件,否则会...

2021-09-28 22:05:05 660

原创 Spring容器(IOC)源码解析(二)

一回顾我们在上一篇(Spring容器(IOC)源码解析(一))已经看了Spring如何从XML配置文件加载为BeanDefinition并返回BeanFactory。上图我们可以看出我们...

2021-09-22 21:38:45 535

原创 Spring容器(IOC)源码解析(一)

一 SpringIOC解读Spring IOC即控制反转,IOC不是技术而是思想,对象由容器控制而不是自己对象控制。控制:传统的程序是直接new创建对象,IOC是一个容器来创建管理对象,...

2021-09-02 17:10:14 231

原创 Spring概述及组成

一 概述Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。Spring在不同...

2021-08-06 19:56:37 422

原创 HashMap HashTable HashSet源码解读

一 HashMap HashTable HashSet HashMap是一个散列表,存储的内容是键值对(key-value)映射。它继承于AbstractMap,实现了Map、Cloneable、Serializable接口。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。HashMap中的映射不是有序的。JDK1.6中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是...

2021-07-20 16:20:20 146

原创 LinkedList源码解读

一 LinkedListLinkedList 是一个双向链表结构(JDK1.6 之前为循环链表,JDK1.7 取消了循环),在任意位置插入删除都很方便,但是不支持随机取值,每次都只能从一端开始遍历,直到找到查询的对象,然后返回;不过,它不像 ArrayList 那样需要进行内存拷贝,因此相对来说效率较高,但是因为存在额外的前驱和后继节点指针,因此占用的内存比 ArrayList 多一些。LinkedList采用链表存储,所以对于add(E e)方法的插入,删除元素时间复杂度不受元素位置的影响,近似.

2021-04-17 18:13:25 436

原创 ArrayList与Vector源码解读

一 ArrayList与Vector区别vector是jdk1.0提供的,arrayList是jdk1.2提供的升级版 vector是线程安全的,在所有写操作上都添加了synchronized关键字,arrayList是线场不安全的 vector和arrayList的内部实现几乎一样,而且实现线场安全List list = Collections.synchronizedList(new ArrayList(...)),这是源码注释里写明的,相当于jdk已不推荐使用vector vector和ar

2021-04-01 21:36:05 139 1

原创 Java集合体系及相关知识点

一 Java集合体系Java集合大致可分为2个体系,一个Collection;一个Map;Collection :主要由List、Set、Queue接口组成,List代表有序、重复的集合;其中Set代表无序、不可重复的集合;Java 5 又增加了Queue体系集合,代表一种队列集合实现。 Map:则代表具有映射关系的键值对集合。java.util.Collection 下的接口和继承类关系简易结构图:java.util.Map 下的接口和继承类关系简易结构图:二 List,.

2021-03-15 21:05:04 201 2

原创 Java基础概念

一 什么是JavaJava 是由 Sun Microsystems 公司于 1995 年推出的一门面向对象程序设计语言。2010 年 Oracle 公司收购 Sun Microsystems,之后由 Oracle 公司负责 Java 的维护和版本升级。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的静态语言。中文官网二 Java特点简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 可靠

2021-03-03 21:24:24 176

原创 String基础知识

一 string如何保证不可变打开string源码可看到,string类事被final修饰的,被final修饰的类不可被继承;第一行代码定义就是一个final修饰的char数组,首先final修饰的值不可变,由于它是引用类型不可变的只是地址,其实value数组还是可以改变的,如把value[1] = 'a',这个时候整个string还是可变的,但是此时的value数组是被private修饰的,所以外部不可能直接改变value数组,这样也就保证了string不可变;结论:final保证是valu.

2021-02-25 20:00:20 226 3

原创 单例模式

一、简介:单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。保证一个类仅有一个实例,并提供一个访问它的全局访问点。 总计为3点就是:...

2019-12-03 17:22:49 262

原创 js设置和获取cookie

/** * 默认的cookie写入方法 * @param name * @param value */function setCookie(cname,cvalue,exdays){ var d = new Date(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); var expires = "expires="+d.t...

2019-11-07 18:23:37 268

原创 js复制文本到剪切板

copyToClipboard(txt){ let tmp_el = document.createElement("input"); tmp_el.setAttribute("readonly", "readonly"); tmp_el.setAttribute("value", txt); document.body.appendChild(tmp_el); tmp_el...

2019-10-29 19:09:19 342

原创 equals()方法详解

一、equals方法作用:equals()方法是用来判断其他的对象是否和该对象相等二、equals()方法在object类中定义:public boolean equals(Object obj) { return (this == obj); } 上边我们很明显看出是比较2个对象引用地址是否相同,但是我们平时在调用String、Integer等封装类型时的eq...

2019-10-29 15:49:22 27845 1

原创 springboot利用aop实现日志记录

一、前言:我们的日常开发中,一些重要的操作或者错误是需要记录到日志表中方便我们的查阅;如果我们每个业务中都写记录日志显然很傻也不现实,那我们就可以用到面向切面aop了,做一个切面,然后把代码在业务中切进去即可。到底什么是aop呢?AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是...

2019-07-31 10:16:22 2023 2

原创 kibana监控logstash

ELK系列文章:Elastic Stack(ELK)日志系统简介及搭建 Elastic Stack(ELK)日志系统后续使用及问题解决 kibana7.2添加登录及权限 kibana监控logstash一、前言:我们logstash也是可以交给kibana视图监控的,这也方便我们后期的监视二、配置:修改logstash.yml#是否集群xpack.monitorin...

2019-07-29 18:58:50 6956

原创 Elasticsearch添加权限后logstash无法发送

一、前言:上篇kibana7.2添加登录及权限我们对ELK访问添加了访问权限后,然后发现logstash无法正常输出到Elasticsearch,报错信息如下,401了,说明是权限问题,在网上找了好多都没有说的很清楚,然后看官方文档吧,找到了如下解决办法[2019-07-29T17:52:43,230][WARN ][logstash.outputs.elasticsearch] Att...

2019-07-29 18:45:30 5800 1

原创 kibana7.2添加登录及权限

ELK系列文章:Elastic Stack(ELK)日志系统简介及搭建 Elastic Stack(ELK)日志系统后续使用及问题解决 kibana7.2添加登录及权限 kibana监控logstash一、前言:前2篇写了ELK介绍和搭建、后续使用的问题。这篇就再写一下,kibana的权限相关,现在差不多能满足基本的使用,可是kibana页面谁都可以访问,而且谁都可以更改数据,这是...

2019-07-26 12:02:09 13629

原创 Elastic Stack(ELK)日志系统后续使用及问题解决

ELK系列文章:Elastic Stack(ELK)日志系统简介及搭建 Elastic Stack(ELK)日志系统后续使用及问题解决 kibana7.2添加登录及权限 kibana监控logstash一、前言:在上篇的ELK介绍和搭建中我们完成了日志系统的了解和搭建,但是这并不能满足我们在生产中使用,我们还需要有很多自定义的配置。这篇主要介绍的就是在使用过程中碰到的一些问题,如f...

2019-07-25 17:20:07 7641

原创 CentOS7防火墙firewalld

#启动:systemctl start firewalld#停止:systemctl stop firewalld#重启:systemctl restart firewalld.service#查看状态:systemctl status firewalld#开机启动:systemctl enable firewalld.service#开机禁用:systemctl...

2019-07-25 11:03:48 194

原创 Elastic Stack(ELK)日志系统简介及搭建

ELK系列文章:Elastic Stack(ELK)日志系统简介及搭建 Elastic Stack(ELK)日志系统后续使用及问题解决 kibana7.2添加登录及权限 kibana监控logstash一、需求:在我们的项目中有日志是一个必不可少的东西,但是日志的检索是一个很麻烦的事情,如每天一个日志,要找到问题就得一个一个找,并不能做到检索功能,这还算好的,如果是分布式的,每个机...

2019-07-25 10:25:41 1813

原创 js生成32位UUID

function uuidGenerator() { let originStr = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', originChar = '0123456789abcdef', len = originChar.length; return originStr.replace(/x/g, function(ma...

2019-05-17 10:43:24 3655

原创 xshell选中复制右击粘贴

我们在使用xshell时复制粘贴很麻烦,我们设置成选中复制右击粘贴在工具中选项到此我们的设置就完成了

2019-04-28 11:16:08 393

原创 liunx 定时任务(crontab命令)

需求: 想在liunx系统中设置定时执行的任务解决: liunx提供了多个设置任务的命令或者sell,我们想要的是多次执行所以用crontab命令安装:yum install crontabs/sbin/service crond start //启动服务/sbin/service crond stop //关...

2019-04-26 18:41:57 334

原创 vue集成汉字转拼音并提取首字母(附多音字解决方案)

需求: 有时我们为了节省用户的维护量,需要根据中文生成出相应的拼音和缩写解决: 此方法是利用汉字和Unicode编码对应找到相应字母 一、编写汉字和编码文件对应的js; pyconst.jsexport const pinyin = { 'a': '\u554a\u963f\u9515', ...

2019-04-01 18:49:38 19270 10

原创 启动多个独立谷歌浏览器

问题:         有时我们想要打开多个独立的浏览器(所有的信息都不共享,相当于一个新的浏览器,和现有开着的浏览器不冲突),但是我们如果双击图标的话发现新打开的浏览器,只是一个新的标签页或者是一个共享当前已经打开的浏览器的信息,比如我们要用一个账号登录同一网站时,除打开不同供应商浏览器外,有没有可以一个供应商浏览器打开多个不共享信息的办法,那是肯定的。解决:    方法一:  ...

2019-01-16 17:52:13 17163

原创 Redis集群介绍及安装(redis-cluster)

一、Redis集群介绍及原理:   参考Redis官网及博客    1、Redis集群介绍:         Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。         Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误.         Redis...

2018-10-24 19:45:44 398

原创 Nginx安装及配置

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

2018-10-19 19:24:55 294

原创 Redis实现分布式锁(spring定时任务集群应用Redis分布式锁)

         之前2片文章介绍了                spring利用注解实现定时任务:https://blog.csdn.net/QiaoRui_/article/details/82999655                spring定时任务的动态修改:https://blog.csdn.net/QiaoRui_/article/details/83110794描...

2018-10-18 09:51:31 3587

原创 spring定时任务实现动态定时任务(启停,周期修改)

使用方法: 复制下方代码,在业务需要处调用(定时任务状态和执行周期被修改后),一定要在项目启动时后立刻执行一次库中全数据调用此方法,List<Cron> crons Cron中一定要有业务类的包加类名(com.rails.travel.conf.task.myschedule.MyRunnable),有启停的状态,有执行周期这是必须的参数,根据自己业务可以...

2018-10-17 17:06:27 24175 49

原创 java获取当前服务的IP和端口

描述: 我们有时候需要获取当前服务的IP和端口实现:import javax.management.MBeanServer;import javax.management.MalformedObjectNameException;import javax.management.ObjectName;import javax.management.Que...

2018-10-17 10:59:47 20223 7

原创 线程中创建bean(注入spring的bean)

场景:            我们有的时候需要在线程中注入bean对象,但是会出现空指针异常,因为web容器并没有引用到spring容器的对象解决:import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.spr...

2018-10-16 17:49:14 1696

原创 字符串转换为类(反射)

          我们做项目有时候需要把类名存到数据库或者是字符串,这样出来就是字符串没办法执行,可以通过反射改为可执行类名String test = "com.test.Test";Object classObj = Class.forName(test).newInstance(); ...

2018-10-15 18:55:33 12449 1

原创 java.util.LinkedHashMap cannot be cast to com.*** resetTemplate的GET请求返回值为带泛型的类型

原因:            resetTemplate的GET请求返回值为带泛型的类型不可以直接使用,因为他内部封装成了一个LinkedHashMap,所以我们直接用的时候就会报错解决:           直接接受json字符串,然后通过json转换,转换成需要的对象ObjectMapper mapper = new ObjectMapper();mapper.readVa...

2018-10-12 18:05:30 752

原创 spring(springboot)利用注解实现定时任务并实现异步处理

spring定时任务动态启停和修改执行周期:https://blog.csdn.net/QiaoRui_/article/details/83110794spring定时任务利用Redis分布式锁进行集群部署:https://blog.csdn.net/QiaoRui_/article/details/83141060spring3.0之后就实现了自己的定时任务,而且非常简单1.在启动...

2018-10-10 17:15:57 7828 2

原创 liunx启动停止jar包脚本

./脚本 start启动项目./脚本 stop停止项目./脚本 restart重启项目./脚本 status查看项目启停状态#!/bin/sh#配置java环境变量,如有可把此处注释掉export JAVA_HOME=/home/travel/jdk1.8.0_101export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/...

2018-10-09 17:05:41 1346

原创 springboot+maven打包可执行jar包

       在网上找了很多打包方法,maven打包,插件打包都会报错或者依赖没有打包进去,此方法完全可以打包成一个可运行的jar包,本地依赖和远程依赖都会打包到一个jar包中,直接命令运行即可 &lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;groupId&gt;...

2018-10-09 10:12:50 679

原创 liunx(centos7)搭建maven私服(nexus3)

一、相关网站:           maven官网:                    http://maven.apache.org/           nexus官方下载地址:       https://www.sonatype.com/download-oss-sonatype           nexus3官方文档:            https://help.s...

2018-09-18 14:53:49 832

原创 liunx(centos7) yum搭建SVN服务端

一、相关网站:                  SVN官网 :http://subversion.apache.org/                  SVN官方中文文档与英文文档 :http://svnbook.red-bean.com/二、安装SVN:rpm -qa subversion //检查是否安装了低版本的SVNyum remove s...

2018-09-12 16:28:55 227

空空如也

空空如也

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

TA关注的人

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