随笔分类 -  15.Java/Scala

上一页 1 2 3 4 5 6 ··· 19 下一页
摘要:面试中关于字符串及常量池的一些考点字符串及常量池在面试中很容易被问到,前2天在为公司做校招面试时,发现很多同学对相关细节不太清楚,在此梳理一下: 先回顾一下java中字符串的设计,大家都知道jvm中有所谓的"字符串常量池"设计,当String s = "xxx"时,会先检查常量池中有没有,如果没有则加入常量池(缓存起来),下次再遇到 阅读全文
posted @ 2022-05-22 09:10 菩提树下的杨过 阅读(207) 评论(4) 推荐(2)
摘要:ToStringBuilder如何忽略null和空字符串日常开发中,经常用org.apache.commons.lang3.builder.ToStringBuilder工具类来记录日志,比如: package com.cnblogs.yjmyzz; import org.apache.commons.lang3.builder.ToStringBuil 阅读全文
posted @ 2022-05-08 07:46 菩提树下的杨过 阅读(983) 评论(0) 推荐(0)
摘要:Gson如何自定义Calendar序列化/反序列化直接开干吧,假设有这么一个类: @Data @AllArgsConstructor class BeanSample { public Calendar birthday; @Override public String toString() { if (birthday == null) { re 阅读全文
posted @ 2022-04-20 22:29 菩提树下的杨过 阅读(614) 评论(0) 推荐(0)
摘要:算法练习(20)-平滑加权轮询算法所有负载均衡的场景几乎都会用到这个算法:假设有2个服务器A、B,其中A的分配权重为80,B的分配权重为20,当有5个请求过来时,A希望分到4次,B希望分到1次。 一个很自然的想法:A-A-A-A-B ,按权重顺序依次分配,同时计数,每分配1次,计数减1,减到0后,再分配『次权重』的服务器。 看上去好 阅读全文
posted @ 2022-02-20 20:33 菩提树下的杨过 阅读(789) 评论(1) 推荐(3)
摘要:算法练习(19)-单源最短路径dijkstra算法如上图,先初始化1个图,每条边上的红色数字为路径权重:(Node,Edge的定义参见算法练习(17)-图的广度优先遍历/深度优先遍历) Graph init() { List<Node> nodes = new ArrayList<>(); List<Edge> edges = new ArrayL 阅读全文
posted @ 2021-11-14 19:24 菩提树下的杨过 阅读(277) 评论(0) 推荐(0)
摘要:算法练习(18)-图的拓扑排序如上图,假设有一个大型代码工程,里面有5个模块: 模块1依赖模块2 模块2依赖模块3和模块5 模块3依赖模块4和模块5 那么,项目在编译时,应该按怎样的的顺序编译? 这就是所谓的拓扑排序问题 就这个示例而言,显然正确的编译顺序是:5->4->3->2->1 或 4->5->3->2->1 (注:4与 阅读全文
posted @ 2021-11-07 19:07 菩提树下的杨过 阅读(307) 评论(0) 推荐(0)
摘要:算法练习(16)-水平翻转一颗二叉树思路:依旧还是层次遍历, 按层入队, 然后出队时, 交换左右节点 阅读全文
posted @ 2021-11-03 12:07 菩提树下的杨过 阅读(112) 评论(0) 推荐(0)
摘要:算法练习(11)-二叉树的各种遍历二叉树的节点结构如下: public class TreeNode { public TreeNode left; public TreeNode right; public int val; public TreeNode(int val) { this.val = val; } public T 阅读全文
posted @ 2021-10-27 22:33 菩提树下的杨过 阅读(360) 评论(0) 推荐(0)
摘要:算法练习(8)-判断单链表是否回文链表在一些文学作品中,大家想必接触过回文诗,比如:“雾窗寒对遥天暮,暮天遥对寒窗雾”或“垂帘画阁画帘垂”,即:正着念反着念完全一样。回文单链表跟这个类似,比如: 0-1-2-1-0或0-1-1-0,很容易发现规律:可以找到一个对称轴,将链表分为前后二段,并且前后对折起来,完全重合。 为了方便,先定义单链 阅读全文
posted @ 2021-10-17 21:23 菩提树下的杨过 阅读(288) 评论(0) 推荐(0)
摘要:如何解析SIP报文本文讲述了如何使用开源项目pkts-sip对SIP进行解析,以及如何扩展 阅读全文
posted @ 2021-09-28 10:29 菩提树下的杨过 阅读(2523) 评论(0) 推荐(2)
摘要:snowflake算法的workerId问题本文主要探讨了snowflake(雪花算法)使用中,如何合理设置workerId的问题 阅读全文
posted @ 2021-09-19 13:21 菩提树下的杨过 阅读(3136) 评论(0) 推荐(0)
摘要:mockito测试final类/static方法/自己new的对象先准备几个类,方便后面讲解: public final class FinalSampleUtils { public static String foo() { return "aaa"; } public static String bar(String a) { return "bar:" + 阅读全文
posted @ 2021-09-12 12:26 菩提树下的杨过 阅读(2534) 评论(0) 推荐(1)
摘要:flink 1.11.2 学习笔记(5)-处理消息延时/乱序的三种机制在实时数据处理的场景中,数据的到达延时或乱序是经常遇到的问题,比如: * 按时间顺序发生的数据1 -> 2,本来应该是1先发送,1先到达,但是在1发送过程中,因为网络延时之类的原因,导致1反而到达晚了,变成2先到达,也就造成所谓的接收乱序; * 发送方本身就延时了,比如:事实上按1 -> 2产生的数 阅读全文
posted @ 2021-09-05 17:28 菩提树下的杨过 阅读(1257) 评论(0) 推荐(0)
摘要:CompletableFuture笔记CompletableFuture是java8引入的一个很实用的特性,可以视为Future的升级版本,以下几个示例可以说明其主要用法(注:示例来自《java8实战》一书第11章) 一、引子:化同步为异步 为了方便描述,假设"查询电商报价"的场景:有一个商家Shop类,对外提供价格查询的服务getPr 阅读全文
posted @ 2021-06-06 23:08 菩提树下的杨过 阅读(362) 评论(0) 推荐(1)
摘要:java中整数常量池(-128~127)上限如何调整?众所周知:java中Integer有一个常量池范围-128~127 Integer a = 500, b = 500; System.out.println(a == b);//false a = 100; b = 100; System.out.println(a == b);//true 相信也 阅读全文
posted @ 2021-05-30 22:40 菩提树下的杨过 阅读(601) 评论(0) 推荐(2)
摘要:利用jave2进行音频处理很多朋友都知道,ffmpeg是一个功能强大的多媒体处理工具,可惜它并不是java语言开发,如果需要在java项目中使用时,得自己写很多代码,幸好github上有一个开源项目jave2 把ffmpeg做了封装,很大程度上简化了开发,使用方法如下: 先添加依赖项 <dependency> <groupI 阅读全文
posted @ 2021-05-03 17:30 菩提树下的杨过 阅读(1591) 评论(0) 推荐(0)
摘要:EvalEx示例项目做久了,难免会发现有些需求总是反复无常,今天想这样,明天想那样,但是逻辑本身又不是很复杂,比如: A、很多系统为了鼓励用户,会出一些奖励政策:连续打卡(或登录)X天,奖虚拟币Y枚。但是这个X,Y的系数,可能会经常调整,有时候甚至还会搞1个上限封顶。 B、系统出现重大故障后,事后复盘,要定故障等级 阅读全文
posted @ 2021-03-28 22:05 菩提树下的杨过 阅读(644) 评论(1) 推荐(0)
摘要:ES异地双活方案对于单机房而言,只要参考Elastic Search 官方文档,搭建一个集群即可,示意图如下: 原理类似分布式选举那一套,当一个master节点宕机时,剩下2个投票选出1个新老大,整个集群可以继续服务。对于核心系统,只部署单机房总归有点不保险,万一单机房故障就废了(比如:断电断网、或光缆被挖断)。那 阅读全文
posted @ 2021-03-28 21:05 菩提树下的杨过 阅读(4034) 评论(2) 推荐(1)
摘要:算法练习(7)-判断单链表是否有环,以及求环的长度如上图,一个单链表,如何判断有没有环? 如果有,如何求环的长度? 如果面试时,遇到这个题目,先喝口水压压惊,回想一下,咱们小时候念小学时,数学老师最喜欢的一类题目: 跑道上,2个运动员,1个速度是3m/s,1个速度是5m/s,同一起点起跑后,多久运动员2会再次遇到运动员1?是不是感觉异曲同工? 这2 阅读全文
posted @ 2021-03-27 16:49 菩提树下的杨过 阅读(208) 评论(0) 推荐(0)
摘要:算法练习(6)-O(1)时间复杂度判断1个正整数是否为2的幂次方原数(10进制) 原数(2进制) 原数-1(2进制) 1 1 0 2 10 01 4 100 011 8 1000 0111 16 10000 01111 观察上面的表格,如果1个数是2的幂次方,转换成2进制,必然最高位是1,其它位都是0,同时这个数减1后,所有有效位全是0,利用这个特点,做1次&位 阅读全文
posted @ 2021-03-27 15:52 菩提树下的杨过 阅读(155) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 19 下一页