首页
学习
活动
专区
圈层
工具
发布

在Android中使用枚举注解而不是枚举

很多开发规范都是不建议在Android中使用枚举的,在Android系统中使用枚举的开销是使用常量的2倍。...一般地,在一个文件中定义常量 public class FileType { public static final int TYPE_MUSIC = 0; public static final...使用这个标识了注解的生命周期,这里指定值为 RetentionPolicy.SOURCE 说明这个注解保留在源码阶段。...我们这里使用 RetentionPolicy.SOURCE 的用意就是在编码时能够识别出错误的 FileType,至于 RUNTIME和 CLASS 阶段的状态,我们是不关心的。...如果在传参时没有按照指定的值那么编辑器就会发出警告,这样就可以在编码的时候进行提示。 ? @StringDef 同样地,还可以对字符串常量定义注解。

1.6K20

为什么我在 Linux 上使用 exa 而不是 ls?

我们生活在一个繁忙的世界里,当我们需要查找文件和数据时,使用 ls 命令可以节省时间和精力。但如果不经过大量调整,默认的 ls 输出并不十分舒心。...当有一个 exa 替代方案时,为什么要花时间眯着眼睛看黑白文字呢? exa 是一个常规 ls 命令的现代替代品,它让生活变得更轻松。这个工具是用 Rust 编写的,该语言以并行性和安全性而闻名。...它使用颜色来区分文件类型和元数据。它能识别符号链接、扩展属性和 Git。而且它体积小、速度快,只有一个二进制文件。 跟踪文件 你可以使用 exa 来跟踪某个 Git 仓库中新增的文件。...扩展文件属性 当你使用 exa 探索 xattrs(扩展的文件属性)时,--extended 会显示所有的 xattrs。...它的颜色编码让我更容易在多个子目录中进行搜索,它还能帮助我了解当前的 xattrs。

2.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    什么在代码中要求我们使用LocalDateTime而不是Date?

    作者:何甜甜在吗 来源:http://1t.click/a7Gm 在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat...当多个线程同时使用相同的SimpleDateFormat对象【如用static修饰的SimpleDateFormat】调用format方法时,多个线程会同时调用calendar.setTime方法,可能一个线程刚设置好...在多并发情况下使用SimpleDateFormat需格外注意 SimpleDateFormat除了format是线程不安全以外,parse方法也是线程不安全的。...calb中中属性设置cal c、返回设置好的cal对象 但是这三步不是原子操作 多线程并发如何保证线程安全 - 避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat...=> 较好的方法 1.Date对时间处理比较麻烦,比如想获取某年、某月、某星期,以及n天以后的时间,如果用Date来处理的话真是太难了,你可能会说Date类不是有getYear、getMonth这些方法吗

    1.7K20

    【Laravel系列4.1】连接数据库与原生查询

    从 options 这个参数里面,我们可以看出,Laravel 默认使用的是 PDO 连接的数据库,我也没有研究在 Laravel 中如何使用 mysqli 进行连接,因为 PDO 确实已经是事实的连库标准了...看这个 insert() 函数的参数写法,是不是和 PDO 的预处理语句的写法很像?语句里面使用占位符,后面一个数组里面传递参数。...在学习 PDO 的时候,我们知道,预处理语句的执行就是先 prepare() 再 execute() 一下就可以了,特别是增删改的操作是非常类似的,那么我们在这里是不是可以在 insert() 方法里面执行一个修改或者删除语句呢...我们在审阅查看代码时,按照标准的规范写,不需要详细的看语句,就可以通过方法名快速地知道这段数据库操作是要干什么,这不是非常好的一件事嘛。...通过上面两步,我们的配置就完成了,是不是非常简单,接下来就是在代码中如何使用。

    3.9K50

    使用强大的DBPack处理分布式事务(PHP使用教程)

    为了突破AT事务对业务编程语言的限制,现在业界正在往DB Mesh的方向发展,通过将事务中间件部署在SideCar的方式,达到任何编程语言都能使用分布式事务中间件的效果。...Mysql 客户端在给用户发送 sql 执行结果时,如果执行没有异常,发送的第一个包为 OKPacket,该包中有一个标志位可以标识 sql 请求是否在一个事务中。...driver 会对标志位进行校验,所以 php 8.0 以上版本在使用 dbpack 协调分布式事务时,会抛出 transaction not active 异常。...本文将以PHP语言为例,详细介绍如何使用PHP对接DBPack完成分布式事务。实际使用其他语言时,对接过程也是类似的。...mysqli驱动、pdo_mysql驱动,还是通过mysql\_connect()连接数据库(在start transaction;开始之后,后续的业务操作必须在同一个数据库连接上进行

    58830

    推荐11-PHP用redis解决超卖的问题

    前言 在商品秒杀活动中,比如商品库存只有100,但是在抢购活动中可能有200人同时抢购,这样就出现了并发,在100件商品下单完成库存为0了还有可能继续下单成功,就出现了超卖。...在队列里前一个走完之后,后一个才会走,所以redis的队列能完美的解决超卖并发的问题。 解决秒杀超卖问题的方法还有比如:1.使用mysql的事务加排他锁来解决;2.使用文件锁实现。...3.使用redis的setnx来实现锁机制等。 实现原理 将商品库存循环lpush到num里,然后在下单的时候通过rpop每次取出1件商品,当num的值为0时,停止下单。...status']=$status; $order_log['msg']=$msg; $order_log['create_time']=time(); pdo_insert...=2; $order['order_sn']=$orderNo; $order['create_time']=date('Y-m-d H:i:s'); pdo_insert

    99230

    Effective Java(第三版)——条目十六:在公共类中使用访问方法而不是公共属性

    如果不更改API,则无法更改其表示形式,无法强制执行不变量,并且在访问属性时无法执行辅助操作。...在类定义和使用它的客户端代码中,这种方法比访问方法产生更少的视觉混乱。 虽然客户端代码绑定到类的内部表示,但是这些代码仅限于包含该类的包。...这些类别应该被视为警示性的示例,而不是模仿的例子。 如条目 67所述,暴露Dimension的内部结构的决定是一个严重的性能问题,这个问题在今天仍然存在。...虽然公共类直接暴露属性并不是一个好主意,但是如果属性是不可变的,那么危害就不那么大了。...---- 今天小程序更新的题库: 1.为什么不建议在代码中直接使用Executors创建线程池,而是推荐通过 ThreadPoolExecutor 方式创建 2.你对线程优先级的理解是什么?

    1K10

    PHP PDO——单例模式实现数据库操作

    启用方法是在php.ini中把extension=php_pdo.dll的注释去掉即可。...二、PHP使用PDO实现增删改查 1)单例模式实现类的实例化(重点:privatestatic $inc、private __construct、__clone、public getInstance )...为了利用PDO的安全性,因此在拼接SQL时,需要将用户输入的参数使用占位符进行替换(即在拼接时使用冒号+字段名,或者使用问号),并且在完成sql拼接以及PDO类的prepare方法后,使用PDOStatement...使用方法:在execute方法前,插入一个PDO类的方法beginTransaction(),在完成所有执行语句后后再使用PDO类的方法commit()。...因此,在项目中通常还是使用PDO来操作数据库,至于效率可以采用优化sql语句、优化架构、优化处理逻辑、分表、读写分离等方式进行改进。 —written by linhxx 2017.07.25

    3.1K80

    CA1831:在合适的情况下,为字符串使用 AsSpan 而不是基于范围的索引器

    规则说明 对字符串使用范围索引器并将其分配给范围类型时,将触发此规则。...Span 上的范围索引器是非复制的 Slice 操作,但对于字符串中的范围索引器,将使用方法 Substring 而不是 Slice。 这会生成字符串所请求部分的副本。...仅在对范围索引器操作的结果使用隐式强制转换时,分析器才会报告。...若要使用它,请将光标置于数组冲突上,然后按 Ctrl+。 (句点)。 从显示的选项列表中选择“对字符串使用 AsSpan 而不是基于范围的索引器”。...而不是基于范围的索引器来获取数组的 ReadOnlySpan 或 ReadOnlyMemory 部分 CA1833:使用 AsSpan 或 AsMemory 而不是基于范围的索引器来获取数组的 Span

    1.5K00
    领券