1.为什么要使用分布式锁使用分布式锁的目的,无外乎就是保证同一时间只有一个客户端可以对共享资源进行操作。1.1举一个很长的例子系统 A 是一个电商系统,目前是一台机器部署,系统中有一个用户下订单的接口,但是用户下订单之前一定要去检查一下库存,确保库存足够了才会给用户下单。由于系统有一定的并发,所以会预先将商品的库存保存在 Redis 中,用户下单的时候会更新 Redis 的库存。此时系统架构如下:
第1部分 Java基础一、   Java概述(一)      Java简介Java语言是Sun Microsystems公司推出的能够跨越多平台的、可移植性最高的一种面向对象的编程语言。其易学易用、功能强大的特点,使其成为应用范围最广阔的开发语言;强大的跨平台特性使其真正做到“一次编写,到处运行”。Java
转载 2023-11-27 06:27:32
87阅读
一、What is purpose of delegates?代理的作用?答案:代理的目的是改变或传递控制链。允许一个类在某些特定时刻通知到其他类,而不需要获取到那些类的指针。可以减少框架复杂度。另外一点,代理可以理解为java中的回调监听机制的一种类似。二、What are mutable and immutable types in Objective C?oc中可修改和不可以修改类型。答案:
转载 2023-11-24 10:47:06
149阅读
MBProgressHUD——进度指示一种优雅的,半透明的进度显示效果。同时还提供了其他附加功能,比如显示完成信息并淡出。iCarousel——效果很酷的分页排列内容类似的页面需要并排列出来,供用户选择。iCarousel具有非常酷的3D效果,比如经典的CoverFlow, TimeMachine。另外还具有线性,圆柱状等其它效果。可用于图片选择,书籍选择,网页选择等。CorePlot——2
转载 6月前
38阅读
JVM1.对象是否可回收判断方法?引用计数法每个对象都有一个引用计数器,当对象被引用一次计算器就加1;当引用失效时计数器就减1。当对象的计数器为0时,对象就是要被回收的。简单高效,缺点是无法解决对象之间相互循环引用的问题。可达性分析算法以 Roots 节点作为起始点,从这些节点开始向下搜索,搜索所走过的路径成为引用链(Reference Chain),当一个对象到 GC Roots 没有任何引
写在前面该博客思路源于在看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点。先感谢各位大神的无私分享~!关于题目,大部分则出自AndroidInterview-Q-A和LearningNotes,当然既然是Android面试,主要是Android部分,Java基础之后再写。IntentService作用是什么,AIDL解决了什么问题
转载 2024-06-25 18:38:04
83阅读
前言金三银四,又是一年校招季。经历过,才深知不易。最近,和作为校招面试官的同事聊了聊,问他们是如何去考察一个学生的,我简单归为以下几点:聪明、反应快,这点自不必说,聪明意味着学习能力、适应力强,能够快速胜任工作。算法不错,代码基本功好,这点其实考察的是算法能力和代码是否写得优雅。基础过硬,技术岗面试最核心的还是考察「技术储备」,包括了语言基本功,操作系统、网络、体系结构、系统设计。语言组织和表达能
前言近期被两则消息刷屏,【字节跳动持续大规模招聘,全年校招超过1万人】【腾讯有史以来最大规模的校招启动】当然Android岗位也包含在内,因此Android还是有很多机会的。结合往期面试的同学(主要是校招)经验,我归纳整理了全套Android面试题解析。当然,这些面试题答案解析也整理到了PDF手册里,文末领取。我整理面试题如下,供大家参考,知道比没知道的好。可以帮大家查漏不缺。以下是(腾讯,百度,
文末附有更多面试题合集解析1、Activity、Dialog、PopupWindow、Toast 与Window的关系简单的从创建方式的角度来说一说:Activity。在Activity创建过程中所创建的PhoneWindow,是层级最小的Window,叫做应用Window,层级范围1-99。(层级范围大的Window可以覆盖层级小的Window)Dialog。Dialog的显示过程和Activi
转载 2023-08-31 08:33:57
58阅读
  最近推出了钻,这说明在融资之后所走的路都没有走通,不得不转换方向。 第一,的内容付费效益并不高。的内容付费集中在写作培训和电子书这两块,但都比较单一,尤其是电子书这一块,点击率极低,没太多收益。 第二,出版之路很难打通。出版也存着许多问题,就连官方也被一些出版社坑过,导致很多无法按期出版。怎么办呢?没办法,只能怒斥出版社,不
转载 2023-10-17 13:11:20
95阅读
## 用Java发布二进制文件到 ### 1. 什么是二进制文件? 计算机存储信息的最小单位是位(bit),每8个bit组成一个字节(byte)。二进制文件是以字节流的形式存储的文件,其中包含了计算机可执行的二进制代码。常见的二进制文件包括可执行程序、库文件、图像文件、音频文件等。 ### 2. 为什么要发布二进制文件? 在开发过程中,我们可能会开发一些通用的工具、库或者框架,供其他开
原创 2023-07-22 06:53:24
102阅读
1 前言之前我们说到,分布式事务是一个复杂的技术问题。没有通用的解决方案,也缺乏简单高效的手段。 不过,如果我们的系统不追求强一致性,那么最常用的还是最终一致性方案。今天,我们就基于 RocketMQ来实现消息最终一致性方案的分布式事务。 本文代码不只是简单的demo,考虑到一些异常情况、幂等性消费和死信队列等情况,尽量向可靠业务场景靠拢。 另外,在最后还有《RocketMQ技术内幕》一书中,关于
Java门禁系统是一个现代化的访问控制解决方案,旨在通过智能化管理提升企业和机构的安全性。本文将从版本对比、迁移指南、兼容性处理、实战案例、排错指南以及生态扩展六个方面详细探讨这个系统的实现及面临的挑战,以期为开发者提供清晰的指导。 ## 版本对比 在本文中,我们考虑两个主要版本的对比:版本1.0与版本2.0。这两个版本在功能与性能上有显著差异,我们通过表格和四象限图来进行分析。 使用以
原创 6月前
40阅读
# 使用 YarnClient 的 Java API 创建集群作业 在大数据处理框架 Hadoop YARN 中,YarnClient 提供了一种简单的方法来提交和管理作业。对于刚入行的小白来说,了解这个过程比较重要。在本文中,我们将详细介绍如何使用 YarnClient 的 Java API,并通过代码示例帮助你理解整个过程。 ## 整体流程 在开始之前,我们先明确一下整个流程,下面是使用
原创 2024-10-03 06:12:05
158阅读
## 重启Java Linux的流程 为了帮助这位刚入行的小白实现重启Java Linux的操作,我们将按照以下步骤进行操作: ### 步骤一:连接到Linux服务器 在开始操作之前,我们需要先连接到目标Linux服务器。这可以通过SSH(Secure Shell)进行。请确保你已经拥有目标服务器的IP地址、用户名和密码。下面是连接到Linux服务器的步骤: | 步骤 | 命令 |
原创 2023-11-09 13:36:03
30阅读
Java中,异常可以分为两种类型:未检查的异常:它们不是在编译时而是在运行时被检查,例如:ArithmeticException,NullPointerException,ArrayIndexOutOfBoundsException,Error类下的异常等。检查的异常:在编译时检查它们。例如IOException,InterruptedException等。通常,我们不需要处理未经检查的异常。这
垃圾回收篇1、GC的两种判定方法? ①引用计数算法 ②可达性分析算法 2、什么是分代回收? 不同的对象生命周期不一样,所以可以采取不同的回收方式以提高回收效率。可以分别为新生代、老年代进行垃圾回收 3、GC原理是什么,JVM怎么回收内存? 从标记阶段到清除阶段。标记阶段进行相关存活对象的标记,紧接着在清除阶段将未被标记的对象进行回收清除 4、垃圾回收算法各自的优缺点是什么? 引用计数算法实现简单,
转载 2023-11-18 22:20:25
146阅读
# Java移动文件教程 ## 1. 简介 在Java中,移动文件指的是将文件从一个位置移动到另一个位置。移动文件可以通过复制文件到目标位置并删除原始文件的方式来实现。 ## 2. 流程 下面是移动文件的整个过程的流程图: ```mermaid erDiagram 开始 --> 选择源文件 选择源文件 --> 选择目标文件夹 选择目标文件夹 --> 移动文件
原创 2023-09-23 05:08:52
62阅读
# Android Java 反射教程 反射是 Java 语言的一项强大功能,允许程序在运行时查询类和对象的相关信息。使用反射,你可以动态地创建类的对象、访问其字段和方法。本文将指导你如何在 Android 中使用 Java 反射,并提供简单清晰的代码示例。 ## 流程概述 为了帮助你更好地理解反射的使用,下面是一个简要的流程表: | 步骤 | 描述
原创 10月前
75阅读
  • 1
  • 2
  • 3
  • 4
  • 5