自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git清除本地缓存

工作中遇到了令我头痛的是Gitlab远程仓库中初始化仓库时,提交了.idea文件,导致我clone下来代码后,idea导入.idea文件改变,在以后的提交过程中都需要合并.idea文件中的xml文件,很麻烦,所以添加.gitignore文件输入.idea/意思是忽略掉.idea/文件下的所有文件。但是都是失败,因为第一次clone的时候,本地与远程的.idea文件已经建立了track,所以只有...

2019-05-16 20:37:08 22949

原创 Moco模拟接口的Mock框架

Moco一个模拟后端接口的框架,简单易用,基于json的编写,前端后端并行开发的时候,为了不影响前端开发可以提前编写一套Moco接口供前端使用,关于Moco介绍以及使用的文章很多,但如今用工作中用到了还是想分享一下。本文目录:Moco的下载以及安装及demo演示 Moco的运用案例及常用标签 Moco的分模块编写1、Moco下载及安装及demo演示进入Moco的github项目地...

2019-05-16 20:22:25 465

原创 Gitee 、Gitlab配置ssh key

1、第一步生成ssh密钥对即(公钥和私钥)进入linux的shell命令行:查看是否已有密钥对,cat ~/.ssh/id_rsa.pub和~/.ssh/id_rsa两个密钥文件,id_rsa.pub是生成的公钥,id_rsa是生成的私钥,如果没有就生成密钥对,执行ssh-keygen -t rsa -C "lishengtao1238.163.com" 后一直按回车,最后出现下图表明...

2019-05-16 13:44:35 310

原创 zookeeper开源框架curator的ConnectionStateListener机制

zookeeper的开源框架curator提供了重连的机制近期我做的一个开源项目分布式调度平台xj-job中执行器与调度中心解耦,用到了zookeeper做为执行器注册中心,执行器启动向zookeeper注册执行器信息临时节点,当执行器停止会自动剔除,curator提供了客户端重连机制,进程阻塞导致的zookeeper客户端会话超时,导致的zookeeper启用重连机制。Exponenti...

2019-04-18 19:44:07 4136 1

原创 spring/springboot整合curator遇到的坑

近期本人在搭建自己的调度平台项目使用到了zookeeper做执行器自动注册中心时,使用到了springboot2.0+curator4.0版本整合,整个代码:pom.xml<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-fr...

2019-04-18 11:57:58 4958

原创 Git本地分支关联远程分支

我们经常会遇到本地分支关联远程分支,近几天我就遇到了,因为公司新起的项目,在码云Gitee上创建了仓库名称叫xjjob,于是就在本地创建了idea创建项目,并搭建架构,搭建完成需要推送到公司的Gitee仓库里,于是就涉及到本地仓库关联远程仓库。下面是我的操作:1、第一步查看本地仓库关联的远程仓库信息 命令:git remote show origin 1)未关联过远程仓库...

2019-04-12 14:17:19 12452

原创 JAVA面试中常见的面试题(四)——servlet、网络和spring

JavaWeb1、jsp和servlet有什么区别?1)servlet是一种独立于平台和协议的服务器端的Java技术,可以跨平台,被用于控制逻辑,Servlet更多的是类似于一个Controller,用来做逻辑控制。2)jsp的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类,jsp是JAVA和HTML代...

2019-04-11 19:55:47 181

原创 JAVA设计模式

简述知道的设计模式并分别讲解使用场景。简述工厂和抽象工厂的设计模式

2019-04-11 19:44:08 82

原创 JAVA面试中常见的面试题(三)——异常、对象拷贝和MYSQL数据库

异常1、throw和throws的区别?1)throws出现在方法函数头;而throw出现在函数体。2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。3)throws是将异常声明但是不处理,调用方法必须捕获该异常或者异常往上传,谁调用我就交给谁处理如果最上层调用不处理就抛给JVM处理,而throw抛出的异...

2019-04-11 17:48:43 553

原创 JAVA动态代理代码示例

概念理解代理是一种软件设计模式,目的地希望能做到代码重用。代理这种设计模式是通过不直接访问被代理对象的方式,而访问被代理对象的方法。这个就好比 商户---->明星经纪人(代理)---->明星这种模式。我们可以不通过直接与明星对话的情况下,而通过明星经纪人(代理)与其产生间接对话,JAVA中的代理分为两种。静态代理类:由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行...

2019-04-11 13:49:28 1681

原创 ThreadLocal学习理解随笔

ThreadLocal的概念解读和原理分析官方概念:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,ThreadLocal并不是一个Thread,而是Thread的局部变量。大众理解:ThreadLocal本成为线程本地存储,一般作为静态域使用,它为每个线程创建一个属于每个线程的副本对象,所以多线程情况下,各线程操作的都...

2019-04-10 16:44:35 100

原创 JAVA面试中常见的面试题(二)——多线程和反射

多线程1、并行与并发的区别?并行是在不同实体上的多个事件,并发是在同一实体上的多个事件,并行是同时执行,并发是交替执行,。并发:指的是在同一时间段可以交替执行一个以上的任务称为并发,而并不是同一时刻处理一个以上的事件,由于多个线程调用同一事件时,cpu在多个线程之间还是串行交替执行的,只是cpu的切换速度很快我们感觉不到。并行:指的是同一时刻处理一个以上的不同任务,如应用能够同时执...

2019-04-04 17:28:30 745

原创 JAVA面试中常见的面试题(一)——JAVA基础

JAVA基础:1、jdk和jre的区别:jre是(Java Runtime Environment)运行java程序的环境,它包含JVM和解释java的.class字节码文件所需要的lib,所以jre包含jvm和lib。jdk是(Java Development Kit)是Java的开发工具包,主要包含了各种类库和工具,它也包含了jre环境,再jdk的根目录下又jre文件夹存放的就是j...

2019-04-04 11:25:22 651

原创 Mongo的$where复杂查询

$where复杂查询,查询实例:mongo中存在文档:woker{ "id":1001, "age":20, "workInfo":{ "salary":6000.00, "ability":"compute It work" }, "brotherAge":21 "degree": 3 //0初中,1高中,2专...

2019-04-02 18:27:10 1399

原创 配置自己的jdk提供的jconsole.exe配置自己的监视管理控制台

JConsole(Java Monitoring and Management Console)是一种基于JMX的可视化监视、管理工具。他管理部分的功能是针对JMX MBean进行管理,由于MBean可以使用代码、中间件服务器的管理控制台或者所有符合JMX规范的软件进行访问,这里着重介绍JConsole监控部分的功能。这是它的概念我任务不重要,重要的是它能做什么,怎么配置?jConsole...

2019-04-01 20:29:29 179

原创 JVM内存结构和JVM参数调优

近期公司项目运行过程中出现java heap outofmemotyerror异常,导致请求挤压,需要调整JVM虚拟机参数,针对以上问题参考思路,heap堆内存泄露,第一步查看进程堆内存容量及其使用情况,UNIX命令jmap -heap pid(java 应用的进程号),执行命令结果如下图1.1,客户端调用进程服务导致进程新生代堆内存中的eden区内存使用率达到百分之百,故解决方案查看分析进程服务...

2019-04-01 18:19:22 274

原创 JAVA的BIO、NIO和AIO

通常IO操作包括对磁盘的读写,socket网络的读写和外部连接设备的读写,在讲解java的io之前需要了解,同步、异步、阻塞和非阻塞的概念网络IO请求完整的过程分为两个阶段,第一个发送io请求指令,第二阶段响应结果的处理。同步异步主要发生在第二阶段故同步异步的差异就发生在第二阶段,阻塞非阻塞主要发生在第一阶段。同步:在第二阶段服务器响应结果,需要客户端先线程主动去询问是否完成和响应数据...

2019-03-29 17:58:54 129

原创 深入了解UNIX的IO模型和NIO的线程模型演变reactor和proactor线程模型

通常io操作包括对磁盘、网络socket和外连设备的读写,本文大致先呈现io操作中阻塞IO、非阻塞IO、同步IO和异步IO的概念,然后呈现IO的网络模型,最后讲解两种常见的NIO两种线程模型。IO操作分为两个阶段第一个阶段是IO请求后数据准备阶段,第二阶段是内核空间把数据响应到用户进程阻塞IO、非阻塞IO阻塞和非阻塞发生在IO操作的第一阶段,IO请求数据准备阶段。阻塞:用户线程发起...

2019-03-29 15:18:04 242

原创 清理linux服务器内存buffer/cache

今天项目出现问题,进分析原因是系统缓存占用过高,导致程序不能正常服务,故需要编写清理系统缓存的脚本,在讲解清理缓存之前呢,需要明白缓存buffer/cache。在linux系统,对文件的读写都需要buffer和cache两种缓存配合使用,buffer即buffer cache内存块,保存文件的metadata元数据、属性、权限和目录信息,cache即page cached 页面缓存,用来缓存打...

2019-03-28 14:38:48 972

原创 JAVA中的CAS和ABA问题

1.CAS1)CAS概念CAS时Compare And Swap缩写,即比较与交换是用于实现多线程同步的原子指令,它将内存位置的内容与给定值相比较,相同则修改内存位置的值为新值,而整个操作是调用的UnSafe的compareAndSwapObject、compareAndSwapInt或者compareAndSwapLong完成的,而这些方法都是native修饰的本地方法,是一种系统原语系...

2019-03-27 21:18:47 1781

原创 JAVA多线程基础《线程终止》

interrupt终止线程运行1.线程类interrrupt()解读interrupt的作用是中断本线程,本线程中断自己是被允许的,如果是其他线程调用本线程的inteerupt方法也是被允许的,但调用之前会调用checkAccess检查权限,这有可能抛出SecurityException异常,但被jdk内部捕获处理并返回false无权限调用本线程的interrupt方法,如果本线程是处于阻塞状...

2019-03-27 16:53:01 210

原创 spring定时任务框架Schelduler源码解析

spring定时任务框架Schelduler源码解析1.第一步@scheduler的注解bean注册、初始化后置处理器 ScheduledAnnotationBeanPostProcessorpublic Object postProcessAfterInitialization(Object bean, String beanName) { Class<?> ta...

2019-03-27 16:52:48 637

空空如也

空空如也

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

TA关注的人

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