自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 八股文

一、Java 基础知识1、Object 类相关方法getClass获取当前运行时对象的 Class 对象。hashCode返回对象的 hash 码。clone拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用;深拷贝对基本类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相关属性和方法。两者不同在于深拷贝创建了一个新的对象。equals通过内存地址比较两个对象是否相等,String 类重写了这个方法使用值来比较是否相等。toS.

2020-09-04 16:05:58 168571 35

原创 RocketMQ 分布式事务消息

一、什么是事务事务是将一次执行过程中所涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下才能提交,只要其中任一操作执行失败,都将导致整个事务的回滚。一句话来说,就是保证多个操作要么都做,要么都不做。同时一旦事务提交,则其所做的修改会永久保存到数据库。二、事务的四个特性(ACID)A:原子性(Atomicity)一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Ro.

2020-08-28 11:16:45 920

原创 一文带你整明白Java的N种锁

温馨提示:本文内容较长废话较多,如有心脏病、精神病史等请酌情查看。一、概述本文源码基于openJDK8u。在阅读本文前,你需要对并发有所了解。在并发中,为了解决程序中多个进程和线程对资源的抢占问题,在 Java 中引入了锁的概念。各种各样的锁,对于初碰 Java 并发的同学来说,面对多达 20 种的锁,瞬间懵逼,退游戏这把鸡劳资不吃了......其实不要紧张,虽然锁的种类很多,但是都是根据其特性衍生出来的概念而已,如果你对 Java 锁不是很清晰,希望这篇文章能够对你有所帮助。朋友们,如果你不会.

2020-08-24 10:47:00 1224

原创 如何解决代码中过多的 if else ?

先来一张镇楼图感受一下 if else 的魔法吧。一、由一个几百行 if 引发的思考有个场景,50张字典表,需要为其他服务提供一个统一的接口来校验用户输入的字典表 id 是否合法。校验逻辑已经很清晰了,根据参数选择对应的表校验 id 是否存在。if("table_a".equals(table)) { // check id } if("table_b".equals(table)) { // check id ..

2020-08-20 11:52:30 1413

原创 脏读、幻读和不可重复读

一、引言脏读、不可重复读和幻读是数据库中由于并发访问导致的数据读取问题。当多个事务同时进行时可以通过修改数据库事务的隔离级别来处理这三个问题。二、问题解释1、脏读(读取未提交的数据)脏读又称无效数据的读出,是指在数据库访问中,事务 A 对一个值做修改,事务 B 读取这个值,但是由于某种原因事务 A 回滚撤销了对这个值得修改,这就导致事务 B 读取到的值是无效数据。2、不可重复读(前后数据多次读取,结果集内容不一致)不可重复读即当事务 A 按照查询条件得到了一个结果集,这时事务 B 对事务 A .

2020-08-19 17:15:19 2070

原创 分布式事务之两阶段提交(2PC)

两阶段提交(2PC) 是 Oracle Tuxedo 系统提出的 XA 分布式事务协议的其中一种实现方式。一、关于 XA 分布式事务协议XA 分布式协议主要有两个角色:事务管理器(协调者)事务管理器作为全局事务的协调管理者,与每个资源管理器通信,完成分布式事务的管理。资源管理器 (参与者)资源管理器管理每个参与者的事务资源,其应该具有提交和回滚的能力,如数据库。XA 分布式协议制定的分段提交过程:第一阶段( prepare )第一阶段每个参与者准备执行事务并对需要的资源加锁,进入 .

2020-08-19 16:09:28 888

原创 说说 Java 线程池

一、引言池的概念大家并不陌生,数据库连接池、线程池等...大体来说,有三个优点:降低资源消耗。提高响应速度。便于统一管理。以上是 “池化” 技术的相同特点,至于他们之间的不同点这里不讲,两者都是为了提高性能和效率,抛开实际做连连看找不同,没有意义。同样,类比于线程池来说:降低资源消耗:重复利用线程池中已经创建的线程,相比之下省去了线程创建和销毁的性能消耗。提高响应速度:当有任务创建时,不必等待线程创建,可以立即执行。便于统一管理:使用线程池,可以对线程统一管理,对线程的执.

2020-08-19 15:55:53 508

JAVA QQ 登录界面设计

QQ登录面板设计源码,基于JAVA,仿QQ

2015-12-23

空空如也

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

TA关注的人

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