自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程和线程的认识

一个完整的操作系统 = 内核 + 配套的应用程序(IE浏览器,画图板…)内核是用来搞管理的软件,一方面是管理计算机的硬件设备,另一方面管理计算机的软件资源。每个硬件都有对应的驱动程序,内核调用驱动程序使用硬件设备。进程:进程是一种操作系统中非常重要的软件资源。把一个...

2020-07-29 16:47:00 227 1

原创 冯诺依曼体系结构

冯诺依曼体系结构描述了一台计算机是如何构成的.(99%的计算机都是冯诺依曼结构),硬件的特点会对软件开发造成直接的影响。冯诺依曼体系结构包含五个部分。CPU中央处理器(计算机的大脑):算术运算 逻辑判断存储器:内存 外存(硬盘,光盘,U盘,软盘…)我们平常使用的程序,如Windows操作系统,打字软件,游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。通常,我们把要

2020-07-28 23:39:37 983

原创 创建线程的五种方法

创建线程的五种方法1.通过显示继承Thread类的方式来实现2.通过匿名类内部类的方式继承Thread类3.显示创建一个类,实现Runnable接口,然后把这个Runnable的实例关联到Thread实例上4.通过匿名内部类来实现Runnable接口5.使用lambda表达式来指定线程执行的内容这五种创建线程的方式,没有本质上的区别(站在操作系统的角度),核心都是依靠Thread 类,只不过指定线程执行的任务的方式有所差异。站在代码耦合性的角度 ,细节上有点区别,通过Runnable

2020-06-15 12:29:41 2245 1

原创 数据库编程的必备条件

数据库编程:必备条件:编程语言,如Java数据库MySQL 是一个CS结构的系统,MySQL的客户端是系统自带的和客户端是一个控制台 程序。当我们敲下SQL语句的时候,都会由客户端把SQL通过网络发送给服务器,而服务器又会通过网络把操作结果返回给客户端。编程操作数据数据库本质上就是通过代码实现一个MySQL客户端,同样是通过网络和服务器进行交互。写代码操作SQL主要是实现一个客户端,而不是实现服务器,数据库服务器很难实现。 要想自己实现客户端,客户端不是凭空就能实现的,但是数据库会给我们提供一组

2020-06-02 14:21:00 371 1

原创 哈希表

哈希表:面试中出场频率很高,工作中的出场频率也很高。哈希表是基于数组演化而来,哈希表高效的秘密就在于数组的随机访问能力。哈希是用空间换时间。针对输入的每个数字(key)都要进行一个数学运算的变换,把key经过一定的数学变换转成下标的过程,称为“哈希函数”/“散列函数”。哈希函数有一个重要特点:两个相同的key,计算得到的hash值一定相同。哈希函数:key % 数组长度 = 下标的值如果两个不同的key,通过哈希函数计算之后得到了相同的hash值,此时这种情况称为“哈希冲突”/“哈希碰撞”。

2020-05-17 17:21:18 176

原创 String,StringBuilder,StringBuffer的不同用法

String,StringBuilder,StringBuffer的区别由于String的不可更改性,为了方便字符串的修改,提供了StringBuffer和StringBuilder 类。这两个类在java.lang 包中,不需要导入import。String的内容不可修改,StringBuilder 与StringBuffer的内容可以修改。平凡修改字符串的情况考虑使用StringBuffer 和StringBuilder。StringBuilder 与 StringBuffer 大部分功能是相似

2020-05-16 19:47:16 204

原创 面试问题:this和super的区别?

this和super的区别?不同:代表的事物不同:this代表的是当前对象的引用,super代表的是父类空间的引用。使用的前提不同:super必须要有继承关系才能使用,this不需要继承关系也能使用。调用的构造函数不同:super() 在子类中调用父类的构造方法,this() 在本类中内调用本类的其他构造方法。相同:super() 和this() 均需放在构造方法内第一行。super() 和this() 都指的是对象的引用,所以均不可在static环境中使用。...

2020-05-16 18:43:42 280

原创 初始JVM内存区域划分

初始JVM内存区域划分程序计数器(PC Register): 只是一个很小的空间,保存下一条执行的指令的地址。虚拟机栈(JVM Stack): 重点是存储局部变量表,我们创建的数组存储地址的引用就在这里保存。本地方法栈(Native Method Stack): 本地方法栈与虚拟机栈的作用类似,只不过保存的内容是native方法的局部变量。有些版本的JVM实现中(HotSpot),本地方法栈和虚拟机栈是一起的。堆(Heap): JVM所管理的最大内存区域。使用new创建的对象都是在对

2020-05-16 11:19:22 144

原创 java中字符串为什么是不可变对象?

字符串是不可变对象(对象的值不能改变)一. 为什么要把String 设计成不可变??不可变很大程度上是为了实现常量池.String str1 = "hehe";String str2 = "hehe"; 假设字符串是可变对象,通过str1改了hehe 之后,也会影响到str2的值。为了避免相互影响,设计成不可变是最简单粗暴的.c++中的字符串其实也有类似的“常量池”概念,但是在c++中的string对象是可变的,如果多个string引用对应到一个string对象的时候,一个引用修改了,

2020-05-13 15:41:09 452

原创 面向对象语言的三大特征。(面试问题)

面试问题:oop语言的三大特征封装:在我们写代码的时候经常会涉及两种角色:类的实现者和类的调用者封装的本质 :就是让类的调用者不必太多的了解类的实现者是如何实现类的,只要知道如何使用类就行了。这样就降低了类使用者的学习和使用成本,从而降低了复杂程度。private :实现封装 如果一个成员变量被private所修饰,那么这个属性只能在类内进行访问。当成员变量被设置为私有的,那么 ...

2020-04-14 00:36:28 1026

原创 抽象类和接口的区别??(面试问题)

面试问题:抽象类和接口的区别??像这种没有实际工作的方法, 我们可以把它设计成一个抽象方法(abstractmethod), 包含抽象方法的类我们称为 抽象类(abstract class)接口是抽象类的更进一步,比抽象类更抽象。不同:抽象类用abstract关键字修饰,而接口用interface关键字修饰。抽象类里的数据成员可以是各种类型的,而接口中的数据成员必须是一个public...

2020-04-13 22:17:17 1003

原创 抽象类和普通类的区别??(面试问题)

面试问题: 抽象类和普通类的区别?如果一个方法里没有实际工作,也就是什么都不用写 .那么我们就可以把这个方法设计成抽象方法,而包含抽象方法的类,顾名思义 :抽象类。那么抽象类和普通类的区别是什么呢?抽象类声明时需要abstract 关键字来定义 ,而普通类则可以是public private等。抽象类里的方法里不能有方法的主体,只能是方法的声明,而普通类里的方法里可以有主体。抽象类是不...

2020-04-13 16:30:28 1620

原创 java变量类型的基本知识点

变量变量指的是程序运行时可变的量,相当于开辟一块内存空间来保存一些数据。变量有很多种类型。整形变量:基本语法格式 int 变量名 = 初始值;代码示例 int num = 10; System.out.println(num);在java中,一个int变量占4个字节,和操作系统没有直接关系。因为java的变量是存在内存中的,由虚拟机运行。4个字节表示的范围是 -2^3...

2020-03-03 00:17:11 169

原创 十进制转换二进制,八进制

一. 十进制转换二进制比如说 :十进制数 12 转换成二进制 若使用辗转相除法 让12 一直除2,所得余数倒着写便是二进制数 1100 但此方法利于小的十进制数使用,所以在这里我要介绍另一种方法。 以byte为例,一个字节 12就相当于8+4 ,所以在8和4的位置上写1,其余位置写0,即12 用二进制表示 1100 而 110...

2020-02-29 00:13:01 1435

空空如也

空空如也

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

TA关注的人

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