Java专栏。
文章平均质量分 77
记录学到的Java知识与一些自己犯过的错误。
啊帅和和。
大数据小白,逐渐进阶。
展开
-
Java操作hdfs以及block块如何划分与相连
目录创建连接创建目录或文件删除目录或文件查看文件状态文件切分一个block块文件切分多个block块所有完整代码block块如何划分每一块的数据如何相连创建连接使用Java操作hdfs,其实是使用hdfs的文件管理系统file system(在hdfs-site.xml中)FileSystem fs; @Before public void main() throws Exception{ //获取配置文件,通过configuration这个类 Conf原创 2021-09-18 21:17:55 · 677 阅读 · 4 评论 -
设计模式、网络编程
这一块的内容主要是有关设计模式、网络编程的内容。设计模式简单工厂模式工厂方式模式单例模式Runtime类网络编程网络OSI参考模型网络编程三要素SocketUDPTCP原创 2021-08-25 15:45:51 · 432 阅读 · 2 评论 -
Java中的反射
这一块的内容主要是有关Java中反射的内容。反射Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制简言化之:反射就是:通过class文件对象去使用该文件中的成员变量,构造方法,成员方法之前我们写了很多类Java文件,再去实例化的时候,直接new出来比如:Person p = new Person();总归还是需要一个class文件也就是原创 2021-08-26 20:24:40 · 122 阅读 · 0 评论 -
Lock、死锁、线程间通信、线程组、线程池,以及定时器
这一块的内容主要是有关死锁、线程间通信、线程组、线程池以及定时器的内容。这一部分的内容,如果想搞得比较明白,最好先看一下上一篇大数据进阶25的内容。地址如下:大数据进阶25-多线程Lock在上一篇大数据 进阶25-多线程 里面,虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5之后提供了一个新的锁对象LockLock(接口):void lock() 获得锁,加锁void unlock() 释放锁子原创 2021-08-20 21:27:48 · 501 阅读 · 0 评论 -
Java中的多线程
这一块的内容主要是有关多线程的内容。线程什么是线程如果程序只有一条执行路径,那么该程序就是单线程程序如果程序有多条执行路径,那么该程序就是多线程程序。进程与线程的描述线程是依赖于进程存在的什么是进程通过任务管理器看到了进程的存在但是,我们只发现了正在运行的进程,没有运行的程序,进程中就没有进程:就是正在运行的程序正在运行的程序,是系统进行资源分配和调用的独立单位每一个进程都有它自己的内存空间和系统资源多进程单进程,是计算机只能做一件事情,但是呢,现在,我们的计算机原创 2021-08-19 22:20:58 · 627 阅读 · 0 评论 -
字符流,以及序列化
这一块的内容主要是有关字符流,以及序列化的内容。编码表由字符及其对应的数值组成的一张表通过字符集解码字符数组public String(byte[] bytes,Charset charset)public byte[] getBytes(Charset charset)总结:编码:把看的懂的变成看不懂的,类似于加密String – byte[]解码:把看不懂的变成看的懂的,根据编码表byte[] – Stringpublic static void main(String[]原创 2021-08-17 22:58:26 · 225 阅读 · 0 评论 -
递归、IO流
这一块的内容主要是有关递归和IO流的内容。递归什么是递归方法定义中调用方法本身的现象Math.max(Math.max(a,b)) 这不是递归,这仅仅只是方法的嵌套使用注意要有出口,否则就是死递归次数不能太多,否则就内存溢出构造方法不能递归使用递归小例子private static void show(int i){ if(i<=0){ System.exit(0); } else{原创 2021-08-16 21:46:30 · 715 阅读 · 0 评论 -
泛型、可变参数、静态导入、Set集合
泛型泛型的引入我们写下面这样的代码,发现是有一些小问题的,因为我们同时存储了String类型和Integer类型的数据,但都给它转成了String类型,在运行的时候就会报错,相反,数组在存储数据的时候,只能存储一个类型的数据,这也算是数组的一个优点,那,在集合中有没有这样的做法,在创建的时候就明确了元素的数据类型,这样我们在插入数据或者是向下转型的时候,直接在编译时期报错,在集合中,这种设计我们叫做:泛型。泛型的介绍泛型:一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的类型。参数化类原创 2021-08-15 20:47:57 · 107 阅读 · 0 评论 -
Collections工具类、异常,以及File文件的主要内容
这一块的内容主要是有关Collections工具类、异常,以及File文件的主要内容Collections工具类Collections工具类的概述:可以针对ArrayList存储基本包装类的元素进行排序Collection和Collections的区别Collection是单列集合的顶层接口,有两大子接口List和SetCollections是针对集合操作的工具类,可以针对集合进行排序,以及查找(二分查找)需要熟知的方法public static void sort(List lis原创 2021-08-14 22:03:20 · 616 阅读 · 3 评论 -
TreeSet、Map以及一些面试题
这一块的内容主要是有关TreeSet、Map以及Java中的一些面试题的内容。TreeSet有关TreeSetTreeSet:能够使元素按照某种规则进行排序排序有两种:1、自然排序;2、选择器排序TreeSet集合的特点:元素唯一、可以排序通过观察TreeSet的add()方法,我们发现最终要看TreeMap的put()方法发现经过TreeSet,元素按照升序输出了public static void main(String[] args) { //创建集合对象原创 2021-08-13 22:16:14 · 420 阅读 · 0 评论 -
有关数据结构、List集合、LinkedList以及List集合的练习
这一块的主要内容是有关数据结构的简单概述,List子类、LinkedList以及List集合的练习数据结构常见的数据结构栈队列数组链表树哈希表图栈和队列数组和链表数组的特点:查询快、增删慢链表的特点:查询慢、增删块树哈希表图List子集List子集的特点ArrayList:底层结构是数组,查询快,增删慢线程不是安全的,效率高ArrayList存储字符串并遍历代码举例:ArrayList arr = new ArrayList();原创 2021-08-10 20:24:10 · 124 阅读 · 0 评论 -
有关Connection集合、iterator迭代器
这一块的内容主要是有关Connection集合、iterator迭代器,以及List集合的内容。集合集合的概述我们为什么要用集合:一直从创建大数据进阶这个专栏到现在,写入的知识,有关容器的只有两个,一个是数组,一个是StringBuffer,而我们所学的Java,是一门面向对象的语言,面向对象是基于描述现实事物而存在的,一旦我们所用的数据多了起来,我们就必须要对这些对象进行存储,我们存储之后,就不能是定义一个遍历了,我们需要一个类似于数组这样的容器来进行存储。到现在为止,已经记录了数组、Stri原创 2021-08-09 22:05:33 · 236 阅读 · 0 评论 -
有关String类与StringBuffer类
这一块的主要内容是有关Java中有关String类以及StringBuffer类的内容String类String类的转换功能- byte[] getBytes()- char[] toCharArray()- static String valueOf(char[] chs)- static String valueOf(int i)- String toLowerCase()- String toUpperCase()- String concat(String str)代码举例:原创 2021-08-08 11:18:25 · 257 阅读 · 0 评论 -
Java中的代码块、继承以及方法重写
这一块的内容主要是有关Java中的代码块、继承,以及方法重写的内容。原创 2021-07-31 21:31:15 · 139 阅读 · 0 评论 -
JavaAPI,介绍一些常用的类
这一块的内容,主要是有关Java中的API,并且介绍一些简单的类常用类Java中有一些常用的类,主要有这些:红色和蓝色字体的多掌握一下,这里主要带着帮助文档列举几个(Object类、String类)API:应用程序编程接口Object类Object类的成员方法Object:是类Object结构的根,每个class都有Object作为超类所有对象(包括数组)都实现了这个类的方法每个类都直接或间接的继承自Object类Object类中的方法:hashCode()publ原创 2021-08-06 20:58:43 · 244 阅读 · 0 评论 -
Java权限修饰符、内部类(尤其注意匿名内部类)
这一块的内容主要是有关 权限修饰符、内部类的概述。权限修饰符同一个类下:public class PowerDemo1{ public String name = "张三"; protected int age = 21; boolean flag = true; private String id = "001"; public static void main(String[] args) { PowerDemo1 powerD原创 2021-08-05 21:41:01 · 382 阅读 · 0 评论 -
Java中抽象类、接口、以及形式参数与返回值
这一块的内容主要是有关Java中的抽象类、接口,以及形式参数与返回值。抽象类概述:用之前的猫狗、动物举例,动物中不应该具体的东西,而且动物中的吃方法、睡觉方法这些等都不应该也是具体,我们把一个不具体的功能称之为抽象的功能,也叫做抽象方法,而类中如果有抽象方法,该类必须定义为抽象类抽象类的使用代码举例:abstract class Animal{// public abstract void eat(){} //这样写会报错,因为抽象方法不能有主体 public abstract原创 2021-08-04 10:20:22 · 1404 阅读 · 0 评论 -
Java中final以及多态的概述和使用
这一块的内容主要是有关final以及多态的概述和使用。finalfinal关键字是最终的意思,可以修饰 类、成员变量、成员方法修饰类,类不能被继承修饰变量,变量就变成了常量,只能被赋值一次修饰方法,方法不能被重写在构造方法初始化完成之前赋值完毕(修饰的是非静态的常量)常量:字面值常量:“java”、100、false自定义常量:修饰变量,变量就变成了常量final int x = 100;//此刻的x就是一个常量final变量的引入:由于继承中有一个现象,子原创 2021-08-02 22:14:15 · 170 阅读 · 0 评论 -
Java中有关构造方法、static关键字以及静态的main方法和API文档
这一块的内容主要是有关Java中的构造方法以及static关键字和API的使用。构造方法概述:给对象的数据进行初始化。构造方法格式:方法名和类名相同没有返回值,连void都没有没有具体的返回值构造方法的注意事项:如果不提供构造方法,系统会默认给出构造方法如果自己提供了构造方法,系统将不再提供构造方法也可以重载举例:class Contruction{ private String name; private int age; Contruction()原创 2021-07-30 21:32:32 · 270 阅读 · 0 评论 -
Java中成员变量与局部变量的区别、形式参数、匿名对象与封装
这部分的内容主要是有关Java中 成员变量与局部变量的区别、形式参数的问题、匿名对象和封装的概念与使用。成员变量和局部变量的区别1、在类中定义的位置不同:成员变量:类中,但是定义在方法外。局部变量:定义在方法类中。2、在内存中的位置不同:成员变量:定义在堆中。局部变量:定义在栈中。3、生命周期不同:成员变量:随着对象的创建而存在,随着对象的结束而结束。局部变量:随着方法的调用而存在,随着方法的结束而结束。4、初始化值不同:成员变量:有默认的初始化值,比如int给的是0,Stri原创 2021-07-29 20:53:42 · 538 阅读 · 0 评论 -
Java中对MVC三层架构做一个简单的改进
前面我们使用了MVC三层架构来做登录验证,实现了数据的一个分离,将展示给用户的界面,验证的内容,查询数据库的内容分来了,很方便,但还是会有一些问题。目录问题引入简单改进后的MVCbean包controller包service包dao包问题引入假设我们需要做一个项目,项目里面分了很多类,有教职工,领导,保洁等等等各类分支,那我们还需要对各种不同的工种做不同的分类,就很麻烦,所以我们想,在不同的地方加上接口,让后端的内容面向接口编程即可简单改进后的MVC将一些内容写进不同的包bean:可以理解为不同原创 2021-09-12 15:11:31 · 271 阅读 · 0 评论 -
Java中使用MVC三层架构做登陆验证
这里主要的内容是有关Java中MVC三层架构目录原始的登陆验证分层改进(每个代码都是登录和验证两个功能)使用分层想法做登陆验证User类表现层业务层持久层原始的登陆验证原始的登陆验证写的比较麻烦,所有的逻辑代码都放在了一起,想做修改很费事package com.LXH.demo1.task;import com.LXH.bean.User;import java.sql.Connection;import java.sql.DriverManager;import java.sql.P原创 2021-09-12 14:49:20 · 1022 阅读 · 0 评论 -
Java中的springboot的安装和简单使用
这里主要是有关spring boot的简单介绍和使用简单安装springboot在网上下载一个与自己的idea相匹配的spring压缩包不想在网上下载的话,也可以在Settings里面下载;如果在网上下载之后,就可以从这里面找下载好的压缩包之后右键自己的项目,点击右侧的module当这边出现了一个Spring Assistant的时候,就已经安装完成springboot了创建项目,取名字的时候,一些内容要保持一致接着往下一步一步,在这里的时候,要注意点击SpringWeb测试原创 2021-09-12 14:43:17 · 3917 阅读 · 0 评论 -
Java类与对象
这一块的内容主要是有关Java中类与对象的内容。引入面向对象的思想:当我们有多个数组需要遍历时,我们可以将遍历的代码封装到方法中,需要遍历时,只需要调用相应的方法即可,提高代码的复用性。但当我们对数组做更多的操作时,比如对数组获取最值,数值逆序,就需要将更多的功能封装到相应的方法中,封装的方法越来越多,我们就可以将这些方法继续封装,将来再做数组的操作时,就不用找具体的方法,先找到这个类,再使用这个类中的方法,这就是面向对象思想的编程。面向对象的思想:面向对象的思想是基于面向过程的编程思想面原创 2021-07-27 19:26:01 · 106 阅读 · 0 评论 -
Java一维二维数组、内存分配以及数组常见的异常
这一部分讲到了Java中的数组以及内存分配数组:1、数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。2、数组既可以存储基本数据类型,也可以存储引用数据类型。语句定义格式: 1、数据类型[] 数组名 举例:int[] arr1 推荐使用第一种定义方式 2、数据类型 数组名[] 举例:long arr2[] 注意事项: 针对数组定义两种格式,推荐使用第一种格式。因为第一种的可读性更强。 第二种可以.原创 2021-07-26 19:55:01 · 464 阅读 · 0 评论 -
Java中的循环结构(while)、方法
今天涉及的内容是有关流程控制语句、跳转控制语句、数组的定义、Java中的内存分配部分的内容。循环结构(while循环语句)while循环语句的基本格式:基本格式:while(判断条件语句){循环体语句;}扩展格式:while(判断条件语句){循环体语句;控制条件语句;}范例1:public class WhileDemo1 { public static void main(String[] args) { System.out.println("Hel原创 2021-07-24 20:34:05 · 1231 阅读 · 0 评论 -
Java键盘录入、顺序、选择、循环结构。
这一部分主要是有关,Scanner进行键盘录入数据,以及顺序、选择、循环结构的使用。键盘录入数据把数据改为键盘录入,可以提高程序的灵活性。如何进行键盘录入:1、导包(位置放到class定义的上面)import java.util.Scanner;2、创建对象Scanner sc = new Scanner(System.in);3、接收数据int x = sc.nextInt();/* 键盘录入两个数据,并对两个数据求和,输出结果 键盘录入两个数据.原创 2021-07-23 20:07:23 · 411 阅读 · 0 评论 -
Java数据类型以及运算符
Java数据类型牢记Java是一种 强类型 的语言,每种数据都定义了一种具体的数据类型,并且在内存中分配了不同大小空间。数据类型分为基本数据类型以及引用数据类型,这里暂时只提及基本数据类型。数据类型(由小到大)整数类型 byte、short、int、long浮点类型 float、double字符型 char布尔型 boolean数据类型的大小范围:类型 占用存储空间 表数范围byte 1字节 -128~127 (2的八次幂)sh原创 2021-09-12 10:34:19 · 88 阅读 · 0 评论 -
<<、>>、>>>运算符的运算原理,看这一篇就懂了。
/*<<,>>,>>> <<左移:左边最高位丢弃,右边补齐0 >>右移:最高位是0,左边补0,最高位是1,左边补1 >>>无符号右移:无论最高位是0还是1,左边都用0补齐*/public class WeiYunSuan { public static void main(String[] args) { //<<左移,左边的数据乘以2移动的次幂原创 2021-07-22 20:58:50 · 694 阅读 · 2 评论 -
&、|、^、~位运算符的运算原理,看这一篇就通了。
/*位运算:>>,>>>,<<,&,|,^,~想要进行位运算,就得先知道二进制*/public class WeiYunSuan`` { public static void main(String[] args) { int x = 3; int y = 4; System.out.println(x & y);//0 System.out.println(x原创 2021-07-22 20:50:41 · 348 阅读 · 0 评论 -
有关byte的思考题和练习题。
这里是一道面试题:byte b1=3,b2=4,b;b=b1+b2;b=3+4;哪句是编译失败的呢?为什么呢?第一句是编译失败的b=3+4 ,3和4都是常量,所以java在编译时期会检查该常量的和是否超出byte类型的范围。如果没有可以赋值。b=b1+b2不可以,是因为b1和b2是变量,因为变量的值会变化,不确定具体的值,所以默认使用int类型进行存储。首先会先类型提升这里时一道思考题byte b = 130;有没有问题,如果想让赋值正确,可以怎么做,结果是多少答:有问题,如果我们想要赋原创 2021-07-22 19:56:14 · 278 阅读 · 0 评论 -
Java中的byte类型以及short类型做运算时的问题。
话不多说,直接上例子:byte类型的数据不能直接做相加减,因为在做相加减的时候,Java会默认将byte类型的数据转换成int类型,所以如果接收的数据还是byte类型的话,会出错。错误代码: byte b1 = 3,b2 = 4,b; b = b1+b2;//这一行会报错正确代码1: byte b1 = 3,b2 = 4,b; b = b1+b2;//这一行会报错 int c; c = b1+b2;//将两个byte原创 2021-07-21 10:09:33 · 2080 阅读 · 2 评论 -
Java中的 + 运算符和 += 运算符
通过几个小实例来理解Java中的 + 运算符。首先运算符都要从左往右进行计算。字符串旁边的+号的含义是拼接。字符旁边的+号的含义是ASCII码相加。 System.out.println('a'); System.out.println('a'+1); //a是char类型,在和int类型的数据做加减时,会自动转换为int类型,所以是a的ASCII码加1,结果是98 System.out.println("hello"+'a'+1);原创 2021-07-21 09:37:46 · 5812 阅读 · 0 评论 -
进制转换的题目
我在这里列举了一些比较有代表性的进制转换的题目,都看会基本上就解决了进制转换之间的难题了。如果对进制转换有一些疑问,可以先看这篇博客,之后再来看看题目,定会醍醐灌顶。https://blog.csdn.net/l_dsj/article/details/118941923 建议从 二进制的由来 开始看。我自己总结的一些规律,可能不完整,但应该都用了。十进制转换成 二进制、八进制、十六进制:除以2、8、16,之后反向取余二进制转换成 十进制、八进制、十六进制:十进制:举例:二进制100转换为十进制原创 2021-07-20 20:38:52 · 6641 阅读 · 0 评论 -
各种进制转换原理以及如何转换
这一块的主要内容是有关进制转换的原理,以及如何进行转换什么是进制什么是八进制和十六进制八进制十六进制其他进制向十进制转换规律其他进制转换成十进制举例十进制向其他进制转换任意进制之间的转换以及8421码如果进制有小数,就之间取小数后面,八进制需要三个数,不够就在最右边补0,十六进制需要四个数,不够也就在最右边补0带有小数的二进制转换为十进制感谢阅读,我是啊帅和和,一位大数据专业即将大四学生,祝你快乐。...原创 2021-09-12 10:25:10 · 413 阅读 · 0 评论 -
Java基础语法:关键字、标识符、注释、常量
这一块的主要内容是有关Java中的关键字、标识符、注释、常量关键字:什么是关键字?被Java语言赋予特定含义的单词。关键字的特点组成关键字的字母全部小写。关键字的注意事项goto、const是保留字,暂时不属于关键字找出关键字的方法:使用notepad++,属于关键字的会变颜色关键字举例标识符什么是标识符是给类、接口、方法、变量等起名字时使用的字符序列组成规则英文大小写字母数字字符$和_常量字符串常量->用双引号括起来的内容整数常量->所有整数小数常原创 2021-09-12 10:25:00 · 130 阅读 · 0 评论 -
介绍Java、搭建Java平台并允许第一个Java程序
这一块的主要是内容是简单介绍一下Java,并搭建Java平台,允许第一个Java程序Java简介一、一些需要记住的Java小内容1.Java之父有关Java语言,牢记一位人的名字–>詹姆斯·高斯林。毕竟学了Java,不能不知道Java之父是谁。2.Java语言的平台版本(1)JavaSE标准版,也就是平时所学的Java基础,集合、输入输出什么的都属于这一部分。(2)JavaME小型版,也就是在很多移动手机没有出现之前,在手机里面玩的小游戏什么的,都属于这一部分。(3)JavaEE企原创 2021-09-12 10:15:29 · 208 阅读 · 0 评论