自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tiger的博客

每天一点点,大白变小白...

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

原创 Mac HomeBrew安装及问题记录

文章目录HomeBrew简介安装步骤安装国内源安装github源问题汇总1. 提示 command not found2. Failed to connect github.com port:443HomeBrew简介github地址:https://github.com/Homebrew官方:The missing package manager for macOS (or Linux)Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。

2022-05-12 22:23:11 305

原创 git提交本地仓库至远端

文章目录1、创建完项目结构,没有分支2、在github上新建远程仓库3、按照上图中红色框中的命令,就可以提交本地4、提交过程中可能会遇到全局配置文件config 中没有配置用户和邮箱地址的情况5、git pull,push每次都需要输入密码的问题解决本地创建好项目之后,项目是在本地,此时,需要将本地的代码库提交至远端,下面是总结的一系列操作1、创建完项目结构,没有分支git add . ...

2019-12-02 11:12:08 489

原创 lombok在 maven-compiler-plugin低版本下不生效的问题

文章目录概述解决方法概述在平时的开发过程中,我们会使用lombok提高效率,但是在开发的过程中会出现在类上使用了@Data,@Builder,@AllArgsConstructor,@NoArgsConstructor在编译的时候会报错的问题,这个问题的主要原因是由于 maven-compiler-plugin 插件版本低导致的解决方法maven-compiler-plugin 在 ...

2019-11-26 20:25:49 2667

原创 mac下安装rabbitmq

文章目录mac 安装rabbitmqmac 安装rabbitmq一般默认RabbitMQ服务器依赖的Erlang已经安装MQ的安装目录在 /usr/local/Cellar/rabbitmq1、通过homebrew安装rabbitmq,brew install rabbitmq2、配置环境变量export PATH=$PATH:/usr/local/Cellar/rabbitmq/...

2019-11-08 12:52:21 855 2

原创 java内存模型-JMM

文章目录概述CPU与你内存的关系java内存模型共享对象的可见性栈,堆区域的数据存放工作内存-主内存的操作概述Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步...

2019-11-07 11:53:54 186

原创 线上问题排查

文章目录概述问题处理流程概述我们经常在线上会遇到很多的问题,遇到问题,排查问题的过程是非常重要的经验。java程序员在线上遇到的问题有以下几种。1、线上OOM2、线上机器cpu飙高3、线上网络慢…还有很多很多下面我们就这些问题,来说下处理流程问题处理流程如果有人反馈网络变慢,系统特别卡,这时候线上可能是由于cpu飙高导致系统的响应速度变慢。这时候,处理流程如下1、top 查看...

2019-11-04 20:19:58 572

原创 jvm故障排查工具

文章目录jstatjstat -gc 进程号jstat -gcnew 进程号jstackjmapjstatjstat -gc 进程号S0C:第一个幸存区的大小S1C:第二个幸存区的大小S0U:第一个幸存区的使用大小S1U:第二个幸存区的使用大小EC:伊甸园区的大小EU:伊甸园区的使用大小OC:老年代大小OU:老年代使用大小MC:方法区大小MU:方法区使用大小CCSC:............

2019-11-04 18:23:19 231

原创 Dubbo的服务导出(二)

文章目录服务导出(注册)1、spring如何注入dubbo的处理器2、解析dubbo配置文件3、ServiceBean.class服务导出(注册)1、spring如何注入dubbo的处理器在dubbo的META-INF目录下有spring.handler的文件,里面的DubboNamespaceHandler在spring加载http\://dubbo.apache.org/schema/...

2019-10-27 14:41:56 435

原创 Dubbo配置文件的解析

注:以下内容解析会涉及到Spring容器的加载过程,所以需要对spring容器的启动过程有所了解。1、spring容器在启动的时候会加载解析 resources 下的配置文件,同时会根据dubbo配置文件中的 http://dubbo.apache.org/schema/dubbo 找到 dubbo包下META-INF下的对应的DubboNameSpaceHandler.java2、在加载...

2019-10-26 12:57:19 382

原创 Java集合总结

文章目录集合类图集合的原理,扩容机制ArrayListHashMapHashSet、LinkedHashset集合的区别集合类图集合的原理,扩容机制ArrayListHashMapHashSet、LinkedHashsethashSet的底层实现就是HashMapLinkedHashset的底层实现其实就是 LinkedHashMap // new HashSe的时候其实就是创建...

2019-10-22 15:59:22 153

原创 transient关键字的作用,writeObject和readObject方法的作用

文章目录transient关键字概述java中的序列化序列化概念什么时候需要序列化,实现序列化的过程HashMap是如何实现序列化的transient关键字概述使用transient关键字修饰的属性,在保存对象时,该属性并不会被保存。简而言之,被transient修饰的变量不参与序列化和反序列化。在java中,有很多的类都实现了java.io.Serializable接口,但是同时,类中的...

2019-10-22 15:06:23 1393

原创 IDEA创建项目环境

文章目录在远程仓库上创建项目创建maven项目在远程仓库上创建项目1、在github 或者gitlab上创建项目2、git clone ssh地址创建maven项目①.分别创建 provider war包,biz,common,service,dao jar包,然后将调用关系在pom进行添加。②.创建 maven根目录上述的 java,resource目录自己手动的去创建。...

2019-10-17 23:27:43 292

原创 mac下安装mysql,使用mysql

文章目录下载MySQL安装并启动MySQL修改root密码,创建数据库下载MySQL1、mysql官网:https://www.mysql.com/2、点击Download3、点击MySQL Community (GPL) Downloads »4、点击MySQL Community Server5、在这个页面,下载dmg版本的MySQL安装并启动MySQL1、双击下载好的mys...

2019-10-16 19:06:27 300

原创 Java开发面试题总结

文章目录前端知识JAVA基础集合相关多线程相关JVM相关框架SpringSpringMVCMyBatisSpringBootSpringCloudDubbo数据库索引事务Redis (考的特别多)消息中间件ZookeeperDocker算法相关前端知识1、session和Cookie的区别JAVA基础1、方法重写和重载2、类的加载机制3、自定义注解的实现,自定义注解中的注解有哪些?@...

2019-10-12 11:27:42 326

原创 读Redis深度历险-基础数据结构和分布式锁

文章目录Redis五大基础数据结构1、String(字符串)内部结构实现2、list(列表)3、hash(字典)4、set集合5、zset集合容器型数据结构的通用规则Redis分布式锁Redis五大基础数据结构5种数据结构分别是:string(字符串)、list(列表)、hash(字典)、 set(集合) 和 zset(有序集合)redis所有的数据结构都是唯一的key值来获取相应的val...

2019-09-30 11:17:33 285

原创 Prometheus-监控系统

文章目录Prometheus(普罗米修斯)概述环境搭建数据存储CounterSummaryGaugeHistogram源码pom导入基础架构Prometheus(普罗米修斯)概述prometheus:Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。非常少的外部依赖+系统集成(docker Nginx JMX等),安装操...

2019-09-27 17:31:04 755

原创 JVM-类加载机制

文章目录JVM结构解析JVM结构解析

2019-09-26 17:29:29 103

原创 责任链设计模式

文章目录概述实现原理实践1.流水账式代码2.使用责任链模式的代码概述责任链设计模式,顾名思义,就是在一条链上执行逻辑的过程。实现原理上图展示的是责任链模式的一个处理过程,每一个处理节点对应的是一个processor实践1.流水账式代码在日常开发的过程中,我们经常会遇到这样的问题,一个业务的分支很多,然后随着业务的不断发展,我们的代码中会通过很多的 if…else… 进行实现。这样最...

2019-09-25 14:42:14 186

原创 Linux命令-awk使用

AWK是一种处理文本文件的语言,是一个强大的文本分析工具菜鸟教程:https://www.runoob.com/linux/linux-comm-awk.html注:awk 如果不指定分隔符的话,默认是以 "空格" 为分隔符进行分隔的常用的akw语法总结1、grep "xxx" catalina.out | awk -F "xxx" '{print $1}'catalina...

2019-09-25 10:26:23 183

原创 AQS-AbstractQueuedSynchronizer

文章目录AQS概述AQS概述

2019-09-23 17:03:05 138

原创 volatile关键字理解

文章目录概述实现原理概述各个线程之间的变量更新,如果想让其他线程立即可见,那么需要使用volatitle关键字,故volatile字段是用于线程间通讯的特殊字段。每次读volatile字段都会看到其它线程写入该字段的最新值!也就是说,一旦一个共享变量(成员、静态)被volatile修饰,那么就意味着:a线程修改了该变量的值,则这个新的值对其他线程来说,是立即可见的!实现原理//线程Abo...

2019-09-20 18:11:11 152

原创 ArrayBlockingQueue

文章目录概述实现原理1、属性2、构造器3、核心方法ArrayBlockQueue与LinkedBlockQueue的对比不同点相同点概述ArrayBlockingQueue是采用数组实现的有界阻塞线程安全队列。如果向已满的队列继续塞入元素,将导致当前的线程阻塞。如果向空队列获取元素,那么将导致当前线程阻塞。实现原理1、属性 // 存放元素的数组 final Object[] i...

2019-09-20 15:25:58 234

原创 ThreadLocal的使用场景与原理理解

一、ThreadLocal机制ThreadLocal模式提供一种在线程内共享变量(资源)的机制;也就是 同一个 ThreadLocal 所包含的对象(对ThreadLocal< String >而言即为 String 类型变量),在不同的 Thread 中有不同的副本。二、ThreadLocal的原理ThreadLocal是线程内部的数据存储类,通过它可以指定的线程中存储数...

2019-09-20 10:54:43 1105

原创 insert ... on duplicate key update 的使用

以下存在2种经常用到的语法使用该语句之前必须确保数据库有唯一主键,每次是根据唯一主键进行更新其他字段的数据uniq index idx_age_birthday(`age`, `birthday`);①、insert into sku_price_change_info(nick_name, age, birthday)values(#{nickName}, #{age...

2019-09-20 10:51:53 369

原创 Maven实际开发总结

概念maven是项目开发的依赖管理工具,也是服务的构建工具,非常方便;遵循着"约定大于配置的"思想,使得项目的构建更加快速,同时也解决了很多需要开发人员去解决的棘手的问题。maven的用处总结如下几点:①.服务构建,自动化构建②.消除构建重复,抽象了生命周期③.依赖管理工具④.约定大于配置,项目目录结构优点①.快速构建②.持续集成③.与实际代码解耦核心pom.xml仓库仓...

2019-09-20 10:51:09 469

原创 LinkedBlockingQueue队列

文章目录概述概述

2019-09-20 10:43:38 907

原创 ReentrantLock-可重入锁

文章目录概述类图实现原理1、属性,核心方法核心方法非公平锁和公平锁的两处不同:概述ReentrantLock 可重入锁:ReentrantLock锁在同一个时间点只能被一个线程锁持有;而可重入的意思是,ReentrantLock锁,可以被单个线程多次获取。类图实现原理1、属性,核心方法private final ReentrantLock.Sync sync; /** ...

2019-09-20 10:42:55 174 1

原创 线程池

线程池

2019-09-16 15:24:28 101

原创 SimpleDateFormat线程不安全原因和解决方案

在实际开发中,我们都说,simpleDateFormat是线程不安全的,但是具体是什么原因呢,还是看下源码,我们就知道了SimpleDateFormat线程不安全的原因在平时的开发过程中,我们都会写一个DateUtils的类,这个类我们在处理的时候,会进行日期格式的转换,比如 SimpleDateFormat.format(str,pattern);使用上述方法,我们经常会把传入的日期,...

2019-09-09 22:15:30 519

原创 软件设计原则-个人理解

在软件开发过程中,我们需要遵守很多的规则,来完成程序的编写。但是在实际开发的过程中,由于需求的不断迭代,程序功能的不断完善,代码在扩展的过程中会遇到瓶颈。这时候,我们就需要熟知软件开发过程中的原则,并遵守原则。下面就软件开发的六大原则进行阐述个人的理解和看法单一职责原则顾名思义,这个原则说的就是 “一个类或一个方法就只干一件事”,只承担一个责任,即单一职责原则。里氏替换原则这个原则一...

2019-09-08 16:39:13 400

原创 @Controller 与 @RestController的区别

在项目的开发中,我们在Controller层经常会遇到有些是@Controller,有些是 @RestController注解,下面就总结下他们两个的区别@Controller如果controller中使用的是这个注解,除了springmvc扫描注解,注入controller类之外;如果要返回到指定的 jsp页面,则需要配合视图解析InternalResourceViewResolver才行,...

2019-09-06 17:52:42 128

原创 LeetCode笔试题总结

序号 题号 题名 通过率 难度 URL 标签 备注 1 717 1比特与2比特字符 43.30% 简单 https://leetcode-cn.com/problems/1-bit-and-2-bit-characters/ 数组 简单 2 50 Pow(x, n) 32.90% 中...

2019-09-04 14:52:25 934

原创 dubbo-telnet查看控制台,并invoke

在开发的过程中,经常需要去调第三方的服务。此时通过dubbo去调用的时候,就会出现调用不通的情况,然后dubbo一直重试,直到重试次数用完此时,如果注册中心,provider,consumer均注册成功的情况下,还是调用不通的话,就可以telnet应用,手动执行invoke,查看问题。同时,也可以看下dubbo控制台是否将应用注册成功官网地址:http://dubbo.apache.org...

2019-06-10 18:23:39 2817 1

原创 项目开发总结

经历很多的项目,在项目开发的迭代过程中,越来越觉得<"规范">是非常非常重要的;可能一个项目组的不同项目都是多种风格,因此,规范化,统一化是非常非常重要的,也可以减少沟通成本、提高效率一、项目结构①.exercise-provider:前端,第三方系统交互,消息,task入口②.exercise-biz:业务组装处理层,将多个业务进行组装,整合对biz层的要求是只要...

2019-06-06 17:34:14 1971

原创 IDEA如何自动删除 无用的"import 包"、自动展开 import java.utils.*类型的导包

1、自动删除 无用的"import 包"2、自动展开 import java.utils.*类型的导包

2019-06-05 22:13:53 3789

原创 IDEA中MyBatis逆向生成文件

MyBatis逆向工程生成文件是非常方便的,使用其可以帮助我们很快的生成mapper,mapper.xml以及PO文件以下是生成文件需要的配置1、pom文件中添加 mybatis.generator 的配置<build> <plugins> <plugin> <group...

2019-05-29 20:52:32 1102

转载 IDEA 中 右键新建(new)时,选项没有scala(java) class的解决方法和具体解释

转载:https://blog.youkuaiyun.com/huan_chen/article/details/78574835

2019-05-28 11:00:33 1654

原创 阿里云服务器远程连接及账户密码登录

一、远程连接一般我们购买云服务器之后,可以直接修改实例密码和远程连接密码,然后直接可以远程连接服务器此时输入远程连接密码之后,就可以登录到云服务器上了二、账户名,密码登录一般一开始我们都是通过root用户进行登录服务器ssh -p 22 root@xxx.xxx.xx然后输入密码即可...

2019-05-27 15:42:44 18715 1

原创 IDEA插件-.ignore-往github上不提交隐藏文件或无用代码的方法

在使用IDEA的时候,当我们在本地每次创建完目录之后,总会出现一些类似 .idea文件夹,以.iml文件结尾的一些临时文件,此时,我们并不需要把类似这样的文件提交至远端;这时,IDEA中的插件[.ignore] 就派上用场了;一、首先去IDEA的插件市场中去找到.ignore插件安装完成之后,重启IDEA二、创建.ignore File此时会创建出.gitgnor...

2019-04-29 14:38:32 1071

原创 github上新增SSH-key以及遇到的问题

当我们在git上创建完了仓库之后,需要创建SSH-key,由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。生成SSH key步骤如下1、cd ~ 进入当前目录, ls -a 查看 .ssh 文件夹是否存在,如果没有,则 mkdir .ssh 创建该文件夹2、cd ~/.ssh 进入目...

2019-04-21 23:41:28 2059

空空如也

空空如也

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

TA关注的人

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