java8中注解的多种用法
1、定义包装注释,包括实际注释的数组。@interface Hints { Hint[] value();} @Repeatable(Hints.class)@interface Hint { String value();}2、注解容器。@Hints({@Hint("hint1"), @Hint("hint2")})class Person {}3、可重复注解。java编译器可以在内部自动设置@Hint。这对通过反射读取注释信息非常重要。@Hint("hint1")@Hint("h...
2024-01-10java时间日期API的整理
1、Clock提供了访问当前时间和日期的功能。Clock对当前时区敏感,可以用来代替System.currenttimeMillis()获得当前毫秒时间。Clock clock = Clock.systemDefaultZone();long millis = clock.millis(); Instant instant = clock.instant();Date legacyDate = Date.from(instant); // legacy java.util.Date2、本地时间类表示没有...
2024-01-10java内置函数式接口有哪些?
在java 8中新增了许多的函数接口,可以极大程度上减少编写程序的工作量。有一些函数接口会在我们平时使用时频繁的遇到,下面就java中的函数接口带来介绍。1、Predicate是布尔型函数,只有一个输入参数。Predicate接口包含多种默认方法来处理复杂的逻辑动词。Predicate<String> predicate = (s) -> s.length() >...
2024-01-10Python装饰器的应用场景
说明1、装饰本质上是一个Python函数,它能使其他函数在没有任何代码变化的情况下增加额外的功能。有了装饰,我们可以抽出大量与函数功能无关的相同代码,继续重用。应用场景2、包括插入日志、性能测试、事务处理、缓存和权限验证。实例# 装饰器# func指函数def decorator(func): def wrapper(*ar...
2024-01-10Pythonmap接收参数的探究
说明1、map函数接收两个参数,一个是函数,另一个是Iterable。2、map将传输的函数依次作用于序列的每一个元素,并将结果返回新的Iterator。实例# map 使用# 求arr每个元素平方arr = [1, 2, 3, 4, 5, 6, 7, 8]def square(x): return x * xresult = map(square, arr)print(list(result))# lambda 与 map 一起使用resu...
2024-01-10Python如何自定义类继承threading.Thread
说明1、使用threading模块可以完成多任务的程序开发。2、为了使每个线程的封装更加完美,在使用threading模块时,通常会定义一个新的子类class,只需继承threading.Thread即可,然后重写run方法。实例"""Python多线程的使用"""import timeimport threading class MyThread(threading.Thread): # def __init__(sel...
2024-01-10Pythonthreading模块的常用方法
说明1、threading.curentthread():返回当前线程变量。2、threading.enumerate():返回包含正在运行的线程的list。指线程启动后和结束前不包括启动前和结束后的线程。threading.activeCount():与len(threading.enumerate()有相同的结果。实例"""python threading模块的常用方法"""import timeimport threading def test1(): print('----...
2024-01-10python列表如何传递到线程?
说明1、所有线程在一个过程中共享全局变量,便于在多个线程之间共享数据。2、线程是对全局变量的随意遂改可能导致多线程之间的混乱(即线程不安全)。实例import timefrom threading import Thread def work1(nums): nums.append(44) print("----in work1---",nums) def work2(nums): #延时一会,保证t1...
2024-01-10python中random模块求随机数
说明1、random.random()不接受参数,生成一个标准正态分布的随机数2、random.uniform(a,b)生成指定范围内的随机浮点数,a是下限,b是上限。a<=n<=b3、random.randint(a,b)生成指定范围内的随机整数,a<=n<=brandom.shuffle(list1)将list1重新洗牌random.choice(list1)在列表中随机取一个值,返回该值random.sample(list1,n)在列表中随机...
2024-01-10python异常时的语句处理
说明1、错误可以通过try和except句来处理。可能出错的句子放在try句子里。2、如果出错,程序执行将转移到下一个except句子的开头。实例def spam(divd): try: print(42 / divd) except ZeroDivisionError: print('Error invalid argument') spam(1)spam(3)spam(0)spam(4) 打印结果:42.014.0Error...
2024-01-10