自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 开篇之作

自我介绍:杨旭青年一代有理想、有本领、有担当,国家就有前途,民族就有希望,信息时代要想建功立业有所作为就要选择学计算机;新兴的技术需要时刻保持学习,格物致知,见贤思齐;可谓前程似锦,任重道远。编程应该算上是首要的事业,我将不遗余力;以后进个大牌公司;贤我尽我;...

2019-08-01 19:34:56 173

原创 HDFS简述

Name Node就是Master,他是一个主管、管理者。

2023-04-20 14:57:30 202

原创 MapReduce原理

在客户端执行submit()方法之前,会先去获取一下待读取文件的信息;将job提交给yarn,这时候会带着三个信息过去(job.split;.jar;job.xml)yarn 会根据文件的切片信息去计算将要启动的maptask的数量,然后去启动maptask;maptask会调用inputFormat()方法去HDFS上面读取文件。inputFormat()方法会再去调用RecordRead()方法,将数据以行首字母的偏移量为key,一行数据为value传给mapper()方法;mapper方法..

2023-04-18 13:56:17 423

原创 Hadop—yarn

调度器根据容量、队列等限制条件,将系统中的资源分配给各个正在运行的应用程序。总之,调度器根据应用程序的资源要求,以及集群机器的资源情况,为应用程序分配封装在Container中的资源。Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当ApplicationMaster向ResourceManager申请资源时,ResourceManager为ApplicationMaster 返回的资源便是用Container表示的。

2023-04-18 13:55:58 174

原创 线程 创建 与 运行

Java创建线程

2022-10-09 16:55:33 76

原创 JAVA标识接口

在Java语言中,有些接口内部没有声明任何方法,也就是说,实现这些接口的类不需要重写任何方法,这些没有任何方法声明的接口又被叫做标识接口,标识接口对实现它的类没有任何语义上的要求,它仅仅充当一个标识的作用,用来表明实现它的类属于一个特定的类型。这个标签类似于汽车的标志图标,每当人们看到一个汽车的标志图标时,就能知道这款汽车的品牌。Java类库中已存在的标识接口有Cloneable和Serializable等。在使用时会经常用instanceof来判断实例对象的类型是否实现了一个给定的标识接口java.io

2022-02-03 14:13:59 272

原创 接口和抽象类

default方法和static方法Java8之前接口只能有抽象方法,使用public abstract修饰,final字段,使用public static final修饰;Java8 之后新增default方法和static方法;static方法可以在接口外使用接口名打点访问,default方法不行;之前的Java继承中,由于实现子类中给出了具体的方法实现过程,对于两个接口相同的方法不会产生二义性;如今加入了default和static方法这种已经实现的方法,相同的方法在类继承(实现implemen

2022-02-03 13:54:43 509

转载 建议收藏:通俗易懂讲解偏向锁、轻量级锁和重量级锁

来源:码农翻身 | 作者:刘欣我是一个线程,生活在JVM(Java虚拟机)中, 这一段日子过得有些无聊,整个世界似乎只有这一个人,天天忙着执行代码,想休息一下都很难。我听说人类写的代码中有些特殊的地方,叫做临界区,比如synchronized修饰的方法或者代码块,他们非常神奇,在同一时刻JVM老大只允许一个线程进入执行。实际上,老大设置了一把锁,抢到了这把锁就可以执行,否则只能阻塞,等待别人...

2020-03-07 18:49:32 537 2

原创 数据库知识点

为什么用自增列作为主键* 如果我们设定了主键(PRIMARY KEY),那么InnoDB(数据库)引擎会选择主键作为聚集索引,如果没有显式定义什么用自增列作为主键* 如果我们设定了主键(PRIMARY KEY),那么InnoDB(数据库)引擎会选择主键作为聚集索引,如果没有显式定义索引那么InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。* 如果也没有这样的唯一索引,则Inn...

2020-02-26 17:00:43 150

原创 零基础学数据库索引,B树

在这里感谢鲁班学院-周瑜老师,图灵学院周瑜老师,我的相关知识都是再B站上,观看有关视频学到的;为什么要使用索引?进行数据库查询时,需要把数据从磁盘加载内存,由于程序的局部性原理,所以数据加载时不上一条一条加载,而是一页一页加载;一页大小是16K,也就可以加载好多数据,使用链表将其连接,而数据越多链表越长,查询效率越低,所以就需要构建页内索引,来提高查询效率;当然要加载的数据可能不止一页...

2020-02-19 19:17:06 125

原创 序列化

什么是序列化和反序列化序列化:对象——> 字节序列 (把对象转化成字节序列的过程)反序列化:字节序列——> 对象 (把字节序列恢复为对象的过程)为什么要序列化和反序列化持久化对象网络传输RMI传输对象:远程方法调用(Remote Method Invocation),一种用于实现远程过程调用(RPC)(Remote procedure call)的Java API,...

2020-02-17 14:58:00 110

原创 单例模式各种写法比较

枚举public enum Singleton { INSTANCE; public void whateverMethod() { }}这种方式是Effective Java作者Josh Bloch 提倡的方式,它不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象,可谓是很坚强的壁垒啊,不过,个人认为由于1.5中才加入enum特性,用这种方式写不免...

2020-02-16 21:27:12 97

原创 java异常

Java把异常作为一种类。其中Throwable类是所有异常类的基类;他有两大子类分别是Error和Exception。Error:Error是程序无法处理的错误,它是由JVM产生和抛出的,比如Virtual MachineError(虚拟机运行错误)、NoClassDefFoundError(类定义错误)OutOfMemoryError、ThreadDeath等。这些异常发生时,Java虚......

2020-02-16 19:06:15 213

原创 一分钟明白进程,线程及线程安全和线程不安全,死锁

进程的概念进程的起源和描述:在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征。为此引入了进程(Process)的概念,以便更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性。相应的数据结构:PCBPCB块的作用:使得上面提到的程序成为一个能独立运行的基本单位,也就是进程 ,可以与其他进程并发执行的进程;OS是根据PCB来对并发执行的进程...

2020-02-15 15:17:03 1195

原创 Servlet处理客户端请求从输入一个URL说起

客户端输入url发起请求,例如:URL=http://localhost:8080/test/login浏览器通过loaclhost(ip)找到对应的服务器主机;并将请求发送到端口为8080处,被在那里侦听的Coyote HTTP/1.1 Connector获得;Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应Engine获得请求loc...

2020-01-15 16:13:46 288

原创 hashmap和hashtable

要说说hashMap和hashTable的区别就要说说他们出现的时间顺序了:hashTable出现的比较早,hashMap出现的比较晚了;所以hashMap就对与hashTable进行了一些改进;主要有一下方面:hashMap是非线程安全的,所以效率比较高;hashMap允许key和value为空;将key和value的null值改为0进行存储;如果不改的话存储null值时,用equa...

2020-01-08 22:50:19 122

原创 String对象的创建——再也不怕字符串的比较了

//TODO字符串的比较顺序创建字符串最平常的方式: String str1 = "abcd"; String str2 = new String("abcd");区别是有的:第一种方式引用的是常量池的对象;第二种方式会先在常量池中先查找能不能找到"abcd"或"abcd"的引用,如果没有,那么就会在常量池创建字符"abcd",然后在堆上创建对象,对象中存储常量池字符的地址...

2020-01-07 22:00:18 111

原创 toArray()方法

集合的toString()方法返回一个object数组;但是我们如果需要获得对应特定类型的数组时:通常都是在取得数组元素时进行强制类型转换;因为直接的转换是错的:List<Integer> list = new ArrayList<>();Integer[] objects = (Integer[]) list.toArray();这段代码会报一个这样的异常:Ex...

2020-01-04 12:02:43 12839 2

原创 Static

static :最初的使用可能是为了让多个子类共享一份数据而引入的吧父类中的静态成员变量和方法是可以被子类继承的,但是不能被自己重写,无法形成多态;如果子类里面定义了静态方法和属性,那么这时候父类的静态方法或属性称之为"隐藏"。如果你想要调用父类的静态方法和属性,使用父类名访问;静态方法和属性是属于类的,是和类静态绑定在一起的;所以 对于父子都有的method:father f = ne...

2019-12-25 10:58:01 57

原创 当时只道是寻常的——数组拷贝

起初学数组是只觉得数组的复制是一个小知识点,也会因为自己能从课下学到的一些花哨的数组拷贝方法而暗暗自喜,然而数组复制的方法多而杂乱,直到需要使用时才发现,竟然不能完整的说出一个方法,会想起当初为何选择学习Java还不是因为它的API好用吗(API用的好,代码错误少)?所谓不忘初心,方得始终;频繁的查找API之后,才决定要将常用的数组拷贝方法进行整理,以便日后编程时能信手拈来:...

2019-11-28 18:27:36 98

原创 我有两个方法——初始化一个集合

集合大家用的最多的封装好的数据结构;那么再创建好一个集合,如何将自己的数据导入呢?方法一:static <T> boolean addAll​(Collection<? super T> c, T... elements)Adds all of the specified elements to the specified collection.Collect...

2019-11-28 17:33:42 254

原创 This引用的创建时机及一点细节

为什么要有this引用?方法区的方法如何知道自己是被那个对象调用了?其实编译器作业一些幕后工作,他暗自把那些操作方法的对象的引用作为方法的第一个参数传递给对象方法;而this的出现是为了在方法的内部表示掉用方法的当前对象;this指针只能在对象方法中,类方法不能使用this指针.因为对象的创建时期就是this的创建时期 ,this是当前对象的引用,而类在调用类方法时可能还没有对象,所以...

2019-11-03 19:55:12 171

原创 让人望而却步的String及intern()方法

摘要java.lang.String中的public native String intern();返回值:如果常量池中有此字符,那么就返回字符串常量池中的字符的地址,由于字符串常量池也在堆上,所以返回的也是堆上的地址;如果字符串常量池没有此字符,就将这个对象的地址放入字符串常量池中,并返回放入的对象地址;public class StringConstruct { public st...

2019-11-03 16:10:45 110

原创 让男生咬牙切齿,惹女生黯然垂泪的“链表”总结及常规操作

链表节点类型:class Node { ElemType date Node next;}链表属性:节点Node haed用来引用整个链表;链表方法:头插法:待插入节点.next指向head指向的节点,head指向新插入的节点(不带头节点情况:唯一一个不用判断链表是否为空的操作)public void addFirst(int data) { Node ...

2019-10-24 16:08:07 109

原创 类和对象

面向对象程序设计技术理念类和对象类是具有相似特征的事物的抽象模板,对象是类的实例化类的定义和对象的创建类的定义使用关键词 class面向对象程序设计对问题的剖析就是以对象将问题进行分解的;而类的使命就是用来创建实例化对象;面向对象程序设计就是编写类的过程;类中的变量局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就...

2019-10-22 16:11:41 73

原创 一分钟掌握JVM——类的实例化过程

Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象(例如克隆、反序列化)通常仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢?

2019-10-22 15:41:28 771 1

原创 一分钟掌握 JVM——类的加载、连接、初始化

加载将类的字节码文件加载到内存(方法区域),然后在内存中创建一个Java.long.Class对象(这个对象不在堆上,hotspot VM 将它放在方法区)用来封装类在方法区的数据结构;因为JVM并没有规定加载类时字节码文件的来源,所以此时类有以下来源:从本地系统中直接加载从网络上下载.class文件从.zip、.jar等归档文件中加载.class文件;从数据库中提取.class文...

2019-10-22 15:40:56 94

原创 Java一个半解释性语言

解释型语言:是在运行的时候将程序翻译成机器语言。解释型语言的程序不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。...

2019-10-22 15:37:34 240

原创 Java和C++的动态绑定

继承(is - a)重写(覆盖)父类方法重写:方法头完全相同,方法体不同;具体如下:(1)重写方法不能缩小访问权限;(2)参数列表必须与父类方法相同(包括显示形式);(3)返回类型必须与父类方法的相同或是其子类;(4)重写方法不能抛出新的异常,或者超过了父类范围的异常,但是可以抛出更少、更有限的异常,或者不抛出异常。新增方法(重载和新增);重载(1)方法名相同;(2)方法...

2019-10-16 22:06:46 328

原创 进制转换

num代表一个二进制数,m代表要转换的进制public class BinaryConversion { public void method(int num, int m) { if (num == 0) { return; } else { this.method(num / m, m); ...

2019-10-14 14:33:47 187

原创 变量和基本数据类型

什么是变量变量就是指代在内存中开辟的具有特定属性的内存空间,用于存放运算过程中需要用的数据;强类型语言变量定义必须指定变量类型,以确定指代内存大小;变量必须先定义后使用,同时应该初始化,否则(局部变量)不能编译通过;Java命名规范项目名全部小写包名全部小写类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。如:public class MyFirstClass...

2019-10-14 13:19:40 211 1

原创 运算符

运算符与表达式算术运算符 : + 、- 、* 、/ 、% 、++ 、-- ;关系运算符 :> 、< 、>= 、<= 、= 、!= ;位运算符 : ~ 、& 、| 、^ 、>> 、<< 、>>>(无符号右移) ;逻辑运算符 :&&、 ||、!;只能操作boolean类型数据赋值运算符 :=其他运算...

2019-10-14 13:15:15 59

原创 冯诺依曼体系结构VS哈佛体系结构

冯诺依曼体系结构存储程序原理程序(指令)和数据同时存放在一个存储器上,控制流由指令流产生,且指令在存储器中按执行顺序存放,存储程序计算机最早是由著名数学家冯·诺依曼等人在1946年总结并明确提出来的,因此又被称为冯·诺依曼计算机(又称为普林斯顿体系结构)。基本点是指令驱动程序预先存放在计算机存储器中,计算机一旦启动,就按照程序指定的逻辑顺序执行这些程序冯诺依曼体系结构的主要特点...

2019-10-14 13:10:30 1649

原创 链表

List item List item这里写自定义链表链表节点类型:class Node { ElemType date Node next;}链表属性:头节点Node haed;链表方法:头插法:待插入节点.next指向head指向的节点,head指向新插入的节点(唯一一个不用判断链表是否为空的操作)尾插法:判断链表是否为空?若为空则将head指...

2019-10-09 12:06:44 100

原创 C语言文件操纵函数及getchar遇到键盘缓冲;

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>void GetChar(){ char c = getchar();//键盘一次性输入大批字符,(注意回车最后也会被录入c中)输入回车后getchar开始从stdin流中每次读入...

2019-09-11 11:56:20 104

原创 C语言内存分布和Java内存分布

写作背景我的Java学习实现从C的学习开始的,对于C语言的内存分布有了了解后,在对比了的内存分布后发现略有出入:其归根结底是真实计算机和JVM虚拟计算机的区别;C语言中内存分布及程序运行中(BSS段,数据段,代码段,堆段)BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。B...

2019-09-11 00:09:50 321 1

原创 编译器和解释器

编译器编译器:是一个程序,它可以阅读以某种语言(源语言)编写的程序并把它翻译成一个等价的,另一种语言(目标语言)编写的程序。目标是直接编译成CPU可直接二读取的二进制程序(.obj),但是现实的编译器往往都增加了汇编器过度环节那是因为汇编器技术很成熟所以就不妨拿来用了,而且生成的汇编语言调试是可以拿来阅读,为了能讲清楚不妨先假设没有汇编器,我们做一个编译器是就需要面向不同平台开发不...

2019-09-09 16:29:50 412

原创 一级指针 二级指针 指针和数组 指针数组

一级指针存放的是变量的地址;一级指针名就可以等于这个地址;二级指针存放的是一级指针的地址,同样指针名就是这个地址;数组指针是一个指针;它所存放的地址是数组变量的地址,即指向不同数组所以说一级指针 二级指针 数组指针都是指针,只是类型不同;而指针数组,是一个数组,他存放的数据类型是指针类型;int *p对应一维数组int a[];p是指针,指向int类型数数据;用 p指向一维数...

2019-08-19 14:29:54 431

原创 题库(37)_喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以多少汽水。 编程实现。

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<windows.h>/*喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以多少汽水。 编程实现。*///方法一int method(int n) { int drink = n;//上一次喝的//drink%2没兑完的 int...

2019-08-18 22:35:27 123

原创 常用的system函数

​#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<windows.h>void main(){ char letter; system("color ED"); /*0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色  2 = 绿色 A = 淡绿色  3 = 浅绿色 B = 淡浅...

2019-08-18 22:31:26 224

高频代码,日期处理,数据库查询,ES查询,自己的文件

高频代码,日期处理,数据库查询,ES查询,自己的文件

2022-05-31

空空如也

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

TA关注的人

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