- 博客(13)
- 收藏
- 关注
原创 Mybatis注解方式批量插入数据和批量更新数据
批量插入插入标签使用明细@Insert("<script>" + "INSERT INTO detail(invoker,invoke_id,invoke_type,label_id,user_type,create_time,last_modify_time) VALUES" + "<foreach collection=\"list\" item=\"item\" index=\"index\" separator=\",\">
2021-08-15 17:35:47
435
原创 clickhouse使用case when实现查询
clickhouse使用case when实现查询查询年龄区间中的人数查询年龄区间中的人数select user.age_range as age,count(distinct user.cuid) as countfrom (select cuid,case when age>='18' and age<='24' then '18-24岁'when age>='25' and age<='29' then '25-29岁'when age>='30' an
2021-08-15 17:18:45
12325
原创 蓝桥杯真题历年总结及常用赛题模板
一、比赛时一定要看清比赛题目在我两年参与了四次的比赛中,绝大多数出错与测试输出不符都是因为大概看题后感觉题目简单或是有一点思路,就直接上手写代码。当使用测试数据的时候才能发现错误,往往此类错误再审题的时候都可以多花两分钟避免。比赛中最重要的就是先仔细阅读题目找出可能会有的坑,再开始写代码,可以节省很多时间也可使代码不会经过多次修改bug看起来冗余。二、把握比赛时间不要死磕蓝桥杯比赛一共10题(直接填答案题5 + 编程题5题),分值分别为5,5,10,10,15,15,20,20,25,25。比赛时间一
2021-03-28 21:31:29
19098
7
原创 排序算法(Java)
算法复杂度分析稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。 冒泡排序这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列)冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一
2021-03-14 18:13:37
285
原创 缓存雪崩和缓存穿透
缓存雪崩 当缓存服务器重启或者大量缓存集中在一段时间内失效,发生大量的缓存穿透,所有的查询都落在数据库上,造成了缓存雪崩。由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU 和内存造成巨大压力,严重的会造成数据库宕机。如何避免缓存雪崩加锁排队在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。比如对某个 key 只允许一个线程查询数据和写缓存,其他线程等待。数据预
2021-03-10 22:10:06
957
1
原创 TCP协议中的三次握手和四次挥手
三次握手过程理解第⼀次握⼿(客户端发送syn包到服务器端):客户端发送syn包到服务器端,进⼊syn_send状态,等待服务器端的确认;第⼆次握⼿(服务器返回syn+ack包给客户端):服务器端收到客户端的syn包,发送syn+ack包给客户端,进⼊syn_recv状态;第三次握⼿(客服端返回ack包给服务端):客户端收到服务器端的syn+ack包,发送个ack包到服务器端,⾄此,客户端与服务器端进⼊established状态;握⼿过程中传送的包不包含任何数据,连接建⽴后才会开始传送数据,理想状态
2021-02-20 23:50:52
271
原创 volatile与Synchronized的异同
volatile特点:关键字volatile是Java虚拟机提供的最轻量级的同步机制 。 当一个变量被定义成volatile之后,具备两种特性:保证此变量对所有线程的可见性。当一条线程修改了这个变量的值,新值对于其他线程是可以立即得知的。而普通变量做不到这一点。禁止指令重排序优化。普通变量仅仅能保证在该方法执行过程中,得到正确结果,但是不保证程序代码的执行顺序。用volatile修饰后的变量,赋值后多执行了一个lock addl指令的操作,作用相当于一个内存屏障,使得指令重排序时不能把后面的指令重排
2021-02-15 21:58:18
1087
7
原创 生产者与消费者问题(两种方法实现)
场景:生产者(Producer)生产产品,送到中间商(Medium)那里,消费者(Customer)从中间商那里取走产品,中间商只能持有一定数量的产品(如:30),如果中间商那里已经有了30个产品,中间商会通知生产者等一下,店中有空位置放产品时,通知生产者继续生产,如果中间商那里没有产品了,会通知消费者等一下,中间商有产品了,通知消费者继续消费。Synchronized方法实现生产者消费者问题:涉及到的线程间通信的方法wait导致当前线程等待,直到另一个线程调用该对象的notify()方法或not
2021-02-12 23:29:16
942
6
原创 单例设计模式(懒汉式和饿汉式)
单例设计模式 单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。 单例模式的特点:将类的构造器的访问权限设置为private类的外部只能调用该类的某个静态方法以返回类内部创建的对象静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。单例模式的优点:
2021-02-08 16:38:13
536
原创 2018年第九届蓝桥杯[Java]
2018年第九届蓝桥杯[Java]乘积最大【题目描述】给定N个整数A1, A2, … AN。请你从中选出K个数,使其乘积最大。请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以1000000009的余数。注意,如果X<0, 我们定义X除以1000000009的余数是负(-X)除以1000000009的余数。即:0-((0-x) % 1000000009)【输入】第一行包含两个整数N和K。以下N行每行一个整数Ai。【输出】一个整数,表示答案。【样例输入】5 3-
2021-01-31 20:59:44
822
原创 2019年第十届蓝桥杯[Java]
2020年第十届蓝桥杯[Java]特别数的和【题目描述】小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?【输入】输入一行包含两个整数 n。【输出】输出一行,包含一个整数,表示满足条件的数的和【样例输入】40【样例输出】574代码import java.util.Scanner;public cla
2021-01-31 20:36:44
1826
8
原创 2020年第十一届蓝桥杯省赛B组第一场[Java]
2020年第十一届蓝桥杯省赛B组[Java]试题 A: 组队问题描述本题总分:5 分【问题描述】小明要做一个跑步训练。初始时,小明充满体力,体力值计为 10000。如果小明跑步,每分钟600 的体力。如果小明休息,每分钟增加 300 的体力。体力的损耗和增加均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如环。如果某个时刻小明的体力到达 0,他就停止锻炼。请问小明在多久后停止锻炼。为了使答案为整数,请以秒为单位输出答案中只填写数,不填写单位。【答案提交】这是一道结果填
2021-01-15 20:25:42
1018
原创 2019年第十届蓝桥杯[Java省赛B组]
2019年第十届蓝桥杯[Java省赛B组]试题 A: 组队试题 A: 组队本题总分:5 分【问题描述】作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1号位至 5 号位的评分之和最大可能是多少?答案: 490试题B: 不同子串试题 B: 不同子串本题总分:5 分【问题描述】一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串。例如,字符串a
2021-01-13 23:05:52
1629
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅