后端

使用ComposeDesktop开发一款桌面端多功能APK工具

前言 终于算是忙完了一个阶段!!!从4月份开始,工作内容以及职务上都进行了较大的变动,最直接的就是从海外项目组调到了国内项目组。国内项目组目前有两个应用在同时跑着,而且还有几个马甲包也要维护,不知道大家发版的时候复杂不复杂,反正我们每次发版的时候都需要经历--打包、加固、对齐、重签名、打渠道包、上传云存储、生成渠道推广链接、生成内更SQL、上传Mapping文件等等步骤(xN),简直是折磨人啊。

阿里三面:如果RocketMQ消息积压了,增加消费者有用吗

面试官:RocketMQ 消息积压了,增 加消费者有用吗? 我:这个要看具体的场景,不同的场景下情况是不一样的。 面试官:可以详细说一下吗? 我:如果消费者的数量小于 MessageQueue 的数量,增加消费者可以加快消 息消费速度,减少消 息积压。比如一个 Topic 有 4 个 MessageQueue,2 个消费者进行消费,如果增加一个消费者,明细可以加快拉取消息的频率。如下图:

学习《框架思维》的第三天

      今天继续学习《框架思维》,前面我们学习了界定问题的三种方法:准确地秒速问题,明确问题的构成要素,探究问题的本质。今天我们学习第四种方法:显性化问题隐含的假设。 一,显性问题隐含的环境假设, 二,显性问题隐含的时间假设 三,显性化理论/工具的应用前提和边界       显性化问题隐含的假设是一种威力巨大的界定问题的方法,特别有助于我们发现问题不缜密的部分,以及拓宽分析问题的思路。    

综合——前言(编译)

1. 程序编译 1.1 程序编译的目的     程序编译的目的把源代码变成目标代码。如果源代码在操作系统上运行:目标代码就是“汇编代码”。再通过汇编和链接的过程形成可执行文件,然后通过加载器加载到操作系统执行。 1.2 程序编译流程 编译流程 1.2.1 词法分析     源代码程序被输入到扫描器(Scanner),扫描器对源代码进行简单的词法分析,运用类似于有限状态机(Finite

JVM调优参数

JVM调优参数可以分为以下几类: 1.堆内存调优参数: -Xms:初始堆大小 -Xmx:最大堆大小 -Xmn:新生代大小 -XX:NewRatio:新生代和老年代的比例 -XX:SurvivorRatio:Eden区和Survivor区的比例 2.GC调优参数: -XX:+UseSerialGC:使用串行垃圾回收器 -XX:+UseParallelGC:使用并行垃圾回收器 -XX:+UseConc

AQS机制

AQS:全名为AbstractQuenedSynchronizer,翻译过来即抽象的队列同步器,是一种用来构建锁和同步器的框架。 基于AQS构建同步器,很多并发类都是基于它实现的,这些类都是继承于AbstractQueuedSynchronizer,包括: ReentrantLock Semaphore CountDownLatch ReentrantReadWriteLock Synchron