- 博客(32)
- 资源 (12)
- 收藏
- 关注
原创 Java面试总结
文章目录1. equals与hashcode的关系2. String, StringBuffer, StringBuilder3. Java异常4. Java I/O流5. 浅拷贝、深拷贝6. ArrayList, LinkedList7. HashMap, ConcurrentHashMap8. 进程与线程9. Atomic原子类10. AQS11. Java 中垃圾回收机制中如何判断对象需要回收?常见的 GC 回收算法有哪些?1. equals与hashcode的关系基类Object中的equal
2021-04-21 14:55:58 91
原创 Mac一键安装HomeBrew
尝试过网上无数的方法之后,终于找到了这个最便捷的方法,一键安装,并且速度飞快安装脚本:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"卸载脚本:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"...
2021-03-08 22:19:06 160
原创 oh-my-zsh
解决oh-my-zsh下执行git 命令卡顿的问题git config --add oh-my-zsh.hide-status 1
2021-03-08 22:11:35 105
原创 设计模式基础知识之面向对象
文章目录面向对象1. 面向对象编程(`OOP`,`Object Oriented Programming`)1.1 封装1.2 继承1.3 抽象1.4 多态2. 面向对象编程语言(`OOPL`,`Object Oriented Programming Language`)面向对象1. 面向对象编程(OOP,Object Oriented Programming)面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石 。
2020-07-01 22:55:01 126
原创 RabbitMQ简介(一)
简介MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法使用场景在项目中,可将一些无需即时返回且耗时的操作提取出来,进行异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。任务异步处理将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。应用程序解耦合MQ相当于...
2019-11-03 23:03:27 172
原创 Redis重要知识点
★★☆ 字典和跳跃表原理分析。★★★ 使用场景。★★★ 与 Memchached 的比较。★☆☆ 数据淘汰机制。★★☆ RDB 和 AOF 持久化机制。★★☆ 事件驱动模型。★☆☆ 主从复制原理。★★★ 集群与分布式。★★☆ 事务原理。★★★ 线程安全问题。...
2019-04-16 15:42:06 184
原创 mysql重要知识点
★★★ B+ Tree 原理,与其它查找树的比较。★★★ MySQL 索引以及优化。★★★ 查询优化。★★★ InnoDB 与 MyISAM 比较。★★☆ 水平切分与垂直切分。★★☆ 主从复制原理、作用、实现。★☆☆ redo、undo、binlog 日志的作用。...
2019-04-16 15:40:24 122
原创 数据库系统原理
★★★ ACID 的作用以及实现原理。★★★ 四大隔离级别,以及不可重复读和幻影读的出现原因。★★☆ 封锁的类型以及粒度,两段锁协议,隐式和显示锁定。★★★ 乐观锁与悲观锁。★★★ MVCC 原理,当前读以及快照读,Next-Key Locks 解决幻影读。★★☆ 范式理论。★★★ SQL 与 NoSQL 的比较。...
2019-04-16 15:39:37 144
原创 SQL
★★☆ 手写 SQL 语句,特别是连接查询与分组查询。★★☆ 连接查询与子查询的比较。★★☆ drop、delete、truncate 比较。★★☆ 视图的作用,以及何时能更新视图。★☆☆ 理解存储过程、触发器等作用。...
2019-04-16 15:38:38 139
原创 socket
★★☆ 五种 IO 模型的特点以及比较。★★★ select、poll、epoll 的原理、比较、以及使用场景;epoll 的水平触发与边缘触发。
2019-04-16 15:37:09 102
原创 HTTP
★★★ GET 与 POST 比较:作用、参数、安全性、幂等性、可缓存。★★☆ HTTP 状态码。★★★ Cookie 作用、安全性问题、和 Session 的比较。★★☆ 缓存 的 Cache-Control 字段,特别是 Expires 和 max-age 的区别。ETag 验证原理。★★★ 长连接与短连接原理以及使用场景,流水线。★★★ HTTP 存在的安全性问题,以及 ...
2019-04-16 15:36:34 124
原创 计算机网络重要复习知识点
★★★ 各层协议的作用,以及 TCP/IP 协议的特点。★★☆ 以太网的特点,以及帧结构。★★☆ 集线器、交换机、路由器的作用,以及所属的网络层。★★☆ IP 数据数据报常见字段的作用。★☆☆ ARP 协议的作用,以及维护 ARP 缓存的过程。★★☆ ICMP 报文种类以及作用;和 IP 数据报的关系;Ping 和 Traceroute 的具体原理。★★★ UDP 与 TC...
2019-04-16 15:35:20 157
原创 Linux重要复习知识点
★★☆ 文件系统的原理,特别是 inode 和 block。数据恢复原理。★★★ 硬链接与软链接的区别。★★☆ 能够使用常用的命令,比如 cat 文件内容查看、find 搜索文件,以及 cut、sort 等管线命令。了解 grep 和 awk 的作用。★★★ 僵尸进程与孤儿进程的区别,从 SIGCHLD 分析产生僵尸进程的原因。...
2019-04-16 15:33:41 229
原创 操作系统重要知识点
· ★★★ 进程与线程的本质区别、以及各自的使用场景。调度:线程是调度和分配的基本单位,同一进程中线程的切换不会引起进程的切换并发性:进程和线程都可并发执行拥有资源:进程是拥有资源的一个独立单位,线程自身不拥有系统资源,可以访问其隶属进程的资源系统开销:进程的撤销或创建的系统开销显著大于线程的创建与撤销,进程切换的开销也远大于线程应用场景:需要安全稳定时用进程,需要速度时用线...
2019-04-16 15:31:46 604
原创 数据结构——散列表
实现一个基于链表法解决冲突问题的散列表class _ListNode: def __init__(self, key): self.key = key self.next = Noneclass HashMap: def __init__(self, size): self._table = [None] * size ...
2019-04-16 15:14:55 123
原创 数据结构——二分查找
实现一个有序数组的二分查找算法def binary_search(lst, low, high, value): if len(lst) == 0: return False if low <= high: mid = int((low+high)/2) if lst[mid] > value: ...
2019-04-16 15:13:01 456
原创 数据结构——排序
冒泡排序稳定 时间复杂度O() 空间复杂度O(1)def bubble_sort(lst): if len(lst) < 2: return # 最后一次交换的下标, 每经过一次便利,后面有序区至少多增加一位 last_change_index = len(lst) - 1 for i in range(len(lst) - 1...
2019-04-16 15:11:00 140
原创 数据结构——字符串
字典树的实现class Trie: def __init__(self): self.root = {} self.end_of_word = '#' def insert(self, chars): node = self.root for char in chars: nod...
2019-04-16 14:53:09 138
原创 数据结构——数组
实现一个支持动态扩容的数组class DynamicArray: def __init__(self): self._n = 0 self._capacity = 10 self._A = self._make_array(self._capacity) def __len__(self): retur...
2019-04-16 14:42:13 162
原创 数据结构——链表
单链表class Node: next = None data = None def __init__(self, nodeData): self.data = nodeDataclass List: head = None size = 0 def __init__(self): self.size ...
2019-04-16 14:38:04 122
原创 数据结构——队列
先进先出结构用数组实现一个顺序队列class ArrayQueue: def __init__(self, length): self.queue = [None]*length self.length = length self.front = 0 self.rear = 0 def in_queue(...
2019-04-16 14:32:38 113
原创 数据结构——栈
用数组实现一个顺序栈class ArrayStack: def __init__(self, length): self.stack = [] self.length = length def is_empty(self): if len(self.stack) == 0: return True ...
2019-04-16 14:30:07 82
原创 K-近邻算法
引言最小距离分类器:它将各类训练样本划分成若干子类,并在每个子类中确定代表点。未知样本的类别则以其与这些代表点距离最近做决策。该方法的缺点是所选择的代表点并不一定能很好地代表各类,其后果将使错误率增加最近邻法最近邻分类器(nearest neighborhood classifier, nnc): 最小距离分类器的一种极端的情况,以全部训练样本作为代表点,计算测试样本与所有样本的距离,并以最近邻者...
2018-07-09 18:23:47 535
原创 宏观经济学概述
一、宏观经济学的产生经济学:经世济民,管理世事,造福于民凯恩斯1936年出版《就业、利息和货币通论》一书,标志着现代西方宏观经济学成为一门独立的理论经济学分支学科。凯恩斯,英国经济学家,可谓经济学界最具影响的人物之一。凯恩斯一生对经济学作出了极大的贡献,一度被誉为资本主义的“救星”、“战后繁荣之父”等美称。二、宏观经济的研究对象研究社会总体的经济行为及其后果。探究产出(收入)、就业(失业)、物价、...
2018-06-17 16:44:30 3616
原创 python学习第四天
面向对象类和对象万事万物都是类类可以用属性和行为来描述对象是类的一个实例虽然类可以用属性和行为来描述,但是真正具有属性值和真正进行某个行为的只能是对象。并且,不同的对象可以具有不同的属性值以及进行不同的具体行为。类的定义class Student(object): def __init__(self,name,age,gender): self.name=name ...
2018-06-08 19:19:13 127
原创 python学习第三天
深拷贝和浅拷贝集合类型和函数函数的变长参数def f(x, *args) --在调用该函数时,传入位置参数,从第二个参数开始所有的参数值组成一个元组传递给args。def f(x,**args) --在调用该函数时,传入关键字参数(第一个参数既可以传位置参数,也可以传关键字参数),从第二个参数开始所有的参数值组成一个字典传递给args。def f(x,*args,**kwargs) --...
2018-06-06 22:19:02 127
原创 python学习第二天
集合类型集合类型主要有:字符串(str)元组(tuple)列表(list)字典(dict)序列元组列表列表的操作取值切片和索引 --如果超出索引范围,会报错误list index out of range添加list.append(<新元素>)删除list.remove(<待删元素>) --如果列表中有多个元素都等于指定值,则删除第一个。del(list[3]) -...
2018-06-05 19:53:22 155
原创 python学习第一天
python语言介绍python是一种解释型的,面向对象的,带有动态语义的高级程序设计语言。python编程语言的定位脚本语言(scripting language)高阶动态编程语言python特征简单易学:python的伪代码本质是它的最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。python的语法极其简单,极易上手。解释性&编译性:python程序不需要编译即可执行,...
2018-06-04 20:28:37 168
原创 Java八大排序
概述 排序分为内部排序与外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。当n较大时,应该采用时间复杂度为0(nlog2n)的排序方法:快速排序、堆排序、归并排序。快速排序是目前基于比较的内部排序中被认为最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短。1、直接插入排序(Straight Inserti...
2018-03-31 18:08:56 213
原创 Java多态的理解
多态(polymorphism)编译时多态:方法的重载运行时多态:程序运行时系统根据调用该方法的实例的类型来决定调用哪个方法被称为运行时多态上述描述认为方法的重载也是多态的一种表现,不过多态主要是指运行时多态。运行时多态多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术:动态绑定(dynamic bin...
2018-03-22 21:16:04 150
原创 Java中split、substring、stringtokenizer各自的用法
import java.util.StringTokenizer;public class CutString { public static void main(String[] args) { String str="abcde"; String str2="I am your father"; String str3="192.168.0.1"; //截取掉st...
2018-03-20 20:35:46 278
原创 JDK环境变量配置及Java运行机制
JDK是Java Development Kit,简称java开发工具包。JDK是java的核心。它包括java运行环境、一堆java工具盒、java基础的类库(rt.jar)。JDK包含JRE的全部内容外,还包含开发者用以编译、调试和运行java程序的工具。JDK、JRE(Java运行时环境)、JVM(Java虚拟机)之间是包含关系。范围由大到小依次为JDK、JRE、JVM。JDK下载地址:点击...
2018-03-12 21:53:22 221
python基础教程第三版
2018-06-16
网络是怎样连接的
2018-05-06
算法 第四版
2018-04-22
图解tcp/ip
2018-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人