读书笔记-《重构改善代码结构》
前言 这本书最早是在一次会议上被提到,我当时并没看过。其实重构在我们写代码的过程时时刻刻都有发生,消除重复代码,提取公共函数,去掉多余的参数,将方法参数封装成对象,或者是优雅的用到设计模式等等。无论是大的改造还是小的改动,你觉得代码虽然功能...
前言 这本书最早是在一次会议上被提到,我当时并没看过。其实重构在我们写代码的过程时时刻刻都有发生,消除重复代码,提取公共函数,去掉多余的参数,将方法参数封装成对象,或者是优雅的用到设计模式等等。无论是大的改造还是小的改动,你觉得代码虽然功能...
今天,我不自量力的面试了某大厂的java开发岗位,迎面走来一位风尘仆仆的中年男子,手里拿着屏幕还亮着的mac,他冲着我礼貌的笑了笑,然后说了句“不好意思,让你久等了”,然后示意我坐下,说:“我们开始吧。看了你的简历,觉得你对redis应该掌...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
事务定义 一个事务会涉及大量的cpu操作和IO操作,这些操作会被打包成一个执行单元,要么同时完成,要么同时都不完成。 事务是一组原子性的sql命令或者说是一个独立的工作单元,如果其中任何一条sql语句因为崩溃或者其他原因执行失败,那么该组所...
数据库瓶颈 不管是IO瓶颈还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载的活跃连接数的阈值。在业务service来看, 就是可用数据库连接少甚至无连接可用,接下来就可以想象了(并发量、吞吐量、崩溃)。 IO...
前言 锁是计算机协调多个进程或线程并发访问某一资源的控制机制。在数据库中,除了计算资源(CPU、I/O)的争用之外,数据也是一种多用户共享的资源。如何保证数据并发访问的一致性和有效性是所有数据库必须解决的一个问题。相对于其他数据库而言,my...
前言 上次面试中问到AQS简直不要太痛苦,全是问的源码。但是源码有时间还是要看看的,毕竟对于提升我们的写代码的能力还是有帮助的。今天的面试紧接上回的AQS,内容是基于AQS实现的四大并发工具类: CyclicBarrier,CountDow...
前言 上次的文章《并发编程的锁和内存模型》介绍了synchronize和各种锁(偏向锁,自旋锁,轻量级锁以及重量级锁),介绍了Java内存模型的三大特性,引入了volitile这个关键字,详细说明了它的作用和原理,另外介绍了JUC里很多地方...
问题 问题大概是这样:在订单创建时,会根据配置的快递策略优先级进行选快递。快递优先级例如这样配置:顺丰快递,优先级1;中通快递,优先级2;圆通快递,优先级3;汇通快递,优先级4。(优先级的值越小表示优先级越高)。我将整个快递策略优先级放在了...
前言 面试中问的频率很高的一个是分布式,一个就是并发。而JUC(java.util.concurrent)里的东西是并发编程的基石。上次的面试已经过去一段时间,在一边努力工作的同时,我也一边抽出时间准备java并发编程的部分。今天怀着轻松愉...
ZK简介 zk是什么 zookeeper是一个高性能、开源的分布式应用协调服务,提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如实现同步(分布式锁)、配置管理、集群管理。它被设计为易于变成,使用文件系统目录树作为数据模型。服...