自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 一篇文章带你读懂 MySQL 和 InnoDB

转载自 | http://draveness.me/mysql-innodb.html作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据...

2019-02-25 10:02:52 322 1

原创 redis学习之redis持久化方式

1.前言redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”...

2019-02-14 10:28:19 102

原创 spring之循环依赖解决办法

(一)对象循环依赖(1)循环依赖-->循环引用。--->即2个或以上bean 互相持有对方,最终形成闭环。 eg:A依赖B,B依赖C,C又依赖A。【注意:这里不是函数的循环调用【是个死循环,除非有终结条件】,是对象相互依赖关系2. 循环依赖的场景?①构造器依赖(这个解决不了,具体原因往下看)。②通过setter循环依赖。(这个可以解决)。3. 如何发现...

2019-02-01 11:10:20 395

原创 分布式事务之TCC模型 confirm失败补偿

继上篇https://blog.csdn.net/qq_20958071/article/details/86527850上篇说到try阶段失败的时候,事务实现回滚,利用cancel方法保证事务的一致性,但是在confirm阶段,confirmA成功,confirmB成功,confirmC失败或者方法执行时间过长(也许是网络原因导致)的时候,怎么来保证事务的一致性呢。TCC有一个任务,专门...

2019-01-21 20:54:52 5047 4

原创 分布式事务之TCC模型 原理解析

最近学习了分布式框架TCC,为了自己不忘记TCC的运行方式,特次记录下TCC架构源码解析。TCC的概念跟系统架构不多描述,不懂的直接百度。先简单的写下TCC架构的代码用例:方法A为主服务,是调用者。 @Compensable(confirmMethod = "confirmA",cancelMethod = "cancelA") @Transactional public voi...

2019-01-18 11:11:17 1373

转载 《Java虚拟机原理图解》 1.1、class文件基本组织结构

作为Java程序猿,我们知道,我们写好的.java 源代码,最后会被Java编译器编译成后缀为.class的文件,该类型的文件是由字节组成的文件,又叫字节码文件。那么,class字节码文件里面到底是有什么呢?它又是怎样组织的呢?让我们先来大概了解一下他的组成结构吧。NO1. 魔数(magic)      所有的由Java编译器编译而成的class文件的前4个字节都是“0xCAF

2018-01-17 09:58:58 198

原创 Java注释@interface的用法

@interface是用来自定义JAVA Annotation的语法,普通的开发人员可能很少用到它,但是它的功能很强大,本文将具体介绍@interface的用法!       @interface是用来自定义注释类型的,如果你不了解Java注释,可以参阅上一篇文章:"JDK5.0注释(Annotation)的用法"。       一般的应用程序开发人员可能从不需要定义一个注释类型,但定义我

2017-05-22 09:59:53 322

原创 编程式事务与声明式事务的区别

编程式事务需要你在代码中直接加入处理事务的逻辑,可能需要在代码中显式调用beginTransaction()、commit()、rollback()等事务管理相关的方法,如在执行a方法时候需要事务处理,你需要在a方法开始时候开启事务,处理完后。在方法结束时候,关闭事务.声明式的事务的做法是在a方法外围添加注解或者直接在配置文件中定义,a方法需要事务处理,在spring中会通过配置文件在a方

2017-05-17 10:13:36 364

原创 Spring的两种代理JDK和CGLIB的区别浅谈

一、原理区别Java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP 3、如果目

2017-05-04 16:02:00 219

转载 Hibernate与 MyBatis的比较

最近做了一个hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章     Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.NET,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:ht

2017-05-03 15:26:24 186

转载 面试题总结 —— JAVA高级工程师

面试题总结——JAVA高级工程师近期考虑换工作的问题,于是投简历面试,面试5家公司的高级Java工程师,有4家给了我offer,想着总结一下面试经验,方便最近正在寻求机会的你们一、无笔试题不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试二、三大框架方面问题1、Spring 事务的隔离性,

2017-05-03 15:24:10 532

转载 Oracle SQL性能优化

(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表

2017-05-02 09:53:49 171

原创 怎样查看端口号和端口号被哪个程序占用

1 netstat -a -n 显示所有的端口和被哪个进程占用2 netstat -aon|findstr "端口"显示被哪个进程占用3 tasklist|findstr “进程号”显示程序 和进程号4 taskkill /im iexplor.exe(进程名字) 关闭进程   taskkill /pid 2(进程pid号) -f

2017-04-25 15:17:04 272

转载 springmvc学习笔记--json--返回json的日期格式问题

(一)输出json数据springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点:1.使用mvc:annotation-driven2.在依赖管理中添加jackson-mapper-asl1 dependency>2 groupId>org.codehaus.jacksongroupId>3 artifa

2017-04-19 16:08:51 262

原创 mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法

权限问题,授权 给 root  所有sql 权限mysql> grant all privileges on *.* to root@"%" identified by ".";Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

2017-04-11 17:02:54 573

原创 mysql 查询 出现Table 'performance_schema.session_status' doesn't exist错误

之前的数据库文件版本是5.6+,后来升级到5.7+之后一直出现Table 'performance_schema.session_status' doesn't exist错误,解决办法1. 进入Mysql的安装目录的bin文件夹2. 打开cmd进入该目录执行mysql_upgrade -u root -p --force命令然后输入密码问题解决

2017-04-11 16:59:58 745

转载 maven私服仓库之nexu使用

前边简单介绍了Maven,而Maven默认提供的中央仓库是在远程网络服务Appache提供的,这对于我们开发时不合理的。如果我们没网了或者什么情况,我们怎么办?也就是说我们队中央仓库的依赖性太大。而Nexus私服则可以解决我们这个问题。先看下这张图应该大家就非才明白了:    这样就相当于在我们本地的局域网搭建了一个类似中央仓库的服务器,我们开始将中央仓库的一些资料下载

2017-03-17 09:16:55 419

转载 转:Maven常用命令

转:Maven常用命令Maven库:http://repo2.maven.org/maven2/Maven依赖查询:http://mvnrepository.com/Maven常用命令: 1. 创建Maven的普通java项目:    mvn archetype:create    -DgroupId=packageName    -DartifactId=

2017-03-15 10:49:08 196

空空如也

空空如也

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

TA关注的人

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