0 Star 1 Fork 0

jfeign / arithmetic

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

arithmetic 目录

用于各种学习研究算法,数据结构和java基础。

算法

算法有五种: 分治,动态规划,贪心,回溯,分支限界

电子书

mysql mysql45讲 分布式 java面试

2019年8月4日18:01:02 八皇后问题: @see EightQueen.java https://blog.csdn.net/Hackbuteer1/article/details/6657109 大致思路:

public void queen(int[] arr, int n, int row) {
    if (row == n) {
        printQueen(arr, n);//求解成功,打印结果 
    } else {
        for (int i = 0; i < n; i++) { // 循环当行 每个格子是否可以落子
            if (canPlace(arr, n, row * n + i)) { // 判断是否可落子
                arr[row * n + i] = 1; // 落子
                queen(arr, n, row + 1); // 递归到下一行
                arr[row * n + i] = 0; // 回退,说明此处落子后面某行可能无法落子
            }
        }
    }
}
/**
 *判断是否可以落子
 */
public canPlace(int[] arr, int n, int i){
    int row = i/n;
    int col = i%n; 
    for(int j=0;j<row;j++ ){// 从第0行看是否有子
        if(a[j*n+col]>0) return false;
        if(col-(row-j)>=0 && a[j*n+col-(row-j)]>0) return false;
        if(col+(row-j)<n && a[j*n+col+(row-j)]>0) return false;
    }
    for(int j=0;j<col;j++){
        if(a[j+row*n]) return false; // 第row行不能落子
    }
    return ture;
}

2019年8月6日15:30:39 ##动态代理学习 Java的动态代理技术实现主要有两种方式: JDK原生动态代理 CGLIB动态代理

Proxy:Proxy是所有动态代理的父类,它提供了一个静态方法来创建动态代理的class对象和实例; InvocationHandler:每个动态代理实例都有一个关联的InvocationHandler。在代理实例上调用方法时,方法调用将被转发到InvocationHandler的invoke方法;

CGLIB(Code Generation Library)是一个基于ASM的字节码生成库,它允许我们在运行时对字节码进行修改和动态生成。CGLIB通过继承方式实现代理; Enhancer:来指定要代理的目标对象、实际处理代理逻辑的对象,最终通过调用create)方法得到代理对象,对这个对象所有非final方法的调用都会转发给Methodlnterceptor; Methodlnterceptor:动态代理对象的方法调用都会转发到intercept方法进行增强;


2019年8月17日17:25:14 ##kafka

###消息:Record。 Kafka 是消息引擎嘛,这里的消息就是指 Kafka 处理的主要对象。 ###主题:Topic。 主题是承载消息的逻辑容器,在实际使用中多用来区分具体的业务。 ###分区:Partition。 一个有序不变的消息序列。每个主题下可以有多个分区。 ###消息位移:Offset。 表示分区中每条消息的位置信息,是一个单调递增且不变的值。 ###副本:Replica。 Kafka 中同一条消息能够被拷贝到多个地方以提供数据冗余,这些地方就是所谓的副本。副本还分为领导者副本和追随者副本,各自有不同的角色划分。副本是在分区层级下的,即每个分区可配置多个副本实现高可用。 ###生产者:Producer。 向主题发布新消息的应用程序。 ###消费者:Consumer。 从主题订阅新消息的应用程序。 ###消费者位移:Consumer Offset。 表征消费者消费进度,每个消费者都有自己的消费者位移。 ###消费者组:Consumer Group。 多个消费者实例共同组成的一个组,同时消费多个分区以实现高吞吐。 ###重平衡:Rebalance。 消费者组内某个消费者实例挂掉后,其他消费者实例自动重新分配订阅主题分区的过程。Rebalance 是 Kafka 消费者端实现高可用的重要手段。

// java8学习笔记: 集合和流的对比 //1. 集合的循环是外部迭代,流是内部迭代.迭代器也是内部迭代 (集合是像命题作文,流像完形填空) //2. 集合关注数据与数据存储本身, 流关注数据的计算. // 3. 流与迭代器都无法重复使用或消费的

空文件

简介

我的算法练习 展开 收起
HTML 等 4 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/AlphF_admin/arithmetic.git
git@gitee.com:AlphF_admin/arithmetic.git
AlphF_admin
arithmetic
arithmetic
master

搜索帮助