自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chao430的博客

java 成长之路

原创 aop:aspect与aop:advisor的区别

在开发过程中,不少有Spring Aop的使用,在面向切面编程时,我们会使用< aop:aspect>;在进行事务管理时,我们会使用< aop:advisor>。那么,对于< aop:aspect>与< aop:advisor>的区别,具体是怎样的呢...

2020-02-12 17:25:34

阅读数 16

评论数 0

原创 Excel修改证件照图片背景色

https://www.cnblogs.com/liyanbin/p/9466746.html

2020-01-15 14:26:33

阅读数 10

评论数 0

原创 Dubbo入门以及发布服务

https://baijiahao.baidu.com/s?id=1608637646057317410&wfr=spider&for=pc https://blog.csdn.net/gongjds/article/details/79384792

2019-12-26 13:50:15

阅读数 4

评论数 0

原创 分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC

https://www.cnblogs.com/zcjcsl/p/7989792.html

2019-12-20 11:33:20

阅读数 9

评论数 0

原创 JVM 垃圾回收器

https://www.cnblogs.com/chenpt/p/9803298.html

2019-12-11 11:26:00

阅读数 6

评论数 0

原创 Dubbo注册到发布执行流程(原理)

https://www.liangzl.com/get-article-detail-1250.html

2019-12-10 08:29:29

阅读数 6

评论数 0

原创 eclipse常用快捷键

快捷神器 Ctrl-Shift-I:debug模式下可以直接看到变量的值 Ctrl+Q定位到最后编辑的地方 Ctrl+L定位在某行(对于程序超过100的人就有福音了) Ctrl+W关闭当前Editer Ctrl+K参照选中的Word快速定位到下一个 反向定位则加shift 【Alt...

2019-08-26 08:57:41

阅读数 16

评论数 0

原创 Java中性能优化方法汇总

很多同学在日常写Java的时候很少去关心性能问题,但是在我们写代码的过程中必须考虑到性能对程序的影响。小到我们使用位运算来实现算术运算,大到我们对 Java 代码的总体架构设计,性能其实离我们很近。本文介绍了Java中性能优化的35种方法,需要的朋友可以参考下。 前言 对程序员们来说,代码优化...

2019-08-26 00:39:58

阅读数 86

评论数 0

转载 性能对比:Count(字段)、Count(主键)、Count(1)、Count(*)

以下讨论是基于InnoDB引擎。 至于分析性能差别的时候,可以记住以下几个原则: server层要什么就给什么; InnoDB只给必要的值 现在的优化器只优化了count(*)的语义为“取行数”,其它“显而易见”的优化并没有做。接下来,我们一个个来进行分析。 对于c...

2019-07-12 11:18:34

阅读数 157

评论数 0

原创 ArrayList 源码分析-----扩容机制

Jdk1.7之前ArrayList默认大小是10,JDK1.7之后是0,JDK差异,每次约按1.5倍扩容。 动态扩容最关键是grow()方法 。 通过源码中int newCapacity = oldCapacity + (oldCapacity >> 1);可得容量扩大为原来的1....

2019-07-11 00:13:35

阅读数 23

评论数 0

原创 后续博文解决问题点

B+tree怎么分裂、什么时候分裂、为什么是平衡的 有没有了解过paxos和zookeeper的zab算法,他们之前有啥区别? 你们后端用什么数据库做持久化的?有没有用到分库分表,怎么做的? MySQL的存储引擎有哪些,有哪些区别?索引的常见实现方式有哪些,有哪些区别...

2019-07-03 10:37:57

阅读数 19

评论数 0

原创 入门级 开源SpringBoot+Vue项目

推荐两个入门级 开源SpringBoot+Vue项目: 有详细的部署教程 微人事系统 V部落博客管理平台 参考:https://blog.csdn.net/u012702547/article/details/94381774

2019-07-02 09:04:16

阅读数 645

评论数 0

原创 Collection之list源码分析

Java中常用到ArrayList和LinkedList,面试中也常问到两者的区别,各自的使用场景。要想清楚的明白他们的区别,那还是得从源码入手。 List接口 List接口中的方法有很多,但最重要的无非是增删查改,我们从ArrayList与LinkedList的实现上来讨论他们的增删查改性能...

2019-06-28 12:41:45

阅读数 18

评论数 0

原创 面试相关总结

只要方法得当,准备面试第一不难,第二用的时间也不会太多。 别让人感觉你只会山寨别人的代码 框架是重点,但别让人感觉你只会山寨别人的代码!在面试前,我会阅读简历以查看候选人在框架方面的项目经验,在候选人的项目介绍的环节,我也会着重关注候选人最近的框架经验,目前比较热门的是SSM。 不过,一般工...

2019-06-25 09:59:22

阅读数 44

评论数 0

原创 hashcode()和equals()的作用、区别、联系

https://www.cnblogs.com/keyi/p/7119825.html

2019-06-08 00:39:22

阅读数 19

评论数 0

原创 spring aop 理解

最近一直在面试,aop这个还是永远的热点,看不了不少大佬的关于aop的文章,感觉还是下面不错 常问的点 : 两种动态代理 区别 , 怎么强制使用CGLIB代理 切点和切面定义 底层原理,自己动手写怎么写实现 动态代理 JDK动态代理:只能为接口创建动态代理实例,而不能针对类 。 CGLi...

2019-06-04 12:19:39

阅读数 20

评论数 0

转载 分布式锁之三:基于ZooKeeper的分布式锁

实现分布式锁目前有三种流行方案,分别为基于数据库、Redis、Zookeeper的方案,其中前两种方案网络上有很多资料可以参考,本文不做展开。我们来看下使用Zookeeper如何实现分布式锁。 什么是Zookeeper? Zookeeper(业界简称zk)是一种提供配置管理、分布式协同以及命名...

2019-05-23 01:07:24

阅读数 13

评论数 0

转载 分布式锁之二:基于Redis的分布式锁

Redis分布式锁的正确实现方式 前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样...

2019-05-23 01:04:26

阅读数 22

评论数 0

转载 分布式锁方式一 . 基于数据库的分布式锁

乐观锁 基于数据库资源表做乐观锁,用于分布式锁: 1. 首先说明乐观锁的含义: 大多数是基于数据版本(version)的记录机制实现的。何谓数据版本号?即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表添加一个 “version”字段来实现读取出数据时,将此版...

2019-05-23 00:05:05

阅读数 22

评论数 0

转载 Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么?

前言 HashMap 在 Java 和 Android 开发中非常常见 而HashMap 1.8 相对于 HashMap 1.7 更新多 今天,我将通过源码分析HashMap 1.8 ,从而讲解HashMap 1.8 相对于 HashMap 1.7 的更新内容,希望你们会喜欢。 本文基于版...

2019-05-22 11:07:13

阅读数 26

评论数 0

原创 什么是指令重排序?

什么是指令重排序? 有两个层面: **在虚拟机层面,**为了尽可能减少内存操作速度远慢于CPU运行速度所带来的CPU空置的影响,虚拟机会按照自己的一些规则(这规则后面再叙述)将程序编写顺序打乱——即写在后面的代码在时间顺序上可能会先执行,而写在前面的代码会后执行——以尽可能充分地利用CPU。拿上面...

2019-05-11 03:08:42

阅读数 690

评论数 0

转载 Integer与int的种种比较你知道多少?

如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问...

2019-05-11 03:04:47

阅读数 12

评论数 0

转载 用过哪些JDK自带的命令行工具

一、jps:虚拟机进程状况工具二、jstat:虚拟机统计信息监视工具三、jmap:Java内存映像工具四、jhat:虚拟机堆转储快照分析工具五、jstack:Java堆栈跟踪工具六、jinfo:Java配置信息工具 java和javac这两个命令行工具我们应该都很熟悉,但是除了这两个工具jdk/...

2019-05-11 03:03:50

阅读数 78

评论数 0

原创 堆栈异常

Java栈 Java Stack:   Java栈总是与线程关联在一起的,每当创建一个线程,JVM就会为该线程创建对应的Java栈,在这个Java栈中又会包含多个栈帧(Stack Frame),这些栈帧是与每个方法关联起来的,每运行一个方法就创建一个栈帧,每个栈帧会含有一些局部变量、操作栈和方法...

2019-05-11 03:03:01

阅读数 441

评论数 0

转载 面试官:你知道并发Bug的源头是什么吗?

讲实话听到这个问题,不太熟悉并发编程的同学有点晕,你可能只能答个因为多线程之间的竞争共享资源啊。对说的没错。 但是呢感觉不够亮眼!我们的目的就是让面试官眼前一亮,让他颤抖!心里鼓掌:"牛批牛批!" 万剑归宗 多线程,给我们的感觉像啥?就像《风云》里面的无名的&qu...

2019-05-11 02:50:22

阅读数 46

评论数 0

转载 JMM和底层实现原理

1.并发编程领域的关键问题 1.1 线程之间的通信 线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信,典型的共享内存通信方式就是通过共享对象...

2019-05-11 02:25:16

阅读数 83

评论数 0

原创 SQL 性能调优--持续更新

我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! SQL优化是一个分析,优化,再分析,再优化的过程。站在执行计划的角度来说,我们这个过程,就是在不断的减少rows的数量。主要步骤有: 通过explain 来查看执行计划。通过这一步骤,我们...

2019-05-10 03:28:54

阅读数 38

评论数 0

转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解

JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对...

2019-05-10 01:02:07

阅读数 37

评论数 0

原创 上传文件 不同文件对应的文件头设置

{ ".doc", "application/msword" }, {".docx",application/vnd.openxmlformatsofficedocument.wordprocessingml.d...

2019-04-26 17:48:24

阅读数 211

评论数 0

原创 按钮不通过表单 使用 ajax上传文件

近期在做一个文件上传xia下载功能,因为不适合使用通过表单方式提交后台,只是通过如下方式按钮上传文件到后台并且需要传参数 主要是可以不通过提交表单,而是通过按钮触发ajax把文件内容和参数传递到后台 当然大部分情况下我们都是可以通过form表单形式提交到后台,这个当然要简单多了, 主要我这个...

2019-04-25 18:21:09

阅读数 85

评论数 0

原创 Spring源码学习 之 IOC 部分

IOC(Inversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们可配置的文件。  DI(Depe...

2019-04-16 09:34:58

阅读数 27

评论数 0

原创 TCP的三次握手与四次挥手

三次握手过程理解 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也...

2019-04-01 14:48:46

阅读数 21

评论数 0

原创 设计模式学习笔记之原型模式

原型模式:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 在原型模式中我们可以利用过一个原型对象来指明我们所要创建对象的类型,然后通过复制这个对象的方法来获得与该对象一模一样的对象实例。这就是原型模式的设计目的。 讲到原型模式了,就不得不提Clone...

2019-03-29 01:50:37

阅读数 20

评论数 0

原创 SpringMVC之Handler

先说下SpringMVC的核心开发步骤: 在web.xml中部署DispaterServlet,并配置springmvc.xml等文件; 将映射文件请求到处理器HandlerMapping; HandlerMapping会把请求映射为HandlerExecutionChain类型的handl...

2019-03-28 23:29:52

阅读数 605

评论数 0

原创 IntelliJ IDEA 激活 (亲测有效)

最近系统重装一次,原来的idea配置失效,也需要重新激活才能使用,在博客发现如下操作可以激活idea 亲测可用,亲测可用,亲测可用 感谢此博主的分享,谢谢https://blog.csdn.net/h1021456873/article/details/78930383 最新的IDEA激活方...

2019-03-28 00:24:04

阅读数 268

评论数 0

原创 微服务进阶(一)

最近在系统学习微服务技术,特此记录下学习笔记和进程

2019-03-28 00:13:45

阅读数 52

评论数 0

原创 设计模式学习笔记--单例模式

单例模式学习笔记 去年有整理过一篇单例模式的博客单例模式 整理, 近期在看了学习一些资料后,有了一些新的心得 第一种 : 饿汉模式 class Singleton2{ private static final Singleton2 INSTANCE = new Singleton2(...

2019-03-25 22:31:13

阅读数 34

评论数 0

原创 Java设计模式学习笔记--工厂模式

工厂方法模式Factory Method,又称多态性工厂模式。在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将具体创建的工作交给子类去做。该核心类成为一个抽象工厂角色,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。 ...

2019-03-22 16:15:13

阅读数 17

评论数 0

原创 Java设计模式学习笔记---七大设计原则

参考文档:咕泡学院 Tom 老师--软件架构设计七大原则 开闭原则 开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。所谓的开闭,也正是对扩展和修改两个行为的一个原则。强调的是用抽象构建框架,用实现扩展细节。可以提高软件系...

2019-03-21 10:40:51

阅读数 55

评论数 0

原创 Linux常用命令整理 --持续更新

cat: 用于将一个文件的内容连续输出在屏幕上 其命令格式如下: cat [-option] 文件名 常用参数: -n:将行号一起显示在屏幕上 -b:将行号一起显示在屏幕上,但空行不算 more:同样用于显示文件内容,会在显示完一屏内容后停下,可以下翻。 ...

2019-03-20 17:27:50

阅读数 49

评论数 0

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