javaSE
文章平均质量分 74
javaSE笔记
Antgeek
喜欢各种技术,前端后端大数据均有涉猎,目前从事大数据开发.
展开
-
自学javaSE-反射
一、反射概述1、反射机制中主要掌握的类型:java.lang.Class;//类整体java.lang.reflect.Constructor;//构造方法java.lang.reflect.Field;//属性java.lang.reflect.Medthod;//方法java.lang.reflect.Modifier;//修饰符以上类都可以创建对象class User{ String name; User(){} public void m1(){}}反射原创 2020-09-23 00:10:07 · 133 阅读 · 0 评论 -
自学javaSE-流及常见的16种流
一、什么是流二、常见的16种流FileInputStreamFileOutputStreamFileReaderFileWriterBuffereReaderBuffereWriterBuffereInputStreamBuffereOutPutStreamDataInputStreamDataOutputStreamObjectInputStreamObjectOutputStreamInputStreamReaderOutputStreamWriterPrintWrit原创 2020-08-18 16:12:12 · 541 阅读 · 0 评论 -
自学javaSE-数组的追加
一维数组public class test { public static void main(String args[]){ int[] array = {};//创建一个空的一维数组 int[] a = {1,2,3,4,5,6,7,8,9};//要追加的值列表,可以是单个值,把数组类型改成int类型就行 for(int i = 0;i<a.length;i++){//循环追加输出 array = addArray原创 2020-07-26 22:57:37 · 2147 阅读 · 3 评论 -
自学javaSE-Map
一、Map常用方法详解/* 关于Map集合中常用的方法 void clear(); 清空Map boolean containsKey(Object key); 判断Map中是否包含这样的Key boolean containsValue(Object value); 判断Map中是否包含这样的value Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系视图 Object get(Object key);通过key获原创 2020-08-14 13:53:47 · 140 阅读 · 0 评论 -
自学javaSE-UML图绘制输入输出流之间的继承关系
一、字节流二、字符流原创 2020-08-18 16:35:08 · 649 阅读 · 0 评论 -
自学javaSE-多线程
多线程一、多线程的基本概念1、什么是进程 一个进程对应一个应用程序。例如:在windows操作系统启动Word就代表启动了一个进程。在java环境下启动JVM,就代表启动了一个进程。现代的计算机都是支持多进程的,在同一个操作系统中国,可以同时启动多个进程。2、多进程有什么作用 单进程计算机只能做意见事情。 玩电脑,一边玩游戏(游戏进程)一边听音乐(音乐进程) 对于单核计算机来讲,在同一个时间点上,游戏进程和音乐进程事同时运行的吗?不是。因为计算机的cpu只能在某一个时间点上做一件事情原创 2020-09-11 14:26:03 · 184 阅读 · 0 评论 -
自学javaSE-collection和map接口UML图
一、collection接口UML图二、map接口UML图ML图原创 2020-08-04 09:05:18 · 279 阅读 · 0 评论 -
自学javaSE-SortedSet集合
/* java.util.Set; java.util.SortedSet;无序不可重复,凡是存进去的元素可以按照元素的大小顺序自动排序 java.util.TreeSet;*/public class SortedSetTest01{ public static void main(String[] args){ //创建集合 SortedSet ss = new TreeSet(); //Integer原创 2020-08-13 23:55:12 · 165 阅读 · 0 评论 -
自学javaSE-Set_HashSet集合
一、HashSet介绍/* Set集合:HashSet 1、HashSet底层实际上是一个HashMap,HashMap底层采用了哈希表数据结构 2、哈希表又叫散列表,哈希表底层是一个数组,这个数组中每一个元素是一个单向链表, 每个单向链表都有一个独一无二的hash值,代表数组的下标,在某一个单向链表中的 每一个节点上的hash值都是相等的,hash值实际上时key调用hashCode方法,在通 过“hash function”转换成的值 3、如何向哈希表中添加元素: 先调用原创 2020-08-10 18:37:07 · 181 阅读 · 0 评论 -
自学javaSE-增强for循环
关于增强for循环: 语法: for(类型 变量名: 数组名/集合名){} 其中类型是指数组或者集合中元素的类型 集合想要使用增强for循环这种语法必须使用泛型 如果不使用泛型,需要使用Object类型优点:非常简单,对于普通的遍历使用方便,可以用来代替迭代器缺点:没有下标,对于数组或者集合中特例不方便操作参考:https://www.bilibili.com/video/BV1kx411h7jv?p=179...原创 2020-08-18 16:12:50 · 127 阅读 · 0 评论 -
自学javaSE-泛型
泛型能更早的发现错误,如类型转换错误,通常在运行期才会发现,如果使用泛型,那么在编译期就会发现,通常错误发现的越早,越容易调试,减少开发成本自定义泛型:public class GenericTest05{ public static void main(String[] args){ MyClass<String> mc = new MyClass<String>(); mc.m1("这里只能填字符原创 2020-08-18 16:10:54 · 158 阅读 · 0 评论 -
自学javaSE-List集合详解
/* List集合存储元素特点: 1、有序:List集合中存储元素有下标,存进去有顺序,取出来也有顺序 2、可重复*/public calss ListTest01{ public static void main(Stirng[] args){ //创建一个List集合 List l = new ArrayList(); //添加 l.add(1);原创 2020-08-05 16:40:05 · 274 阅读 · 0 评论 -
一文读懂java中的getResourceAsStream
一.概述在读取配置文件的时候总是会纠结路径的问题,其实所有的路径问题总逃不脱一下几个关键字相对路径,绝对路径,类路径(classpath)首先先介绍一下这几个路径相对路径:相对路径:顾名思义,路径是相对的,比如当前的路径是test,如果要定位test下的文件,就可以用相对路径,比如test下有aaa,那么aaa的相对于test的路径就是test/aaa绝对路径:绝对路径其实也是一种"相对路径",但是它相对的是盘符(c盘,d盘等待)或者linux中的根目录例如:C:\Users\7原创 2021-07-13 16:24:08 · 9599 阅读 · 3 评论 -
自学javaSE-collection常用的方法
1、collection常用的方法方法用法boolean add(Object element);向集合中添加元素void clear();清空集合boolean contains(Object o);判断集合中是否包含某个元素boolean isEmpty();判断集合中是否有元素Iterator iterator();获取集合所依赖的迭代器对象boolean remove(Object o);删除集合中某个元素int size();原创 2020-08-05 16:00:50 · 892 阅读 · 0 评论 -
javaSE-jdk1.8新特性
一.Lambda表达式1.概述Lambda表达式是一种没有名字的函数,也可称为闭包,是Java 8 发布的最重要新特性。本质上是一段匿名内部类,也可以是一段可以传递的代码。还有叫箭头函数的…2.闭包的概念闭包就是能够读取其他函数内部变量的函数,比如在java中,方法内部的局部变量只能在方法内部使用,所以闭包可以理解为定义在一个函数内部的函数闭包的本质就是将函数内部和函数外部链接起来的桥梁3.特点允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码原创 2021-07-09 22:32:35 · 715 阅读 · 0 评论 -
javaSE-反射
一.概述1、Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。2、加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射二.反射相关的APIjava.lang.Class:代表一个类jav原创 2021-07-09 21:56:42 · 80 阅读 · 0 评论 -
javaSE-正则表达式
一.概述正则表达式可以用来搜索处理编辑文本,很多语言都支持正则表达式二.正则表达式语法元字符描述\将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配\n。“\n”匹配换行符。序列“\”匹配“\”而“(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。^匹配输入字符串的开始位置。如果设置了RegExp对象的属性,^也匹配“\n”或“\r”之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,原创 2021-07-09 21:23:19 · 250 阅读 · 2 评论 -
javaSE-网络编程
这一块太过高深,所以一下就简单的写了一个客户端和一个服务端客户端:package homework;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Hw02SocketClientByTcp { public static void main(原创 2021-07-08 21:26:48 · 107 阅读 · 0 评论 -
javaSE-多线程
文章目录一.基本概念1.程序,进程,线程2.单核和多核CPU3.并行与并发二.线程的创建方法1.方式一:继承Thread类2.实现Runnable接口3.继承Thread和实现Runnable接口的区别三.多线程的使用1.线程的调度2.线程的优先级3.线程的生命周期4.线程控制5.线程的同步概念三.线程同步1.同步方法2.同步锁机制3.释放锁4.Lock(锁)5.使用线程同步解决上面的售票问题5.1使用synchroinzed代码块5.2使用Lock锁一.基本概念1.程序,进程,线程程序:就是一段静原创 2021-07-07 21:57:36 · 734 阅读 · 0 评论 -
javaSE-File类与Properties
文章目录一.File类1.File类的特点2.File类的构造方法3.File类的使用4.File类的常用方法5.例子二.Properties类1.概述2.代码实现一.File类1.File类的特点文件和文件目录路径的抽象表示形式,与平台无关File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对 象,但是Java程序中的一个File对象,可能没有一原创 2021-07-06 20:39:57 · 128 阅读 · 1 评论 -
javaSE-IO流与序列化
文章目录一.概述1.概念2.分类3.抽象类定义二.字节流1.概述2.FileInputStream与FileOutPutStream3.BufferedInputStream与BufferedOutputStream4.字节输入流和字节缓存流的效率比较三.字符流1.概述2.FileReader和FileWriter3.BufferedReader和BufferedWriter四.转换流1.概述2.代码实现五.打印流1.概述2.代码实现六.序列化与反序列化1.概述2.代码实现七.数据流1.概述2.代码实现一原创 2021-07-03 19:26:00 · 693 阅读 · 2 评论 -
javaSE-集合
文章目录一.类图二.Collection接口1.概述2.Collection接口中的方法三.List接口及其实现类1.概述2.方法3.实现类4.LinkedList新增方法四.Set接口及其实现类1.概述2.方法3.实现类五.Collections工具类和Comparable、Comparator比较器1.Collections工具类2.Comparable、Comparator比较器六.Map接口1.概述2.常用方法七.HashMap类1.概述2.哈希表实现原理3.总结八.TreeMap类1.概述2.遍历原创 2021-06-30 15:50:47 · 81 阅读 · 0 评论 -
javaSE-装箱与拆箱
文章目录一.基本类型包装类1.概述2.基本数据类型对应的包装类3.装箱与拆箱二.深入理解装箱与拆箱1.装箱与拆箱是怎么实现的2.自动装箱与拆箱需要注意的点一.基本类型包装类1.概述因为需要更方便的使用基本数据类型,所以我们将基本数据类型封装成类2.基本数据类型对应的包装类基本类型封装类型byteBytecharCharactershortShortintIntegerlongLongfloatFloatdoubleDouble原创 2021-06-26 09:44:07 · 258 阅读 · 0 评论 -
javaSE-java常用API
文章目录一.字符串相关类1.String类的特性2.String的内存位置3.String中常用的方法4.字符串与字符,字节数组之间的转换5.StringBuffer类6.StringBuilder类7.对比String、StringBuffer、StringBuilder二.System系统类三.时间类1.常用方法2.SimpleDateFormat类3.将字符串转换成Date类型4.Calendar类四.Math类五.BigInteger类和BigDecimal类1.BigInterger2.BigDe原创 2021-06-26 09:43:18 · 277 阅读 · 0 评论 -
javaSE-设计模式
文章目录1.概述2.单例模式2.1饿汉模式2.2懒汉模式3.工厂模式1.概述 代表了最佳的实现方式,是一些有经验的开发人员,通过开发总结出来的一些经验和错误,用来解决一些问题.世上本没有路,走的人多了便有了路2.单例模式为了节约内存,让一个类只能被实例化一次第一步:构造方法私有化第二步:需要自己创建一个对象,并且对外提供一个公共静态方法来获取这个对象第三步:创建一个静态变量,用来存储当前类的对象根据对象的创建时机不同,分为两种 1.类加载时就创建对象的叫做饿汉模式 2.在第一次使用原创 2021-06-19 16:49:20 · 196 阅读 · 0 评论 -
javaSE-内部类
文章目录1.概述2.分类3.静态内部类4.成员内部类5.局部内部类6.匿名内部类(最常用)1.概述 当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内 部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构最好使 用内部类 在Java中,允许一个类的定义位于另一个类的内部,前者称为内部类,后者 称为外部类。 Inner class一般用在定义它的类或语句块之内,在外部引用它时必须给出完 整的名称。 内部类最大的优点,可以使用外部类私有化数据2.分类1.静态内部类原创 2021-06-19 00:45:12 · 229 阅读 · 0 评论 -
javaSE-类与类之间的关系
文章目录1.继承2.实现3.依赖4.关联5.聚合6.组合1.继承 继承,又叫泛化关系 , 使用关键字 extends表示 class 子类 extends 父类{} 类和类是单继承 interface 子接口 extends 父接口1,父接口2…{} 接口和接口之间是多继承2.实现 实现 implements 类和接口之间 是多实现关系 class 子类 implements 父接口1,父接口2…{}3.依赖 某个类的方法中的局部变量,是另外一个类对象的引用原创 2021-06-19 00:44:22 · 141 阅读 · 0 评论 -
javaSE-抽象和接口
文章目录一.抽象1.abstract修饰符2.抽象类二.接口1.语法:2.注意事项2.优点:2.接口在1.8之后的新特性一.抽象抽象类不可以创建对象(但是有构造方法)抽象方法一定是个成员方法1.abstract修饰符修饰的类是抽象类修饰的成员方法是抽象方法,没有方法体2.抽象类**定义:**被abstract修饰的类就是抽象类特点:抽象类不能被实例化,只能被继承一般抽象类中,有功能定义,但是没有功能的实现,必须让子类实现抽象类也可以继承抽象类如果一个非抽象类继承一个抽象类,必须实现原创 2021-06-19 00:43:09 · 325 阅读 · 0 评论 -
javaSE-Object类
1.概述Object是所有类的祖类,其中所有的方法其他类都有2.equals()方法public boolean eauqls(Object obj){ return this == obj;}**设计目的:**比较两个对象是否相等,是否为同一个对象**注意:**Object中的equals方法,默认比较内存地址==和equals的区别==比较基本类型,比较值的大小,而比较引用类型,比较的是内存地址equals可以根据需求进行重写,做到自定义比较(如果没有重写,那么和==没有区别原创 2021-06-19 00:41:51 · 68 阅读 · 0 评论 -
javaSE-封装-继承-多态
文章目录一.封装1.概述2.包机制3.权限控制修饰符二.继承1.概述2.语法3.Super关键字1.super和this的区别2.解决的问题3.实例语句块的执行时机4.方法重写5.final关键字三.多态四.软件设计六大原则1.单一职责原则2.里氏替换原则3.依赖倒置原则4.接口隔离原则5.迪米特原则(最少朋友原则)6.开闭原则一.封装1.概述不直接提供访问的数据,而是提供访问的接口2.包机制package: 设置的是编译之后的class文件的保存目录,和源文件没有关系如果没有设置package原创 2021-06-05 23:52:13 · 239 阅读 · 1 评论 -
javaSE-类与对象-构造器-this关键字-static关键字
文章目录一.面向对象1.1概述1.2面向过程和面向对象1.3类和对象的区别1.4实例化过程/创建对象的过程1.5 对象的使用和特征1.6常见异常1.7 javaBean二.构造方法2.1概述2.2构造方法和普通方法三.this关键字一.面向对象1.1概述面向对象(Object Oriented)是一种思想,将数据和方法作为整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。1.2面向过程和面向对象面向过程侧重步骤面向对象侧重模块(炒饭和盖饭)优点:维护简单,可拓展性,可重用性原创 2021-05-30 22:09:54 · 504 阅读 · 0 评论 -
javaSE-数组
文章目录一.概述二.应用场景三.数组声明1.静态声明2.动态声明3.数组传递(第三种声明方式,静态声明)四.基本操作1.获取长度2.设置数据3.遍历五.常见异常六.传值和传引用七.API八.二维数组1.声明2.使用九.Scanner类十.排序1.交换两个变量的值2.冒泡排序3.选择排序一.概述数组:是引用数据类型(类,数据,接口),数组可以用来存储多个相同类型的数据,数组是线性的数据结构,数组的长度不可更改数组中有一个length属性保存了数组的长度下表从0开始数组占用两块空间,栈内存变量原创 2021-05-24 19:49:12 · 430 阅读 · 0 评论 -
javaSE-递归
1.概述递归:就是在当前方法中,调用自己(当前方法)基本思想:递归和迭代是等价的,而迭代就是循环,所以循环也是重复做某件事注意:如果循环能做到的,就不要使用递归,因为递归效率低,比较耗费内存应用场景: 一般树状结构,需要使用递归来完成递归也要遵循循环三要素初始值循环条件步长2.常见问题栈内存溢出java.lang.StackOverflowError3.例子计算1-n的加和public static int sum(int n){ if(n==1){原创 2021-05-18 23:03:11 · 103 阅读 · 0 评论 -
javaSE-方法-重载-内存划分
文章目录一.方法1.1概述和作用1.2方法声明1.3方法的分类1.4方法的调用1.5返回值1.6方法的重载二.内存划分2.1程序计数器:2.2.方法区/静态区2.3栈内存2.4堆内存2.5本地栈2.6java内存模型图解一.方法1.1概述和作用一堆代码的集合,可以重复使用1.使程序变得简洁更清晰2.有利于程序维护3.提高开发效率4.提高代码重复性/复用性1.2方法声明[修饰符列表] 返回值类型 方法名(参数列表){方法体}[]:0-n个1.方法修饰符列表,是可选的:权限控制:publ原创 2021-05-16 21:58:23 · 169 阅读 · 0 评论 -
javaSE-流程控制
文章目录一.顺序结构二.分支结构2.1单分支2.2双分支2.3多分支2.3.1 if else2.3.2 switch三.循环结构一.顺序结构从上往下,从左到右执行二.分支结构通过某个判断条件,选择不同的执行分支2.1单分支有不执行情况if(boolean表达式){ //success do}2.2双分支肯定会执行if(boolean表达式){ //success do}else{ //fail do }2.3多分支2.3.1 if elseelse结尾肯定会原创 2021-05-13 00:11:41 · 440 阅读 · 0 评论 -
javaSE-运算符
文章目录原码,反码,补码一.算数运算符1.种类2.i++和i--的区别3.优先级4.注意二.关系运算符1.分类2.注意三.位运算符1.分类2.>>和>>>详解原码,反码,补码原码:二进制表示法,最高位是符号位,"0"表示正,"1"表示负,其余是数值位反码:正数的反码与原码相同,负数的反码就是对其原码逐一取反,符号位除外补码:正数的补码与原码相同,负数的补码是在反码的末尾加1注意:我们读取的十进制是根据原码来读取,而在内存中,数值都是以二进制补码形式保存的。一.算数运原创 2021-05-11 01:05:40 · 551 阅读 · 0 评论 -
javaSE-java概述-数据类型-变量
文章目录一、java概述二、java特性三、注释四、关键字解释五、数据1.基本概念2.数据的单位3.存储方式六、数据类型1.概述2.分类3.命名规范4.类型使用5.默认值6.数据类型转换七、需要注意的知识点八、常量、变量、字面量一、java概述创建时间:1991年,命名OAK,是SUN公司推出,1995开始以java名义推出创建人:Java之父詹姆斯·高斯林分类:JavaSE,JavaEE,JavaME二、java特性面向对象,跨平台,自动垃圾回收,多线程(jvm四大特性)java是准动态强类原创 2021-05-08 20:07:46 · 473 阅读 · 1 评论