08 2022 档案

摘要:什么是分布式锁? Redis因为单进程、性能高常被用于分布式锁;锁在程序中作用是同步工具,保证共享资源在同一时刻只能被一个线程访问。 Java中经常用的锁synchronized、Lock,但是Java的锁智能保证单机的时候有效,分布式集群环境就无能为力了,这时候需要用到分布式锁。 分布式锁,就是分 阅读全文
posted @ 2022-08-30 10:16 白玉神驹 阅读(177) 评论(0) 推荐(0)
摘要:Mysql基本架构示意图 mysql大体可以分为Server层和存储引擎层两部分。 Server层包括包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器 阅读全文
posted @ 2022-08-10 15:31 白玉神驹 阅读(761) 评论(0) 推荐(0)
摘要:一、遇到自己不熟悉的新类,在不了解之前不要随意使用。 如CopyOnWriteArrayList,在不知晓原理之前用它大量写操作的场景解决ArrayList的线程安全,那么很可能遇到性能问题。 二、尽量使用更高层次的框架。 三、关注各种框架和组建的安全补丁和版本更新。 四、尽量少自己造轮子,使用流行 阅读全文
posted @ 2022-08-09 15:17 白玉神驹 阅读(115) 评论(0) 推荐(0)
摘要:前辈经验: 1. 国外的社区环境比较好,许多技术问题只有通过英文关键字才能在 Google 或 Stackoverflow 上搜到答案; 2. 可以第一时间学习各种新技术、阅读第一手资料,中文翻译资料往往至少有半年左右的延迟; 3. 参与或研究各种开源项目,和老外沟通需要使用英语来提问,以及阅读别人 阅读全文
posted @ 2022-08-08 17:40 白玉神驹 阅读(108) 评论(0) 推荐(0)
摘要:JDK 自带工具查看 JVM 情况 常用的监控工具 使用 Wireshark 分析 SQL 批量插入慢的问题 案例: 有一个数据导入程序需要导入大量的数据,想到了使用 Spring JdbcTemplate 的批量操作功能进行数据批量导入,但是发现性能非常差,和普通的单条 SQL 执行性能差不多。 阅读全文
posted @ 2022-08-08 17:19 白玉神驹 阅读(276) 评论(0) 推荐(0)
摘要:一般上线后发版验证出问题比较多,定位到问题原因后,我们要做好记录和复盘。 每一次故障和问题都是宝贵的资源,复盘不仅仅是记录问题,更重要的是改进。 复盘时,我们需要做到以下几点: 1. 记录完整的时间线、处理措施、上报流程等信息; 2. 分析问题的根本原因; 3. 给出短、中、长期改进方案,包括但不限 阅读全文
posted @ 2022-08-08 17:00 白玉神驹 阅读(190) 评论(0) 推荐(0)
摘要:第一,考虑“鸡”和“蛋”的问题。 比如,发现业务逻辑执行很慢且线程数增多的情况时,我们需要考虑两种可能性: 一是,程序逻辑有问题或外部依赖慢,使得业务逻辑执行慢,在访问量不变的情况下需要更多的线程数来应对。比如,10TPS 的并发原先一次请求 1s 可以执行完成,10 个线程可以支撑;现在执行完成需 阅读全文
posted @ 2022-08-08 16:56 白玉神驹 阅读(189) 评论(0) 推荐(0)
摘要:图标 选择项目使用git 阅读全文
posted @ 2022-08-06 21:41 白玉神驹 阅读(359) 评论(0) 推荐(0)
摘要:不同的环境排查问题的方式 开发环境:开发工具单步调试。 测试环境:jdk自带jvisualvm或阿里的Arthas,附加到远程的JVM进程排查问题; 压测环境:造数据、造压力模拟需要的场景,遇到偶发问题,尝试造一些场景让问题更容易出现,方便测试; 生产环境:权限管控严格,一般不允许调试工具从远程附加 阅读全文
posted @ 2022-08-05 08:59 白玉神驹 阅读(72) 评论(0) 推荐(0)
摘要:搜索打开·钥匙串 输入wifi名称 双击打开 输入电脑名称和解锁密码 显示密码 阅读全文
posted @ 2022-08-05 08:01 白玉神驹 阅读(854) 评论(0) 推荐(0)
摘要:Stream操作详解 创建流 创建流一般有五种方式: //1.通过stream方法把List或数组转换为流 @Test public void stream() { Arrays.asList("a1", "a2", "a3").stream().forEach(System.out::printl 阅读全文
posted @ 2022-08-02 15:25 白玉神驹 阅读(52) 评论(0) 推荐(0)
摘要:Lambda表达式 Lambda 表达式使用函数式接口匹配Java的类型系统 //匿名类 new Thread(new Runnable(){ @Override public void run(){ System.out.println("hello1"); } }).start(); //Lam 阅读全文
posted @ 2022-08-01 17:34 白玉神驹 阅读(87) 评论(0) 推荐(0)
摘要:HTTPS图解 HTTP 协议传输数据使用的是明文。那在传输敏感信息的场景下,如果客户端和服务端中间有一个黑客作为中间人拦截请求,就可以窃听到这些数据,还可以修改客户端传过来的数据。这就是很大的安全隐患。 HTTPS=SSL/TLS+HTTP,通过使用一系列加密算法来确保信息安全传输,以实现数据传输 阅读全文
posted @ 2022-08-01 15:24 白玉神驹 阅读(364) 评论(0) 推荐(0)
摘要:用户名密码 md5单向加密,每条数据用不同的盐,使用慢一点的算法 如BCryptPasswordEncoder,也就是BCrypt来进行密码哈希。BCrypt 是为保存密码设计的算法,相比 MD5 要慢很多 第一,我们调用 encode、matches 方法进行哈希、做密码比对的时候,不需要传入盐。 阅读全文
posted @ 2022-08-01 15:21 白玉神驹 阅读(1853) 评论(0) 推荐(0)