- 博客(28)
- 资源 (2)
- 收藏
- 关注
原创 java interface接口
1. interface接口中声明的方法默认的修饰符为public abstract,其它的修饰符private、protected都会报错。2. interface接口中可以定义变量,变量默认的修饰符为public static final,使用其他修饰符会报错。
2020-08-06 21:37:29 353
原创 JAVA 关键字final
final修饰基本数据类型:final变量只能被赋值一次,用户赋值或者是运行时系统初始化赋值,以后不能更改。它是一个永不改变的编译时常量。final修饰引用数据类型:对象引用使用final修饰后,引用不能改变,但是对象内的数据如果没有被final修饰可以改变。final修饰类:final修饰的类不能被继承,因此没有子类,final类中的方法默认为final方法。final修饰方法:final修饰的方法不能被子类方法重写,但可以被子类继承。...
2020-08-06 14:57:38 191
原创 maven默认的mirror镜像库,由于自2020年01月15日起,不支持http协议,改换为https协议
由于使用https涉及到了认证问题,因此会包501 HTTPS Required.Use https://repo1.maven.org/maven2/More information at https://links.sonatype.com/central/501-https-required错误。解决方式:在setting.xml中,将镜像设置为: <mirror> <id>repo1</id> <...
2020-05-21 21:44:47 1057
原创 网络协议
交换机 在 局域网中使用(连接各个主机)通过Mac地址寻址 为第 二层协议 工作在数据链路层。路由器 为 连接各个局域网(及子网划分) 通过 Ip地址寻址(主要功能 路由,转发)为第三层协议 工作在网络IP层。NAT 是一个能够让多台主机共享一个IP地址的技术(解决IPv4地址不够的问题),NAT会给局域网内每台主机分配一个唯一的地址,同时调整输入和输出的网络流量。以太网 为 两层(...
2019-10-09 11:08:30 424
原创 动态规划
1. 矩阵连乘问题动态规划为先将子问题的最优解求出来,然后保存在二维数组中,然后再从下向上求解。for(int len = 1; len <= n; len++) 从1到n设定子值问题的长度,当子问题为不同长度时,求解子问题的最优解,当遍历到n时,为最终问题的最优解。for(int i = 1, j = i+len; j <= n; i++,j++) i为子问题的起始点...
2019-09-20 11:29:48 182
原创 list不带头节点,一层指针传入head与两层指针传入head
当list不带头节点的时候,如果想要main函数中的链表改变,当为一层指针传入头结点时,调用的函数必须要有返回值。#include <stdio.h>#include <malloc.h>struct node { int data; struct node *next;};struct node *create(struct...
2019-09-06 21:52:11 281
原创 回答金山云面试官下午问我的raft问题
我在一开始就说了每个follower节点都会有一个超时机制,当follower节点在超时时间内没有收到leader节点的心跳,就会将自己晋升为candidate,(这时超时机制归零后重新计时)先给自己投一票,然后再将选自己为leader的信息发给其他节点,当在超时机制内收到n/2+1个节点同意时,将自己晋升为leader节点。如果在超时机制内没有得到n/2+1个节点的同意时,重新发起选举。另...
2019-09-06 21:40:05 1361
原创 nginx服务器用途
https://www.cnblogs.com/wcwnina/p/8728391.html正向代理的用途:(1)访问原来无法访问的资源,如Google(2) 可以做缓存,加速访问资源(3)对客户端访问授权,上网进行认证(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息反向代理的作用:(1)保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网(2)负...
2019-09-03 01:03:08 912
原创 小米三面,依图科技一面(k8s)
小米一面(运维开发)项目(jenkins,k8s日志收集,问是否需要加kafka,因为数据量较大,需要加kafka缓存数据),网络(TCP/IP,三次握手,四次挥手),raft算法(听说过脑裂问题没有),redis(只是会调用),文件系统(vfs,超级块对象,索引节点对象,目录项对象,文件对象)小米二面(安全开发)审计系统,操作系统的加载到启动?,设计模式,gdb调试命令(加断点 br...
2019-08-31 18:01:08 374
转载 docker的/var/run/docker.sock参数
https://blog.csdn.net/boling_cavalry/article/details/92846483
2019-08-30 13:42:41 312
原创 二叉树
本着构建一颗二叉树的目的是为了更快的搜索数据,因此我们在构建二叉树之初就应该构建一颗有序的二叉树。首先,我们来构建一颗二叉查找树。二叉查找树(BinarySearchTree)是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。1. 构建二叉...
2019-08-15 04:35:37 132
原创 go_sort
package mainimport "fmt"//shellsortfunc Shellsort(arr []int) { var i,j,h int N := len(arr) for h = N/2; h >=0; h=h/2 { for i = h; i <N; i++ { temp := arr[i] ...
2019-08-01 19:42:30 120
原创 K8s集群搭建(kubeadm方案)
1、最少3台Centos A、至少2核CPU+2G内存+20G硬盘 B、必须在同一网段本示例中分配为:Master:10.0.1.86Worker1:10.0.1.87Worker2:10.0.1.88Worker3:10.0.1.892、ip addr确认是否有分配到IPV4地址。没有的话nmtui,Automatically con...
2019-03-21 19:40:05 379 1
原创 高性能体系结构浅析
1. 计算机系统结构概念1. 计算机系统的层次结构计算机系统=硬件/固件+软件计算机语言从低级向高级发展 (高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。)从计算机语言的角度,把计算机系统按功能划分成多个层次结构(每一层以一种语言为特征) 传统机器语言级程序员所看到的计算机属性。 广义的系统结构定义:指令级结构,组成,硬件(计算机设计3
2019-02-27 20:35:56 1519
转载 Fluentd
本质上,Fluentd可以分为客户端和服务端两种模块。客户端为安装在被采集系统中的程序,用于读取log文件等信息,并发送到Fluentd的服务端。服务端则是一个收集器。在Fluentd服务端,我们可以进行相应的配置,使其可以对收集到的数据进行过滤和处理,并最终路由到下一跳。下一跳可以是用于存储的数据库,如MongoDB, Amazon S3, 也可以是其他的数据处理平台,比如Hadoop。...
2018-08-09 11:29:23 600
翻译 亮点:cpu管理器
本文描述了kubernetes的一个beta特征:CPU管理器。CPU管理器的特点是通过将独占的CPU分配给特定的pod容器,使工作负载更好地放置在kubernetes节点代理kubelet中。 听起来不错!但是cpu管理器能帮助我吗? 这取决于你的工作量。Kubernetes集群中的一个计算节点可以运行多个pod,其中一些pod可以运行cpu密集型的工作负载...
2018-08-06 18:30:19 864
原创 go之初识
1.数组的特点:声明数组时需要指定内部存储的数据的类型和存储的元素的数量,一旦声明数组里存储的数据类型和数组长度就都不能改变了。声明数组:var array1 [5]string声明并初始化数组:var array2 = [5]string{"red", "blue", "green", "yellow", "pink"}具体值初始化数组:var array2 := [5]string{“r...
2018-08-06 18:00:04 179
原创 go之interface
一.interface具有两个特点:(1).它是方法声明的集合(2).它是一种类型二.它的作用主要有两个1. 实现多态, 为不同类型但实现了相同方法的类型提供一个统一的接口,使之在函数传参时都统一的使用这一接口,在函数的内部使同样的方法名却因为属于不同的类型而输出了不同的结果。从而避免了拥有相同方法的不同类型只因为函数参数类型的不同而写不同的函数。代码如下,在主函数进行调用时,...
2018-08-06 17:48:55 147
原创 k8s之Deployment与service
一.概念pod : 最小执行调度单元Deployment :部署无状态应用Daemonset : 部署守护应用Cronjob :部署定时任务job : 部署定时任务statefulset : 部署有状态应用service ,endpoint, ingress 为服务类型二. 理解一次deployment为一次部署,如图Deployment调用Replica...
2018-08-05 18:11:00 26900
原创 进程与线程的区别
在进程的进程描述符中,mm域存放着该进程使用的内存描述符,所以current->mm便指向当前进程的内存描述符。fork()函数利用copy_mm()函数复制父进程的内存描述符,也也就是current->mm域给其子进程,而子进程中的mm_struct结构体实际是通过文件kernel/fork.c中的allocate_mm()宏从mm_cachep slab缓存中分配得到的。通常,每个进程都有唯一的
2018-03-24 09:56:11 170
原创 linux设备驱动
linux设备驱动驱动程序英文全称Device Driver,也称作设备驱动程序。驱动程序是用于计算机和外部设备通信的特殊程序,相当于软件和硬件的接口,通常只有操作系统能使用驱动程序。 在现代计算机体系结构中,操作系统并不直接于硬件打交道,而是通过驱动程序于硬件通信。设备驱动介绍驱动程序是附加到操作系统的一段程序,通常用于硬件通信。 每种硬件都有自己的驱动程序,其中包含了硬件设备的信
2018-03-24 08:35:42 317
原创 Linux文件系统基础
一、文件系统层次分析 由上而下主要分为用户层、VFS层、文件系统层、缓存层、块设备层、磁盘驱动层、磁盘物理层 用户层:最上面用户层就是我们日常使用的各种程序,需要的接口主要是文件的创建、删除、打开、关闭、写、读等。 VFS层:我们知道Linux分为用户态和内核态,用户态请求硬件资源需要调用System Call通过内核态去实现。用户的这些文件相关操作都有对应的System Call函数接口
2017-12-20 15:48:22 199
原创 Linux的open源代码分析报告
1. 在对open源代码的主要函数分析之前我们先来看一下整个打开流程是如何做到的 在内核中要打开一个文件,首先应该找到这个文件,而查找文件的过程在vfs里面是由do_path_lookup或者path_lookup_open函数来完成的。这两个函数将用户传进来的字符串表示的文件路径转换成一个dentry结构,并建立好相应的inode和file结构,将指向file的描述符返回用户。用户随后通过
2017-12-12 22:37:00 2507
原创 内核同步
1. 内核为什么引入同步机制呢?由于中断、异常机制的引入,以及内核态抢占导致了这些内核控制路径(进程)以交错的方式运行。对于这些交错路径执行的内核控制路径,如不采取必要的同步措施,将会对一些关键数据结构进行交错访问和修改,从而导致这些数据结构状态的不一致,进而导致系统崩溃。因此,为了确保系统高效稳定有序地运行,内核必须要采用同步机制。2. 内核同步机制的概念在linux系统中,我们把对共享的资源进行
2017-12-05 12:36:01 260
原创 文件系统创建示例
1.创建一个经过初始化的文件 把输入文件/dev/zero拷贝到输出文件file.img中,输入/输出的块大小为1KB,总共拷贝10000块 使用losetup命令将一个循环设备与这个文件关联起来,让它看起来像一个块设备,而不是文件系统中的常规文件 2.用循环设备创建Ext2文件系统 在/dev/loop0块设备上创建大小为1MB的Ext2文件系统 3.创建安装点并通过循环设备
2017-12-04 18:51:41 287
原创 系统调用日志收集系统实例
1 介绍实验环境Ubuntu64位,系统自带内核版本为4.10.0, 实验使用版本为4.13.1。系统调用日志收集系统的结构图2 实验1.添加系统调用将myaudit.c文件添加到arch/x86/kernel/目录下 myaudit文件#include <linux/uaccess.h>#include <linux/proc_fs.h>#include <linux/init.h>#in
2017-11-29 18:47:27 2945
原创 数组和链表的区别
数组和链表的区别和联系,数组也可以用指针指着去跑,只不过用的是p++,因为它是连续的存储空间,而链表的指针是p=p->next的跑,因为它是不连续的存储空间,在数组中用while循环的时候指针要写成while(*P)或while(*p!='\0'),因为这个指针只是指向了数组中的某个值而自身并没有申请空间,而在链表中x写成while(p)或while(p!=NULL),因为指针自身被在堆中动态申请
2017-03-15 22:59:51 274
ldapjdk.jar
2020-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人