cron表达式1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 ┌───────────── second (0-59) │ ┌───────────── minute (0 - 59) │ │ ┌───────────── hour (0 - 23) │ │ │ ┌───────────── day of the month (1 - 31) │ │ │ │ ┌───────────── month (1 - 12) (or JAN-DEC) │ │ │ │ │ ┌───────────── day of the week (0 - 6) │ │ │ │ │ │ (0 or 6 is Sunday, or MON-SUN) │ │ │ │ │ │ * * * * * * * 《---- 年 除了数字之外,还可以使用特殊字符来指定特定的值:*:代表所有可能的值,例如 * 在分钟字段 ...
偶遇的各种问题
未读问题描述新手机登录telegram,输入手机号,接下来让我输入邮箱以及验证码,起初一切正常,当输入完验证码后弹出短信以及付费页面,如图
解决方案11.1. 下载俄版telegram或telegram x,如图(登录不会弹出付费界面)
1.2. 登录之后如图操作找到确认手机号可用状态
1.3. 确认可用后重新使用手机号登录原版telegram,这次不会弹出付费页面(我的没弹)解决方案22.1. 下载俄版telegram或telegram x,如前图(俄版登录不会弹出付费界面)2.2. 登录之后如图找到,create passkey,创建通行密钥
2.3. 回到原版telegram使用通行密钥登录(会自动弹出,如果有通行密钥)tips1:尝试了一些网上的解决办法没解决后开始思考,使用了新手机号登录,填写邮箱验证后直接就上去了,思路产生!是因为手机号方面的问题,并且不是+86的原因(因为新手机号无非就是另一个+86),此时我的俄版是登录状态的,发现有关于手机号的验证提示,似乎找到闭环,验证手机号可用后再次尝试原版登录,这次没有要我填写邮箱,而是通过我账号绑定的邮箱发送了验证码,输入验 ...
1. 首次连接mysql连不上的问题allowPublicKeyRetrieval=true 允许驱动需要时向Mysql拉取公钥(解决Public Key Retrieval is not allowed问题) ————mysql
2. 缓存击穿:指缓存数据失效时刚好有大量请求访问,由于缓存的失效,请求全部访问数据库给数据库造成压力。解决方式1使用redis的setnx实现分布式锁,设置key、过期时间、锁对象信息,持有key的可以执行任务,执行完成后配合lua脚本解除key(redis执行lua脚本具有原子性)
解决方式2使用Redisson框架的分布式锁
3. 缓存穿透:指查询数据库不存在的数据,绕过缓存给数据库造成压力解决方式使用bitmap位图,压缩大小使用Springboot实现commandLineRunner/applicationRunner接口或用@PostConstruct注解标记的方法,在Springboot启动完成时执行将数据库已有数据标记。
网络问题,代理上不去网解决方案windows防火墙重置,导 ...
jps -l 查看java的进程信息,-l表示列表方式查看 //jdkjstack 1234 查看id为1234的进程信息 //jdkjconsole 查看java程序控制台 //jdk
Runtime.getRuntime().availableProcessors() 获取cpu核心数量Runtime.getRuntime().totalMemory() 获取Java虚拟机的初始堆内存总量Runtime.getRuntime().maxMemory() 获取Java虚拟机试图使用的最大堆内存量
java -XX:+PrintCommandLineFlags -version 查看使用的垃圾收集器
spring boot admin SpringCloud的健康监测组件nacos配置中心默认找bootstrap.yml文件进行增强配置
idea多启动,例tomcat:配置参数-Dserver ...
JVM(Java Virtual Machine) java虚拟机JVM的作用:加载并执行Java字节码文件(.class)-加载字节码文件、分配内存(运行时数据区)、运行程序JVM的特点:一次编译到处运行、自动内存管理、自动垃圾回收
java执行器JVM执行引擎由解释器和即时编译器组成解释器:逐条解析和执行字节码指令即时编译器(JIT Compiler):将字节码动态地编译为本地机器码,会缓存热点代码复用执行,提高效率。
native方法区Native Method Stack:本地方法栈存储了从java代码中调用本地方法时所需的信息。是线程私有的。native方法是用来与C/C++对接的,通过JNI(java本地接口规范)调用C/C++函数使用,或C/C++调用java方法。
PC寄存器(Program Counter Register)每个线程都有一个程序计数器,是线程私有的,保证程序执行顺序。是一个指针,指向方法区中的方法字节码(用来存储指向下一条指令的地址,即将要指向的指令代码由执行引擎读取下一条指令。
类加载器ClassLoader
负责 ...
JUC:并发工具包java.util.concurrent基本使用lock与synchronized区别
lock是工具包,synchronized是java关键字
lock需要手动释放锁,synchronized由jvm管理
lock支持悲观锁/乐观锁,取消/退出机制,synchronized是非公平锁,不支持取消/退出机制
1234567891011121314Lock 锁接口 ReentrantLock 可重入锁,默认悲观锁 构造: new ReentrantLock(true) 创建锁对象时,设置为乐观锁 方法: tryLock() 尝试获取锁,获取成功返回true,获取失败返回false,避免阻塞过久 tryLock(long,TimeUnit) 在设定时间内尝试获取锁,获取成功返回true,获取失败返回falseReadWriteLock 读写锁接口 ReentrantReadWriteLock 读写锁,支持锁降级 构造: ...















