自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 秋招知识点总结——多线程

1.线程和进程这是一个很基础的知识点,考察的是对基础的掌握情况进程 是系统进行资源分配和调度的一个独立单位线程 是进程的一个实体,一个进程中拥有多个线程,线程之间共享地址空间和其它资源进一步的,我们需要知道二者的区别,即为啥要多线程?原因是:线程上下文的切换比进程上下文切换快原理是因为:线程切换仅需要保存和设置少量的寄存器内容,而进程之间的切换;涉及到当前进程的 CPU 环境的保存和新被调度运行进程的 CPU 环境的设置。拓展问题:进程之间如何通信?线程之间如何通信?进程之间依靠 管道

2020-10-18 15:27:42 98

原创 秋招知识点总结——String三兄弟

String字符串操作是我们最常用到的操作,通常我们使用的都是String。String的底层实现是一个 Char 类型的数组。String作为最基础的一个类,他自身与Array有些许的相似之处。String的特点首先我们要明确一点,String是固定长度的,当他在创建的那一刻起,他就不可变了;如果想要在原有字符串的基础上进行修改,那么不好意思,你只能创建一个新的字符串了。String str1 = " hello ";str1 = str1 + "world";按照我们基本数据类型的

2020-10-06 12:57:02 159

原创 秋招知识点总结——基础部分02

1.重写和重载重写(Override) 是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小,被重写的方法不能是 private 的,否则只是在子类中重新定义了一个新方法。我们可以理解为将从父类中继承出来的方法进行了内容的修改,体现了多态的特点。重载(Overload) 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。参数不同体现在 参数类型不同、参数个数不同、参数顺序不同 三个方面。2.list、map、set 的区别首先我们要明确一点:List和

2020-10-04 16:57:32 138

原创 秋招知识点总结——基础部分01

菜鸡的秋招个人总结

2020-10-03 16:02:52 109

原创 思维导图——MYSQL

MYSQL思维导图(引用请标明出处)

2020-08-14 16:47:55 81

原创 思维导图——GC

思维导图如下(转载请标明出处):

2020-08-13 17:22:13 220 1

原创 思维导图——网络相关内容

见下图

2020-08-11 16:00:49 104

原创 锁相关内容

锁相关内容思维导图如下:

2020-08-10 17:28:56 79

原创 bilibili 2020 校招面试题程序题

一共三个编程题

2020-08-09 17:14:06 865

原创 单例模式

单例模式单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)。实现方式:懒汉式—线程不安全:最基础的实现方式,线程上下文单例,不需要共享给所有线程,也不需要加synchronize之类的锁,以提高性能。// 因为没有加锁 synchronized,所以严格意义上它并不算单例模式。// 这种方式懒汉式很明显,不要求线程安全,在多线程不能正常工作。public class Sin

2020-08-09 15:57:12 89

原创 java项目——搜索项目

基于win10自带的搜索系统,创建一个自己的搜索项目,类似于Everything。

2020-08-02 16:34:41 651

原创 二叉树的深度

二叉树的深度题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。题目链接:二叉树的深度解题思路:可以将本题理解为求树的层序遍历,通过层序的方法去计数深度1.通过队列,对二叉树进行层序遍历2.在层序的过程中,每当一层完成遍历时,层数加一3.通过size()可以得到该层的入队的个数,通过该个数去判断是否完成出队代码展示:/**public class TreeNode { int val = 0;

2020-07-28 15:27:59 75

原创 连续子数组的最大和

连续子数组的最大和题目描述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)题目链接:连续子数组的最大和考点内容

2020-07-27 15:30:12 56

原创 栈的压入弹出操作

栈的压入弹出操作题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)题目链接栈的压入弹出解题思路本题是一道较为基础的栈操作试题,对于这类需要检测操作是否合理的题,最直观的解法就是模拟栈操作去核对顺序是否合理;由于栈的先进后出原则,行或者不行

2020-07-25 15:35:35 743

原创 io流

流的概念在Java中,所有的数据都是使用流来编写的,流是一组有顺序,有起点,有终点的字节集合。流的本质是数据传输。按照流向分:输入流,输出流按照处理数据的单位分:字节流,字符流Java io类图:字节流FileInputStream类FileInputStream是文件输入流,用于从文件中读出数据。FileInputStream(File file):通过打开与实际文件的连...

2020-01-22 09:57:26 94

原创 多线程案例

单例模式单例模式可以保证,一个类仅创建一个实例,并提供一个访问他的全局访问点。该模式有三个基本点:这个类只能有一个实例必须自行创建这个实例必须向全局提供这个实例通过单例模式可以节约系统资源,避免多次创建实例。饿汉模式public final class Singleton { private static Singleton instance=new Singleton...

2020-01-21 10:29:00 76

原创 多线程

线程(Thread)线程是操作系统中能够调度的最小单元,他包含在进程中,是行程的最小单位,一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并行多个线程,每条线程并行执行不同的任务。多线程的优点——增加运行速度丨丨线程的创建继承Thread类可以通过继承Thread来创建一个线程类,好处是this就代表当前线程,不需要通过 Thread.currentThread()来获取...

2020-01-20 09:33:35 80

原创 操作系统进程线程

1.冯诺依曼体系什么是冯诺依曼体系?冯诺依曼体系是指由五大部分组成的计算机系统:输入设备,输出设备,存储器,中央处理器(运算器,控制器)。**注:**此处的存储器指的是内存,且所有设备都和内存直接交互。丨丨2.操作系统什么是操作系统?任何计算机都包含一个基本的程序集合,称为操作系统(os) 。操作系统大致分为内核部分与其他程序。操作系统的定位是一个专门进行“管理”的软件。...

2020-01-18 08:55:20 85

原创 Map练习:子域名访问计数

子域名访问计数一个网站域名,如"discuss.leetcode.com",包含了多个子域名。作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名"leetcode.com"以及顶级域名 “com”。给定一个带访问次数和域名的组合,要...

2019-09-07 14:00:05 126

原创 数组练习题:删除排序数组中的重复项

习题内容给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 ...

2019-09-05 15:53:55 156

原创 排序,java代码实现(下)

承接上篇文章,本文章主要为后续的三种排序:冒泡排序快速排序归并排序冒泡排序冒泡排序的原理是:通过遍历无序区间,比较相邻的数,将较大的放在后面,通过多段交换,使其达成一种无序区在前,有序区在后的形态,直至完全有序为止。时间复杂度:最好O(n) 平均O(n^2) 最坏O(n^2)空间复杂度:O(1)稳定性:稳定代码实现:private static void swap(i...

2019-09-03 21:01:45 59

原创 排序,java代码实现(上)

七大基于比较的排序7大排序分别为:1.插入排序2.希尔排序3.选择排序4.堆排序5.冒泡排序6.快速排序7.归并排序这7种排序都属于 In-Place 类型,即为原地排序插入排序:减治算法排序每次从无序期间选择第一个数,插入到有序区间的合适位置过程:每次把无序区的第一个数,在有序区遍历,找到合适位置,搬移原有数据时间复杂度:最好O(n) 最坏O(n²) 平均O(n...

2019-08-28 13:34:55 77

原创 java实现二叉树

二叉树什么是二叉树:二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。二叉树的特点1.每个结点最多有两棵子树,即二叉树不存在度大于2的结点。2.二叉树为有序树,子树有左右之分,其子树的次序不能颠倒。二叉树的存储结构主要为顺序存储和链式存储二叉树的遍历二叉树的遍历主要分为:前序/中序/后序遍历 三种,多使用递归的思想去实现他的遍...

2019-08-24 15:57:09 72

原创 代码块

**代码块定义:使用{ } 定义的一段代码**代码块主要分为四种:普通代码块构造块静态块同步代码块1.普通代码块定义在方法中的代码块,通常直接使用{ }来定义。一般用在较长的代码中,以避免变量的重名,使用较少。2.构造块定义在类中的代码块(不加修饰符)public class Test{ { System.out.println("Test类的构造块") }...

2019-08-16 15:59:33 58

原创 java二分查找和冒泡排序练习

一、二分查找**前提:数组已经有序**代码:``public class test{public static int binarySearch(int[] array,int key){ int left=0,right=array.length; while(left<right){ int mid=left+(right-left)/2; if(array[mi...

2019-05-19 19:26:29 120

原创 三子棋

头文件部分#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROW 3#define COL 3char board[ROW][COL];void zero();void chess_board();vo...

2019-04-01 19:49:49 83

原创 我的第一篇博客

1.编程作为信息科学的一个基本知识与技能,是一个现代人,特别是受过高等教育的现代人知识框架结构中的一个组成部分。就比如,可能我们一辈子都不能直接用上牛顿三大定律,但是我们不能否认它们在我们整个认识中的作用与地位。这个就涉及到我们对世界认知的问题了。如果没有一定的程序基础,如何了解信息科学的基本常识?又如何掌握该科学的发展呢?并且,信息科学和日常生活有巨大的联系。2. 对于许多专业与学科...

2019-03-27 12:43:08 227

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除