
JavaSE学习笔记
文章平均质量分 65
根据视频总结笔记,用于自己回顾学习。
王六六同学
成为更好的自己,这是新的约定。
展开
-
【Java】数据类型-精度失真问题
百度百科Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecima原创 2022-03-16 22:12:22 · 1431 阅读 · 0 评论 -
HashSet与HashMap
来自OneNote笔记,不知道为啥复制过来就是图片。。。。。。原创 2021-12-17 09:32:07 · 97 阅读 · 0 评论 -
【Java自用】Java8新特性-Lamdba表达式
1.Lambda表达式使用前后的对比:举例:@Test public void test1(){ //多线程接口Runnable 创建匿名实现类的对象 Runnable r1 = new Runnable() { @Override public void run() { System.out.println("我爱北京天安门"); } }原创 2021-09-29 11:25:16 · 116 阅读 · 0 评论 -
【Java自用】高级编程-8.反射机制
高级编程阶段的最后一章~~~~~~~~~ JavaSE终于要结束了。。。。。Java的反射机制一、反射的概述1.本章的主要内容(红色需要掌握)2.关于反射的理解Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。框架 = 反射 + 注解 + 设计模式。3.体会反射机制的“动态性”//体会反射的动态性@Testpublic void test2(){ for(原创 2021-09-28 20:56:12 · 422 阅读 · 4 评论 -
【Java自用】静态代理、动态代理
代理模式的原理使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。静态代理特点:代理类和被代理类在编译期间,就确定下来了。//做衣服的工厂interface ClothFactory{ void produceCloth();}//代理类class ProxyClothFactory implements ClothFactory{ private ClothFactory原创 2021-09-28 20:23:52 · 104 阅读 · 0 评论 -
【Java自用】高级编程-7.网络编程
网络编程一、InetAddress类的使用1.实现网络通信需要解决的两个问题如何准确地定位网络上一台或多台主机;定位主机上的特定的应用找到主机后如何可靠高效地进行数据传输2.网络通信(编程)的两个要素:对应问题一:IP和端口号对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)3.通信要素一:IP和端口号IP的理解IP:唯一的标识 Internet 上的计算机(通信实体)在Java中使用InetAddress类代表IPIP原创 2021-09-27 19:04:59 · 110 阅读 · 0 评论 -
【Java自用】高级编程-6.I/O流
I/O流一、File类的使用1.File类的理解File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的"终点".2.File的实例化常用构造器File(String filePath)File(Strin原创 2021-09-27 18:39:37 · 154 阅读 · 0 评论 -
【Java自用】高级编程-5.泛型
一、泛型的理解1.泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的类型参数,也称为类型实参)。2.泛型的引入背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这原创 2021-09-27 17:00:42 · 111 阅读 · 0 评论 -
【Java自用】高级编程 - 4.Java集合
又来总结啦~~~~~~~~一、数组与集合1. 集合与数组存储数据概述集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明: 此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)2. 数组存储的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[] arr;int[] arr1;Object[] arr2;3. 数组存储的弊端:一旦初始化以后,原创 2021-09-27 13:37:45 · 157 阅读 · 0 评论 -
【Java自用】TCP网络编程练习题
1.客户端发送内容给服务端,服务端将内容打印到控制台上。public class TCPTest1 { //客户端 @Test public void client() { Socket socket = null; OutputStream os = null; try { //1.创建Socket对象,指明服务器端的ip和端口号 InetAddress inet = InetA.原创 2021-09-27 12:21:13 · 435 阅读 · 0 评论 -
【Java自用】TCP三次握手和四次挥手
理解 ---->TCP三次握手和四次挥手理解:① 1发送-“我是王六六”② 2 接收+发送-“我知道你是王六六,我是丸子”③ 3 接收+发送-“我知道 你知道我是王六六,你是丸子,我是王六六”一般客户端主动断开连接信息① 1我(客户端)想断开连接② 2我(服务器)知道你(客户端)想要断开连接的信息了③ 3服务器断开 发给客户端说我(服务器)已经跟你(客户端)断开连接了④ 4(客户端)接收到再发出去验证一下服务器还能不能接到秒懂~~~~~~...原创 2021-09-27 00:15:09 · 143 阅读 · 0 评论 -
【Java自用】IO流中读数据中的难点
源码:public int read(char cbuf[]) throws IOException { return read(cbuf, 0, cbuf.length); }//2.FileReader流的实例化 fr = new FileReader(file); //3.读入的操作 //read(char[] cbuf):返回每次读入cbuf数组中的字符的个数。如果达到文件末尾,返回-1 .原创 2021-09-25 22:37:09 · 163 阅读 · 0 评论 -
【Java自用】垃圾回收机制
垃圾????我???? 回收我?????垃圾回收机制关键点垃圾回收机制只回收JVM堆内存里的对象空间。对其他物理连接,比如数据库连接、输入流输出流、Socket连接无能为力现在的JVM有多种垃圾回收实现算法,表现各异。垃圾回收发生具有不可预知性,程序无法精确控制垃圾回收机制执行。可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象。程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效原创 2021-09-25 19:04:28 · 97 阅读 · 0 评论 -
【Java自用】练习题-File 类的使用
File 类的使用-练习题:判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称public class FindJPGFileTest { @Test public void test1(){ File srcFile = new File("d:\\code"); String[] fileNames = srcFile.list(); for(String fileName : fileNames){ if(fileName.endsWith(".原创 2021-09-25 17:08:53 · 181 阅读 · 0 评论 -
【Java自用】练习题-自定义泛型类的使用
题目描述:1.定义个泛型类 DAO<T>,在其中定义一个 Map 成员变量,Map 的键为 String 类型,值为 T 类型。分别创建以下方法:public void save(String id,T entity): 保存 T 类型的对象到 Map 成员变量中public T get(String id):从 map 中获取 id 对应的对象public void update(String id,T entity):替换 map 中 key 为 id 的内容,改为 entity原创 2021-09-25 15:42:11 · 525 阅读 · 0 评论 -
【Java自用】集合中使用泛型的练习
发现使用泛型以后好方便!!!!!!!对这个博客:【Java自用】集合练习题:TreeSet的自然排序与定制排序 里面的练习题进行泛型操作。题目描述:涉及自然排序和定制排序定义一个 Employee 类。该类包含:private 成员变量 name,age,birthday,其中 birthday 为MyDate 类的对象;并为每一个属性定义 getter, setter 方法;并重写 toString 方法输出 name, age, birthday。MyDate 类包含: private 成.原创 2021-09-25 12:26:28 · 307 阅读 · 0 评论 -
【Java自用】Java集合-Iterator迭代器接口(为容器而生)
IteratorIterator接口的方法集合元素的遍历操作,使用迭代器Iterator接口1.内部的方法:hasNext() 和 next()2.集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。3.内部定义了remove(),可以在遍历的时候,删除集合中的元素。此方法不同于集合直接调用remove()代码如下:package com.atguigu.com;import org.junit.Test;import java原创 2021-09-23 15:31:09 · 113 阅读 · 0 评论 -
【Java自用】高级编程-3.枚举类和注解
枚举类和注解一、枚举类的使用1. 枚举类的说明:枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类当需要定义一组常量时,强烈建议使用枚举类如果枚举类中只一个对象,则可以作为单例模式的实现方式。2. 如何自定义枚举类?步骤://自定义枚举类class Season{ //1.声明Season对象的属性:private final修饰 private final String seasonName; private final String season原创 2021-09-21 20:09:10 · 127 阅读 · 0 评论 -
【Java自用】高级基础编程-2.Java常用类
Java常用类一、String类java.lang.String类的使用1.概述String:字符串,使用一对" "引起来表示。String声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String内部定义了final char[] value用于存储字符串数据通过字面量的方式(区别于new给一个字符串赋值,此时的字符串值声明在字符串常量池中)。字符串常量池中是不会存原创 2021-09-21 13:35:14 · 159 阅读 · 0 评论 -
【Java自用】高级编程-1.多线程
????????????JavaSE基础编程部分在9.14就学完了!!!证据如下????????????开始高级编程部分喽~~~~????一、程序、进程、线程的理解1. 程序(programm)概念:是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。2. 进程(process)概念:程序的一次执行过程,或是正在运行的一个程序。说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域3. 线程(thread)概念:进程可进一步细化为线程,是一个程序原创 2021-09-21 10:00:35 · 164 阅读 · 0 评论 -
【Java自用】基础编程 — 5.异常处理
好几天之前学完了,没更博~~~嘻嘻嘻(偷了个懒 ???? )一、异常1. 异常的体系结构2.从程序执行过程,看编译时异常和运行时异常编译时异常:执行javac.exe命名时,可能出现的异常运行时异常:执行java.exe命名时,出现的异常3.常见的异常类型请举例说明://******************以下是运行时异常*************************** //ArithmeticException @Test public void test6(){原创 2021-09-20 22:27:30 · 163 阅读 · 1 评论 -
【Java自用】String类练习题
练习题1)模拟一个trim方法,去除字符串两端的空格。2)将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”3)获取一个字符串在另一个字符串中出现的次数。比如:获取“ ab”在 “abkkcadkabkebfkabkskab” 中出现的次数4)获取两个字符串中最大相同子串。比如:str1 = "abcwerthelloyuiodef“;str2 = “cvhellobnm”提示: 将短的那个串进行长度依次递减的子串与较长的串比较。5)对字符串中字原创 2021-09-17 23:41:19 · 1332 阅读 · 0 评论 -
【Java自用】多线程-练习题
线程通信的应用经典例题:生产者/消费者问题生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品,店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员会叫生产者停一下,如果店中有空位放产品了再通知生产者继续生产;如果店中没有产品了,店员会告诉消费者等一下,如果店中有产品了再通知消费者来取走产品。分析:是否是多线程问题?是,生产者线程,消费者线程是否有共享数据?是,店员(或产品)如何解决线程的安全问题?同步机制,有三种方原创 2021-09-17 11:59:59 · 347 阅读 · 0 评论 -
【Java自用】线程同步-练习题
题目描述有一个账户。有两个储户分别向同一个账户存3000元,每次存1000,存3次。每次存完打印账户余额。分析:1.是否是多线程问题? 是,两个储户线程2.是否有共享数据? 有,账户(或账户余额)3.是否有线程安全问题?有4.需要考虑如何解决线程安全问题?同步机制:有三种方式。//账户class Account{ private double balance;//余额 public Account(double balance) {//构造器 this原创 2021-09-17 09:45:02 · 311 阅读 · 0 评论 -
【Java自用】基础编程篇-4.面向对象(下)
一、关键字:staticstatic:静态的1.可以用来修饰的结构:主要用来修饰类的内部结构属性、方法、代码块、内部类2.static修饰属性:静态变量(或类变量)2.1 属性,是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量)实例变量:我们创建了类的多个对象,每个对象都独立的拥一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量原创 2021-09-16 22:43:55 · 161 阅读 · 2 评论 -
【Java自用】基础编程篇-4.面向对象(中)
前言尚硅谷 - Java课程 - 笔记(用于自己复习)以下是面向对象(中)的内容????一、面向对象的特征二:继承性1.为什么要有类的继承性?(继承性的好处)① 减少了代码的冗余,提高了代码的复用性② 便于功能的扩展③ 为之后多态性的使用,提供了前提图示:2.继承性的格式class A extends B{} A:子类、派生类、subclass B:父类、超类、基类、superclass3.子类继承父类以后有哪些不同?体现:一旦子类A继承父类B以后,子类A原创 2021-09-16 20:41:59 · 153 阅读 · 0 评论 -
【Java】基础编程篇(4.面向对象上)
前言尚硅谷 - Java课程 - 笔记(用于自己复习)终于把面向对象看完了????,总结一下,基础篇就结束啦~一、类与对象1.面向对象学习的三条主线Java类及类的成员:属性、方法、构造器;代码块、内部类面向对象的三大特征:封装性、继承性、多态性、(抽象性)其它关键字:this、super、static、final、abstract、interface、package、import等“大处着眼,小处着手”2.面向对象与面向过程(理解)面向过程:强调的是功能行为,以函数原创 2021-09-16 01:00:08 · 232 阅读 · 1 评论 -
【Java自用】单例设计模式(饿汉/懒汉)- 解决线程安全问题
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。就像是经典的棋谱,不同的棋局,我们用不同的棋谱。"套路"所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只原创 2021-09-13 15:04:27 · 402 阅读 · 0 评论 -
【Java自用】练习题
题目描述:public class ScoreTest { public static void main(String[] args) { //1.实例化Scanner,用于从键盘获取学生成绩 Scanner scan = new Scanner(System.in); //2.创建Vector对象:Vector v=new Vector();相当于原来的数组 Vector v = new Vector(); //3.通过for(;;)或while(true)方原创 2021-09-12 14:14:14 · 119 阅读 · 0 评论 -
【Java自用】JVM-垃圾回收机制
垃圾回收机制关键点垃圾回收机制只回收JVM堆内存里的对象空间。对其他物理连接,比如数据库连接、输入流输出流、Socket连接无能为力现在的JVM有多种垃圾回收实现算法,表现各异。垃圾回收发生具有不可预知性,程序无法精确控制垃圾回收机制执行。可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象。程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效果,但是系统是否进行垃圾回收依然不确定。垃圾回收机制回收任何对象原创 2021-09-11 15:26:49 · 138 阅读 · 0 评论 -
【Java自用】四种访问权限修饰符
修饰符类内部同一个包不同包的子类同一个工程privateYes(缺省)YesYesprotectedYesYesYespublicYesYesYesYes原创 2021-09-11 10:23:35 · 83 阅读 · 0 评论 -
【Java】基础编程篇(3.数组)
前言尚硅谷 - Java课程 - 笔记(用于自己复习)一、数组概述1.数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,使用一个名字命名,并通过编号的方式对这些数据进行统一管理。2.数组相关的概念:数组名元素角标、下标、索引数组的长度:元素的个数3.数组的特点:数组是序排列的数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型创建数组对象会在内存中开辟一整块连续的空间数组的长度一旦确定,就不能修改。4. 数组的分类:原创 2021-08-13 22:35:04 · 243 阅读 · 0 评论 -
【自用】【Java】- Eclipse
快捷键:1.Syso输出快速键:syso -->Alt + / + enterSystem.out.println(); 2.Main确认快速键:main --> Alt + / + enterpublic static void main(String[] args) { }3.光标定位 :shift+enter 下一行Ctrl+shift+enter 上一行4.注释:单行注释/反注释: Ctrl + /多行注释: Ctrl + Shift + /原创 2021-08-10 12:54:44 · 118 阅读 · 0 评论 -
【Java】 基础编程篇(2.基本语法)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言尚硅谷 - Java课程 - 笔记(用于自己复习)一、关键字与标识符1.java关键字的使用定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所字母都为小写具体哪些关键字:2.保留字:现Java版本尚未使用,但以后版本可能会作为关键字使用。具体哪...原创 2021-05-28 19:10:22 · 174 阅读 · 0 评论 -
【Java】基础编程篇(1.Java语言概述)
Java基础编程原创 2021-05-23 22:09:04 · 138 阅读 · 0 评论