自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式事务和解决方案

2PC 最大的诟病是一个阻塞协议。RM 在执行分支事务后需要等待 TM 的决定,此时服务会阻塞并锁定资源。由于其阻塞机制和最差时间复杂度高,因此,这种设计不能适应随着事务涉及的服务数量增加而扩展的需要,很难用于并发较高以及子事务生命周期较长(long-running transactions) 的分布式服务中。如果拿TCC事务的处理流程与2PC两阶段提交做比较,2PC 通常都是在跨库的 DB 层面,而 TCC 则在应用层面的处理,需要通过业务逻辑来实现。

2023-05-29 15:07:22 89 1

原创 Java事务详解

要求MySQL的表类型为Innodb才支持事务。在数据库操作中,一项事务是指由一条或多条对数据库更新的sql语句所组成的一个不可分割的工作单元。只有当事务中的所有操作都正常完成了,整个事务才能被提交到数据库,如果有一项操作没有完成,就必须撤消整个事务。例如在银行的转帐事务中,假定张三从自己的帐号上把1000元转到李四的帐号上,相关的sql语句如下:这个两条语句必须作为一个完成的事务来处理。只有当两条都成功执行了,才能提交这个事务。如果有一句失败,整个事务必须撤消。

2023-05-29 10:48:23 965 1

原创 Java的Classpath和包

Classpath是JVM用到的一个环境变量,它用来指示JVM如何搜索class。因为Java是编译型语言,源码文件是.java,而编译后的.class文件才是真正可以被JVM执行的字节码。因此,JVM需要知道,如果要加载一个a.b.c.Hello的类,应该去哪搜索对应的Hello.class文件。所以,Classpath就是一组目录的集合,它设置的搜索路径与操作系统相关。例如,在Windows系统上,用;分隔,带空格的目录用""括起来,可能长这样:现在我们假设classpath是.;

2023-05-17 12:35:59 158

原创 Java基础 - 封装

从微观上讲,封装指类对外隐藏私有的方法和属性,由公共方法供对外调用。宏观上可以延展为组件对外提供一系列功能,调用者不知道具体的实现方式。Java的封装在实际应用中,经常体现在私有成员变量和getter, setter方法。

2023-05-17 11:40:52 66

原创 Java基础 - 抽象类

定义抽象类使用abstract关键字。抽象类与普通类一样可以有成员变量、成员方法、静态方法、构造函数等。但是抽象类不能被实例化,必须通过抽象类的非抽象子类来创建对象。// 定义一个抽象类// 实例成员变量// 公共构造函数// 可以包含方法// 继承抽象类// 可以重写父类方法抽象类中可以包含抽象方法,抽象方法是用abstract修饰的,只有方法定义,没有方法体的方法。抽象方法必须被子类重写,除非子类也是抽象类。// 有抽象方法必须是抽象类// 定义抽象类// 实现抽象方法。

2023-05-17 11:16:54 445

原创 职场上的程序员应该具备哪些软技能

我们都知道,职场是个小社会。闷头做技术的程序员在职场中经常遇到各种阻力。软技能对程序员在职场中的晋升起到非常关键的作用。其实,做过几年一线开发后,大家的技术都差不太多。混的好的程序员大多是软技能强的综合性人才,他们更容易走向管理路线。小伟结合多年的经验,为大家总结了程序员在职场中应当具备的软技能。希望能帮到想提升自己综合能力的伙伴。

2023-05-14 21:53:38 130 1

原创 好的分布式系统架构有哪些特点

一提到分布式系统,很多人都想到微服务架构。微服务只是分布式系统的一部分实现方式。一个健壮的分布式系统涉及到的方面远不止微服务。虽然行业上没有衡量分布式架构好坏的绝对标准,但基于小伟哥多年的行业经验,我总结出了一个好的分布式架构应具备的特点,或者说能力。小伟哥在这篇文章给大家做个分享,希望能帮到有需要的同学。

2023-05-12 11:21:08 177 1

原创 Java基础 - 多态

多态指的是一个对象可以具有多种行为形态。例如不同车型颜色的汽车都属于汽车,但各自有各自的特性。这样在不同场景就可以使用不同的车型。同样的概念在程序中就可以把“汽车”定义为父类或接口,轿车、卡车等不同车型是汽车的具体实现类或子类,不同车型有自己独特的行为。

2023-05-10 14:42:46 43 2

原创 Java基础 - 类的继承

面向对象是Java语言的核心,在Java中所有的类都继承于 java.lang.Object。当一个类没有显式使用继承的两个关键字(extends, implements),则默认继承 Object类。面向对象是现代软件设计模式的基础。合理利用它,不仅可以增强代码的可扩展性和复用性,同时也提高开发效率和降低维护成本。关于面向对象的详细介绍,请参考我的另一篇文章“面向对象编程详解”。这篇文章主要介绍Java的面向对象编程特性。

2023-05-09 12:44:30 788 1

空空如也

空空如也

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

TA关注的人

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