- 博客(7)
- 收藏
- 关注
原创 编程:现有1克,2克,3克,…100克砝码充分多枚,组合成100克共有多少种方式?
JAVA实现拉马努金的整数拆分全排列致敬神一般的拉马努金编程:现有1克,2克,3克,…100克砝码充分多枚,组合成100克共有多少种方式?偶然看见有这么一个面试题,新人小白,网上搜了一下,貌似并没有相关的答案和代码,所以特意自己记录一下,并发表一下,新人小白,错了勿喷。首先这个题,乍一看,就想到了递归,作为递归,要注意几个点,第一:找到跳出点,第二,找到规律。那么我们开始吧,注意是充分多枚,从0开始,0克组合方式1种,1克组合方式1种,2克组合方式2种,那么继续推,3克的砝码组合方式是3种,4克的
2020-09-13 17:12:41 682 1
原创 组提交丶二阶段提交及Mysql双1操作
**组提交:**优点:每条SQL刷写一次磁盘肯定是非常影响效率的,所以MySQL引入了组提交的概念,用时间和数量来控制,让一次提交尽可能多附带一些数据进行提交。从而达到少量的刷写磁盘的效果。对于脏数据及数据不一致问题,InnoDB登引擎都实现了,如果要查询或修改数据,会优先查询缓存。缺点:如果100个事务才刷写一次磁盘,如果99个事务的时候,重启,断网,断电了,数据将会丢失。双1操作:sync_binlog=0,表示每次提交事务都只write,不fsync(刷写磁盘)sync_binlog=1,
2020-09-28 19:41:51 658
原创 Mysql主从复制的延迟问题原理分析
首先上原理图(ps:图片从其他地方借鉴):搭建主从的好处就不多说了。从问题出发:1.mysql主从/集群搭建如何保持数据的一致性?答:市面上所有的集群或主从都是通过网络通信来沟通或保持数据一致性的。(redis,MQ等),包括咱们的分布式系统,springCloud各组件之间也是通过网络通信来支持的。2.mysql主从是如何通信的?备份传输的是什么内容呢?答:首先通信无外乎就是基于socket。通信传输可以借鉴redis的持久化策略,RDB,AOF,快照或者命令。mysql用的是命令行/结果的
2020-09-28 18:23:49 125
原创 手写Jedis加入springboot自动配置,可在yml中配置属性
手写框架加入springboot自动配置,可在yml中配置属性传送门:(手写简易版Jedis)前面手写实现了简单的Jedis客户端,那么有点好奇,springboot是如何自动整合了redistemplate,实现了自动配置的呢?我们是否可以将自己手写的Jedis,添加到springboot的自动配置里面去呢?并且可以在yml中配置需要输入的配置呢?好的,去实现了一遍,看代码:将手写的Jedis利用注解的形式注册到spring容器:/** * * @author An * */@C
2020-09-15 02:39:44 1042
原创 JAVA手写实现简单版Jedis客户端----超详细
JAVA手写实现简单版Jedis客户端----超详细首先写之前,咱们聊聊手写的思路,聊到redis,咱们都知道是一款NOSQL的缓存数据库,可以用来验证登陆,可以存放热点数据,可以用来做秒杀,用来流量销峰。那么redis到底是怎么通信的呢?JAVA又是如何与redis建立连接的呢?看下图:搞通了流程图之后,那么有一个问题,网络通信用的是什么协议来进行传输呢?答案是:RESP协议来通信。那么RESP协议长啥样呢?例: *3 数组3 $3 字符3 SET $6 字符串
2020-09-14 23:32:22 360
原创 单例模式----双重验证
直接上代码public class Test05 { private volatile static Test05 test; //volatile关键字保证线程之间可见性,并防止指令重排序 private Test05() {} public static Test05 getSingleton() { if(test==null) { synchronized (Test05.class) { if(test==null) { test = new Test05
2020-09-14 17:09:49 224
原创 拉马努金的整数拆分全排列JAVA实现非递归
拉努玛金的整数拆分全排列JAVA实现非递归点这里:[递归方式](http://blog.csdn.net/u010874407/article/details/108564633)不做详细说明了,需要看文字描述的,点上面链接跳转递归方式,查看详细说明来,直接上代码/** * * @author An * 拉努玛金的整数拆分 * */public class Test04 { public static void main(String[] args) { List list= n
2020-09-13 20:39:47 908
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人