Java基础笔记
文章平均质量分 63
低脂肪
喜欢技术,喜欢思考,喜欢讨论
展开
-
Java Protected关键字你真的理解对了嘛
访问权限修饰符比较privatedefaultprotectedpublic本类√√√√同包类×√√√子类××√√所有××××如图表所示,private紧针对成员内部使用,public可被所有工作空间的类访问。default的权限比private要稍大一些,其更倾向于提供给同包类的成员所使用。protected相比与default访问权限又更大一点,其可以让自己的子类(不同包)调用。在平时开发过程中,对privated与p原创 2021-11-22 11:23:44 · 496 阅读 · 0 评论 -
Maven中关键词的含义
optional关键词<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>optional表示是否设置依赖传递optional是true表示不传递依赖不设置optional或者optio..原创 2020-07-26 20:22:32 · 475 阅读 · 0 评论 -
File类方法详解介绍
File常见方法File file = new File("D:\\test1") 创建一个file对象,和对应的路径进行关联,但是并没有真正创建文件或者目录 createNewFile 创建一个文件,如果创建成功,返回true,反之为false mkdirs 创建多级目录 delete 删除文件 永久删除。如果目录中有内容,那么不能直接删除目...原创 2019-08-21 18:36:10 · 193 阅读 · 0 评论 -
“FlowLayout”,“CardLayout”布局管理器
1、FlowLayout属于流水管理器,效果就如同所有组件可以像流水一般依次进行排列。拉动选框,组件也随之流动此外align 参数的值必须是以下值之一:FlowLayout.LEFT、FlowLayout.RIGHT、FlowLayout.CENTER、FlowLayout.LEADING 或 FlowLayout.TRAILING。效果如下 >>>>>>>...原创 2018-04-08 14:50:07 · 300 阅读 · 0 评论 -
Java映射类(HashMap、HashTable面试详点)
一、Map接口简介集合中的数据都是独立存在的。Map(映射)中的数据都是成对出现的。Map中的K代表Key(键),V代表Value(值)K-V 称之为键值对 key不能重复,value可以重复。将Key和Value抽取出来一个类,叫做Entry(它是一个内部类)二、HashMap介绍(面试考察重点)1、HashMap的key和value是可以存放null。2、如果...原创 2019-08-21 18:35:36 · 193 阅读 · 0 评论 -
JDK1.8新特性之Stream使用(通过使用Stream+lambda操作集合对象)
Stream【1】Stream是java在JDK1.8后提供的一个流式集合。用于操作集合的工具。里面提供了大量的只有一个抽象方法的接口。【2】根据“只有一个抽象方法的接口“的特性,我们很容易想到关于JDK1.8的接口新特性Lambda表达式。可参考:https://blog.csdn.net/c17315377559/article/details/99122421通过以下案例,来...原创 2019-08-21 16:23:30 · 2116 阅读 · 0 评论 -
Java 泛型详解
一、泛型简介【1】泛型的基本简介泛型是JDK1.5的特性。在JDK1.7之后可以省略“=”右边泛型的具体类型泛型使用’<大写字母>‘表示。泛型可以用在类、接口、方法上【2】泛型的特点泛型可以将错误提前:由运行阶段提前到编译阶段。【3】泛型在源码中的表示<E> :elements 元素<T> : type 类型<R&g...原创 2019-08-21 14:27:25 · 227 阅读 · 0 评论 -
Java Set集合详解与面试点介绍(HashSet、HashLinkedSet、TreeSet)
一、Set接口介绍set是一个散列集合Set特点:不包含重复元素,如果有多个重复元素,只会显示一个。常用子接口:SortedSet<E>常用子类:HashSetLinkedHashSetTreeSet二、HashSet类(1)HashSet底层数据的数据结构是HashMap,而HashMap的底层是数组+链表的结构。特点:元素不能重复,元素的位置不是一...原创 2019-08-21 13:05:01 · 299 阅读 · 0 评论 -
Java List集合(二)
一、迭代器(1)遍历集合重所周知,集合的顶级接口是Collection接口,而且此接口还有一个父类就是Iterable接口。在这个接口中有一个抽象方法,就是iterator()方法。所以,在集合类中都对此方法进行了一个重写操作。通过,此方法进行对集合类的进行一个遍历的操作。在Iterator接口中,有三个方法hasNext( ) 判断是否有下一个元素next( ) ...原创 2019-08-21 11:40:44 · 137 阅读 · 0 评论 -
Java内部类
(1)匿名内部类对于接口来说,匿名内部类是接口的一个没有名字的实现类,对于抽象类来说,是抽象类子类的实现类。原则上来说,所有可以被继承的类,都能够使用匿名内部类。使用final修饰的最终类,不能使用匿名内部类【1】接口匿名类class InterDemo1{ public static void main(String[] args) { Inter4 i = new...原创 2019-08-11 15:09:15 · 95 阅读 · 0 评论 -
JDK1.8之后,接口新增的两种特性
(一)接口中允许定义实体方法实体方法:在接口中可以提供实体方法,实体方法必须使用static/default修饰public interface InterDemo2 { public static void main(String[] args) { IDemo2 i = new CDemo2(); i.sleep(); }}interface IDemo2{ pub...原创 2019-08-11 14:00:43 · 2145 阅读 · 0 评论 -
String与Math类的API用法注意事项
(一)String类(1)字符串的“==”比较【例题】public static void main(String[] args) { String str = "abc"; String str1 = "abc"; String str2 = new String("abc"); System.out.println(str == str1);//true Sy...原创 2019-08-16 17:23:09 · 144 阅读 · 0 评论 -
抽象类与接口注意事项
(一)关于抽象类的注意点1、被abstract修饰的类称之为抽象类,被abstract修饰的方法称之为抽象方法2、一个类中如果有抽象方法,那么这个类必须成为抽象类3、抽象类不能实例化!!,换句话说,就是不能自己new自己。4、抽象类必须要有一个子类,子类可以实现抽象类中的抽象方法。如果子类实现类抽象类中的所有方法,那么就可以通过向上造型来使用抽象类。(Java多态性体现)pu...原创 2019-08-11 10:30:24 · 483 阅读 · 0 评论 -
Java IO流之字符流详解(一)
一、IO流简介(1)IO流:输入和输出流 I:input 输入 输入流:将文件中的内容读取到内存中 读 O:output 输出 输出流:将内存中的信息写入到文件中 写(2)IO流分为字符流和字节流字符流:只能操作和字符相关的文件(.txt .java)字节流:可以操作所有的文件 ...原创 2019-08-21 18:35:53 · 274 阅读 · 0 评论 -
彻底摆脱日期格式
(一)日期类【Date】(1)导入的包为“import java.util.Date;”(2)自JDK1.1版本之后,日期类中的许多构造方法都被废弃了。只保留了无参构造和一个参数为long类型的有参构造。大家可以发现当我向日期类中传入字符串的时候,Date会被划上黑线以及会报出警告。根据提示,可以发现这个方法过期了。过期的方法是可以使用的,但不推荐使用。下面就只为大家介绍两个未...原创 2019-08-18 20:44:38 · 275 阅读 · 0 评论 -
Java中多线程的使用(一)
一、进程与多线程的定义 进程是指程序的一次动态执行。线程是比进程更小的单位,是在进程基础之上进行的进一步划分,也是用来进行动态的执行程序。多线程是指实现并发机制的一种手段。举个例子:你去A餐馆吃饭点了满汉全席。进程在这里就是指一位服务员为您上菜服务,而多线程是指多个服务员为您服务。这样很明显的可以看出,多线程工作效率更为高效。二、多线程的实现 多线程实现两种方法:一继承Thread类,二、实现R...原创 2018-06-06 19:47:36 · 1406 阅读 · 1 评论 -
Java反射(常用方法详解)
目录一、反射机制二、字节码文件的获取三、构造方法的反射四、属性的反射五、方法的反射一、反射机制对于运行阶段的一个类,可以动态的获取这个类的所有属性、方法和构造方法等信息。对于运行阶段的一个对象,也可以动态的获取这个对象的属性、方法、构造方法等信息的机制,称之为反射机制。反射机制是java中非常重要的一个技术。它是JDK1.5的新特性使用反射,需要先获取一个类或者对象的字...原创 2019-09-15 10:52:27 · 3996 阅读 · 0 评论 -
Java网络编程(二)TCP协议(传输文件练习)
一、TCP定义面向连接的协议,每次客户端和服务器进行连接时,会有"三次握手"来保证数据的安全性。在数据传输前先在发送端和接收端建立连接,然后在传输数据,它提供了两台计算机之间可靠无差错的数据传输。第一次握手,客户端向服务器端发出连接请求,等待服务器确认。第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求,第三次握手,客户端再次向服务器端发送确认信息,确认连接。二、TCP特点...原创 2019-09-12 09:56:05 · 378 阅读 · 0 评论 -
Java网络编程(一)UDP协议(简单聊天功能的实现)
一、UDP定义OSI七层网络模型应用层(HTTP、FTP、SMTP、POP3、TELNET)表示层会话层传输层(TCP、UDP)网络层(IP)数据链路层物理层其中UDP协议是属于传输层的协议,它是面向无连接的协议。在数据传输时,数据的发送端和接收端不建立逻辑联系。换句话说,一台计算机向另一台计算机发送数据时,发送端不会确定接收端是否存在,就会发出数据。二...原创 2019-09-10 22:57:30 · 728 阅读 · 0 评论 -
Java多线程(四)线程细碎知识点(守护线程,优先级,线程的生命周期)
目录(一)守护线程(二)线程的优先级(三)线程的生命周期(一)守护线程守护线程:守护其他被守护线程。在java中分为守护线程和被守护线程,如果不设置为守护线程,默认为被守护线程。如果被守护线程全部结束,那么守护线程也结束。GC就是一个守护线程。通过setDaemon(true)设置线程为守护线程public class DaemonDemo { pu...原创 2019-09-10 20:10:58 · 286 阅读 · 1 评论 -
Java多线程(三)生产者与消费者案例
唤醒与等待notify():随机唤醒一条线程notifyAll():唤醒全部线程wait():让线程进入等待状态补充:wait和sleep的区别?sleep:可以设定线程的休眠时间,到点自然醒。 如果有锁,那么不释放执行权。 如果没有锁,释放执行权。是Thread的一个静态方法。wait:可以指定休眠时间,也可以不指定。 释放锁,并且释放执行权。 是Obj...原创 2019-09-06 16:01:22 · 218 阅读 · 0 评论 -
Java多线程(二)之同步与死锁
一、同步问题(1)什么是线程安全隐患当多线程程序时,执行的结果和单线程的结果可能不一样,就称之为线程安全隐患。单线程是没有线程安全隐患的(2)线程安全隐患案例案例:public class TicketDemo { public static void main(String[] args) { SellTicket st = new SellTicket(); ...原创 2019-09-02 17:52:15 · 126 阅读 · 0 评论 -
Java序列化流和反序列化流
(一)序列化流与反序列流【定义】序列化流:将对象和对象的内容转换为字节保存。反序列化流:将字节转换为对应的对象和信息。【序列化要求】(1)需要序列化的对象的类,必须实现 Serializable 接口,Serializable 接口是一个标记接口,接口中没有对应的方法。补充:Cloneable也是一个标记接口,如果一个类要实现clone方法,则该类必须实现Cloneable...原创 2019-08-29 20:55:16 · 498 阅读 · 0 评论 -
Java IO流 (二)之字节流详解
本篇内容概括:字节输入流,字节输出流,字节转换流,系统流,合并流,打印流,随即获取流原创 2019-08-27 22:02:23 · 132 阅读 · 0 评论 -
Java异常剖析,finally等关键字运行顺序
(一)异常的简介异常的顶级父类是Throwable。Throwable分为两大类:错误 error,异常 exceptionerror:表示程序中出现了非常严重的问题,不修改源代码不能继续执行。exception:表示程序中出现了不太严重的问题,处理好异常后代码可以继续向下执行。异常信息产生的过程:出现异常后,会创建异常对象,如果没有方法处理异常,异常会一直向上抛(谁调用出...原创 2019-08-18 20:43:51 · 336 阅读 · 0 评论 -
final用法
final可以修饰变量、方法、类(1)final修饰变量,称之为常量,使用全大写字母表示。在运行期间不可以发生改变【1】final修饰的基本数据类型,其值不可以发生改变【2】final修饰的引用数据类型,其地址不可以发生改变。但里面的值可以发生改变。补充:public static void main(String[] args) { final int[]...原创 2019-08-11 09:34:44 · 456 阅读 · 0 评论 -
Java多线程(一)之多线程的定义
一、进程与线程的定义进程:正在内存中执行的应用程序。线程:是进程的一个执行单元。负责进程中程序的执行。一个进程中允许有多条线程,称之为多线程,如果只有一条线程,称之为单线程。一个进程至少必须有一条线程。二、多线程的认识【线程认识误区】多线程并没有真正提高运行速度,在同一时刻只有一条线程在执行,只是因为线程切换的太快,产生同时执行的假象。所以尽管叫做多线程,但某一时刻仍然是单线程...原创 2019-08-23 20:45:56 · 367 阅读 · 0 评论 -
Java枚举类型简介
【1】它是JDK1.5的特性【2】有固定的内容时,可以使用枚举,譬如四季,年月等等【3】枚举个数是固定的,枚举不允许外部随意改动。定义好之后,便不可以改变。【4】枚举本质上是一个类【5】JDK1.5之后定义枚举,枚举必须在有效代码的第一行。【6】枚举中的值建议全部大写【7】枚举和字符串比较,字符串的值可以随意修改,但是枚举在编译阶段就可以检查值是否正确。这个和泛型有异曲同工...原创 2019-08-23 20:30:35 · 116 阅读 · 0 评论 -
Java书写规范与标识符
一、标识符(1)可以由大写字母,小写字母,中文(可以使用,但不推荐)组成。(2)可以包含数字,但数字不能存在开头与全部由数字组成。(3)“_”从Jdk1.8开始,下划线不能单独作为标识符使用(4)不能使用关键字名称(5)Java中严格区分大小写二、命名规范Java命名遵循驼峰命名规范包 单个单词 所有英文字母小写 多个单词 每个单词字母均小写,...原创 2019-08-01 17:55:34 · 165 阅读 · 0 评论 -
Java细碎知识点(历史,特性,面试题)长时间更新
一、Java之父:詹姆斯·高斯林(JamesGosling)二、Jvm、Jre、Jdk之间的关系Jvm:Java虚拟机Jre:Java运行环境 Jre =Jvm+核心类库Jdk:Java开发工具包 Jdk =Jre+开发工具包三、Java的优点:(1)安全 【1】、Java不支持指针操作,所以可能避免...原创 2019-07-31 19:46:11 · 151 阅读 · 0 评论 -
Windows常用命令(查找,创建,删除)
1、Cmd窗口的打开(1)使用快捷键:win+r(win是alt左边的那个键,样式是微软图标的键)(2)从“开始”入口处搜索“cmd”(3)从文件夹路径处输入“cmd”注意:(1)、(2)方式与(3)方式的当前路径信息是不同的(1)、(2)是基于C盘的路径,(3)是基于从进入的路口的路径。2、切换盘符:盘名称+“:”注意:不同盘之间不能通过绝对路径进行访问。先切换盘符...原创 2019-07-31 17:32:12 · 381 阅读 · 0 评论 -
Java运算符重难点剖析
一、运算符基本介绍算数运算符 + , - , * , / , % , ++ , -- 关系运算符 > , >= , < , <= , == , != 赋值运算符 += , -= , /= , *= , %= 逻辑运算符 & , | , ! , || , && , ^ 位运算符 & , | ,...原创 2019-08-02 20:22:50 · 324 阅读 · 0 评论 -
Java数据类型基本介绍(范围,大小)
Java的数据类型分为基本数据类型和引用数据类型基本数据类型(四类八种)名称 范围 字节大小 byte -2^7~2^7-1 1字节 short -2^15~2^15-1 2字节 int -2^31~2^31-1 4字节 long -2^63~2^63-1 8字节 char 字符型 2字节 fl...原创 2019-08-01 21:41:36 · 3751 阅读 · 2 评论 -
关于数组的重点总结
一、数组的定义与声明数组:存放相同数据类型的一个容器,容器中的每一个内容称之为元素(变量)。实例化方式:【一维数组】:动态初始化: 数据类型[] 数组名 = new 数据类型[数组长度]; 数据类型 数组名[] = new 数据类型[数组长度];静态初始化: ...原创 2019-08-08 14:21:40 · 290 阅读 · 0 评论 -
Java包装类的注意事项(有小坑)
一、基本数据类型的包装类byte Byte short Short int Integer long Long char Character float Float doule Double boolean Boolean 其中,int类型的包装类是Integer,char类型的包装类是Character。其他的基...原创 2019-08-16 17:22:33 · 403 阅读 · 0 评论 -
面向对象知识点总结(二)
一、面向对象之继承(1)继承:把原有类中的公共的代码抽取到一个新类中,原有类和新类使用extends关键字进行关联。新类称之为父类,原有类称之为子类,子类会继承父类的所有属性和方法。但是子类只能使用父类对子类可见的属性和方法(权限设置)。案例:public class ExtendDemo { public static void main(String[] args) { ...原创 2019-08-10 22:18:45 · 115 阅读 · 0 评论 -
Java中“static” 用法大全
一、类加载的过程:java通过编译生成class文件,经过类加载器将class文件加载成字节码文件去执行加载:将字节码文件加载到内存中校验:检查字节码的安全性准备:会给静态变量开辟内存空间,并且设定一个标记值。标记值可能会被舍弃解析:虚拟机将常量池内的符号引用替换为直接引用的过程初始化:开始执行静态代码块和静态变量赋值的代码。没有特定的顺序,哪行代码在上就先执行。二、静...原创 2019-08-10 20:41:34 · 186 阅读 · 0 评论 -
常用正则表达式,以及例题
1、[]表示代表一位,占位符补充:[abc]:abc中的任一位[a-z]:a-z中字母任一位[A-Za-z0-9]:a-z,A-Z,0-9中任一位2、^表示取反,[^abc]除了abc之外的字符3、.表示通配符,可以匹配任何字符4、{m,n}表示限制符m表示至少出现的次数,n表示之多出现的次数{m}表示只出现m次{m,}表示至少出现m次{,n}表示至多出现n次...原创 2019-08-14 22:35:45 · 428 阅读 · 0 评论 -
Java垃圾分代机制
(1)Java中的所有数据类型的大小是固定的。(2)Java中的内存管理交给JVM。JVM会自动对内存进行开辟和释放。(3)对象的回收是由垃圾回收器(GC)执行的。当堆内存的使用率超过70%时,会自动开启GC。栈内存是用完即释放,方法区是只进不出。(4)堆中内存区的划分,主要划分为新生代区和老生代区。而新生代区又被划分为伊甸园区和to区以及from区。其中,新生代区与老生代区占比为...原创 2019-08-14 17:53:48 · 122 阅读 · 0 评论 -
方法值传递和引用传递的过程重难点剖析
(一)方法的值传递真诀:基本数据类型(包含String类型,String是引用类型),方法的形参的改变不会影响实参。传递的是字面量。基本数据类型是指:byte、short、int、long、float、double、char、boolean。然后在加上一个引用数据类型String案例:public class MethodDemo1 { public static vo...原创 2019-08-07 19:48:31 · 169 阅读 · 0 评论