摘要: sdfdsf 从网上搜到如下表格: 注解含义 @Component 最普通的组件,可以被注入到spring容器进行管理 @Repository 作用于持久层 @Service 作用于业务逻辑层 @Controller 作用于表现层(spring-mvc的注解) @Controller比较好理解,加到 阅读全文
posted @ 2020-11-25 15:06 huo72020 阅读(180) 评论(0) 推荐(0)
摘要: 从接口获取出的数据,把单位从元转化成分, Long price = Long.valueOf(map.get("price").toString()) * 100; 这样写如果接口返回的是整数那没问题,但是如果是小数就会报异常:java.lang.NumberFormatException: For 阅读全文
posted @ 2020-11-23 12:01 huo72020 阅读(1681) 评论(0) 推荐(0)
摘要: 问题:在业务中,分页查询的场景非常多见,比如脚本分批处理数据;比如页面上需要分页查看列表。 假设是按照自增主键排序后分页,最开始的时候肯定没问题: SELECT * from table_name order by id desc limit 0,20;OK, Time: 0.007000s 但是如 阅读全文
posted @ 2020-09-22 17:05 huo72020 阅读(1272) 评论(0) 推荐(0)
摘要: 记录一个遇到过的面试题,比较文明。。在一个有序数组中统计一个指定数字出现的次数。 遍历一遍就行了,O(n),但是作为面试答案肯定有点简单的过分了; 于是有个稍微复杂点的思路,因为是有序数组,可以先二分查找到指定元素,然后再向两侧扩展就好了,这样二分查找的时间复杂度是O(logn),然后在加上k(被查 阅读全文
posted @ 2020-09-16 14:28 huo72020 阅读(817) 评论(0) 推荐(0)
摘要: 要求:有一个生产者,可以依次生产[0, 100)这100个数字,有5个消费者进行消费,消费者是并发的。 package main import ( "fmt" "sync" "time" ) func main() { wg := sync.WaitGroup{} wg.Add(20) c := m 阅读全文
posted @ 2020-09-15 18:21 huo72020 阅读(285) 评论(0) 推荐(0)
摘要: 如果在网上查过“Redis为什么快”这个问题的同学,一定看到过其中一个原因:Redis采用了单线程模型,减少了线程的上下文切换和竞争。然后又使用了I/O多路复用模型,关于I/O多路复用,可以看下这篇文章:I/O多路复用。epoll的时间复杂度是O(1),的确并发不是问题,但是为什么最新发布的Redi 阅读全文
posted @ 2020-09-10 10:53 huo72020 阅读(713) 评论(0) 推荐(0)
摘要: 写这个是因为一个关于Redis为什么这么快的答案中,其中一个原因,就是Redis使用了I/O多路复用模型。于是我回想起一个我觉得很魔幻的经历,就是在2年前换工作时,连续在三场面试中被问到了I/O多路复用,select、poll、epoll的问题。关于为什么一群写业务的工程师都痴迷于这个问题依然是个谜 阅读全文
posted @ 2020-09-09 11:25 huo72020 阅读(207) 评论(0) 推荐(0)