
Java基础
文章平均质量分 96
学习Java的笔记记录汇总,涵盖java基础等
长路 ㅤ
24应届毕业,目前入职的公司toB主营业务为数据中台,岗位:Java后端开发一枚,主要学习方向为Java后端,大数据,算法。 欢迎和我交流
展开
-
Java的浅拷贝与深拷贝详细解析
若是拷贝的类中仅仅是一些基本类型,那么直接使用clone()方法。若是有多个自定义类或其他没有实现Cloneable接口的jdk核心类,那么建议使用反序列化的方式。使用默认的clone()方法速度最快。原创 2022-10-11 09:09:47 · 1596 阅读 · 5 评论 -
Java序列化案例demo(包含Kryo、JDK原生、Protobuf、ProtoStuff以及hessian)
本节配套案例代码:Java-Learn—Github地址所有博客文件目录索引:博客目录索引(持续更新)kryo-Gihub仓库地址Kryo 是一个高性能的序列化/反序列化工具,由于其变长存储特性并使用了字节码生成机制,拥有较高的运行速度和较小的字节码体积,并且Kryo 已经是一种非常成熟的序列化实现了,已经在 Twitter、Groupon、Yahoo 以及多个著名开源项目(如 Hive、Storm)中广泛的使用。基于Java的快速高效的对象序列化框架,旨在提供快速、高效和易用的API。无论文件、数据库或网原创 2022-06-15 12:59:31 · 1053 阅读 · 0 评论 -
Java学习笔记 03、选择、循环结构
文章目录前言一、Scanner使用二、选择结构ifswitch总结三、循环结构四、break、continue与label前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库、jdbc、javaweb、ssm以及Springboot,其中也学习了一段时间数据结构。 在javaweb期间做了图书商城项目、ssm阶段做了权限管理项目,spri原创 2021-01-26 23:36:30 · 464 阅读 · 0 评论 -
在main函数中创建新对象时出错 No enclosing instance of type ooo is accessible. Must qualify the allocation with a
错误原因:No enclosing instance of type ooo is accessible. Must qualify the allocation with an enclosing instance of type ooo (e.g. x.new A() where x is an instance of ooo).方法:方法一:分为两个class 不用内部类方法二:给内...原创 2020-03-05 09:26:04 · 690 阅读 · 0 评论 -
关于Eclipse安装
Eclipse安装包链接:https://pan.baidu.com/s/1EDTUKQlshaMps4EY6dgyzw提取码:rt7u推荐一个写的比较好的:https://blog.youkuaiyun.com/rothschild666/article/details/82914600原创 2020-02-12 19:58:52 · 275 阅读 · 0 评论 -
Java学习笔记 JDK8新特性
文章目录前言一、Lambda表达式1.1、认识与使用Lambda表达式1.2、函数式接口介绍函数式接口四大核心函数式接口1.3、方法引用与构造器引用二、Stream流2.1、Stream的概述2.2、获取Stream方式(四种)2.3、Stream的中间操作2.4、Stream的终止操作三、Optional类3.1、介绍Optional类3.2、Optional的方式介绍3.3、Optional类源码分析前言 本篇文章是对之前学习j原创 2021-02-23 23:38:18 · 1150 阅读 · 1 评论 -
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
文章目录题目描述代码实现效果展示题目描述代码实现package test;import java.util.Scanner;class Sort { // 冒泡排序 public static void bubbleSort(int data[], int num)// 对data [ ] 进行冒泡排序 { printAll(data, num,"排序前:"); System.out.println(); int i, j; int temp; for (i =原创 2020-12-05 10:25:54 · 528 阅读 · 0 评论 -
Java学习笔记 14、反射与JDK动态代理
文章目录前言一、认识反射二、认识Class类Class类获取Class实例的四种方式哪些类型可以是class对象?三、反射的方法使用获取构造器、类属性及方法如何看待反射与封装性两个技术?四、类的加载与ClassLoader理解类的加载过程(含例子)ClassLoader理解(各个类加载器)认识各个类加载器ClassLoader双亲委派机制加载properties文件五、获取运行时类的完整结构六、调用运行时类的指定方法1、调用指定方法(invoke方法)2、调用指定属性setAccessible方法说明七、反原创 2021-02-20 19:10:49 · 811 阅读 · 7 评论 -
Java学习笔记 09、IO流—对象序列化
文章目录前言一、认识序列化二、实现序列化1、实现序列化要求及说明2、实例程序自定义类准备①序列化对象②解序列化三、深入了解序列化序列化过程解序列化过程四、序列化相关问题参考资料前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库、jdbc、javaweb、ssm以及Springboot,其中也学习了一段时间数据结构。 在javaweb期间原创 2021-01-29 15:54:31 · 767 阅读 · 0 评论 -
Java学习笔记 0、计算机相关知识了解
前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库、jdbc、javaweb、ssm以及Springboot,其中也学习了一段时间数据结构。 在javaweb期间做了图书商城项目、ssm阶段做了权限管理项目,springboot学了之后手痒去b站看视频做了个个人博客项目(已部署到服务器,正在备案中)。期间也不断进行做笔记,总结,但是越学到后原创 2021-01-26 23:13:52 · 681 阅读 · 0 评论 -
Java通过异或简单实现加密解密
这里使用到了getBytes() 将位数组转为String类型 public static String encrypt(String value,char secret){ //字符串转byte数组 byte[] bt=value.getBytes(); //进行遍历加密 for(int i=0;i<bt.length;i++) bt[i]=(byte)(bt[i]...原创 2020-04-09 17:34:00 · 1305 阅读 · 0 评论 -
第六周 接口与抽象类
导航1.接口语法与注意事项2.接口支持多重继承3.类调用接口的语法4.接口也是一种类,也可以产生对象,接口的多态性5.适配器类6.抽象类定义与用法————————————————————————————————————————1.接口语法与注意事项接口的语法:[abstract] interface 接口名 { [public][abstract] 返回类型 方法...原创 2020-03-26 23:31:40 · 320 阅读 · 0 评论 -
Java学习笔记 String、StringBuffer与StringBuilder
文章目录一、String字符串1.1、认识String类1.2、String两种赋值方式(=、new)1.3、字符串赋值的各类情况1.4、认识intern()方法1.5、常用方法相关面试题二、StringBuffer类2.1、认识StringBuffer类2.3、常用方法2.2、源码分析三、StringBuilder四、String、StringBuffer、StringBuilder对比参考文章一、String字符串1.1、认识String类String:表示为字符串,可以使用字符串字面值与类实原创 2021-02-25 15:49:47 · 689 阅读 · 0 评论 -
Java学习笔记 04、数组与Arrays工具类
文章目录前言一、一维数组基本认识内存空间二、二维数组基本认识三、工具类Arrays前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库、jdbc、javaweb、ssm以及Springboot,其中也学习了一段时间数据结构。 在javaweb期间做了图书商城项目、ssm阶段做了权限管理项目,springboot学了之后手痒去b站看视频做了原创 2021-01-26 23:37:36 · 532 阅读 · 0 评论 -
今天java布置三道题 主要就是语法注意点
1.输出最大值最小值2.打印10*10方阵数组的位置3.1到100累加原创 2020-02-27 11:17:00 · 1133 阅读 · 0 评论 -
Java环境配置
jdk安装包 win64位链接:https://pan.baidu.com/s/1NMC4kRBTzK3Lj2S9rZqd6A提取码:aiv2下载好之后创建两个系统变量,和在用户变量中的path里添加1.创建变量名为JAVA_HOME变量名照抄,变量值为刚刚下载的绝对路径2.选择系统用户里的变量在里面新增两条3.再在系统变量里加变量值: (直接复制下面).;%JAVA_...原创 2020-02-12 19:02:08 · 335 阅读 · 0 评论 -
java基础学习 数组,循环,变量,函数加载情况先后顺序,方法定义
1.接收输入得字符串两种方式2.数组的初始化3.使用for来遍历,对象作为参数4.函数方法定义5.main函数执行前会先加载类,static匿名模块会进行执行原创 2020-02-27 09:58:14 · 370 阅读 · 0 评论 -
java中出现Syntax error, annotations are only available if source level is 1.5 or greater
由于办过过低按住alt+enter键,按一下步骤原创 2020-02-27 09:48:33 · 665 阅读 · 0 评论 -
Java学习笔记 11、快速入门多线程(详细)
文章目录一、多线程基本认识1、程序、进程、线程2、认识单核与多核CPU3、多线程优点4、一个以上的执行空间说明二、线程的创建与使用认识Thread类两种创建线程方式1、创建线程方式一:继承Thread2、创建线程方式二:实现Runnable接口比较两种创建方式常用方法修改线程名yield()方法join()方法sleep()方法线程优先级设置介绍调度线程优先级线程的分类三、线程的生命周期Thread.State中的六种状态生命周期中五种状态四、线程的同步1、多窗口卖票(引出问题)继承Thread与实现Run原创 2021-02-10 23:29:19 · 825 阅读 · 1 评论 -
第五周学习java 继承 在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类
导航1.在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类(instanceof)2.子类继承父类时,怎么调用父类构造函数,以及如何访问到父类的私有属性,子类是否能够继承父类的私有属性3.根父类:Object类————————————————————————————————————————1.在子类父类中有相同参数,子类继承分类后如何进行调用package c...原创 2020-03-19 10:49:22 · 1161 阅读 · 0 评论 -
Java学习笔记 16、注解
文章目录前言一、认识注解1.1、介绍注解1.2、开发中常见注解使用二、自定义注解2.1、自定义注解说明2.2、JDK1.5提供的四个元注解三、利用反射获取注解信息四、JDK8中注解的新特性4.1、可重复注解(两种方式)两种方式实现获取可重复注解的值(两种方式)4.2、新增类型注解(2个)参考文章前言 本篇文章是对之前学习java基础知识的再整理,通过看视频以及查阅博客进行汇总整理。部分图引用的是尚硅谷的教案,觉得比较好,若有侵权,请原创 2021-02-22 17:10:33 · 532 阅读 · 0 评论 -
单子设计模式 (对创建初始对象为静态,构造函数私有,返回值为对象的创建函数,private应用)
分为两个类,一个是学生类,另一个是main类学生类package cn.campsg.java.experiment;public class Student { private String name; private int age; private static Student s = null; //这里设置为静态变量,并且是私有类型的,设置初始为null,说明没有产生对...原创 2020-03-06 12:13:13 · 406 阅读 · 0 评论 -
09、IO流—File类与IO流
文章目录一、File类基本认识实用方法获取功能重命名功能(包含剪切)判断功能创建、删除文件实际小案例二、IO流1、认识IO流2、IO流基类介绍字节流基类介绍字符流基类介绍三、节点流与处理流1、节点流介绍说明实际小案例总结2、缓冲流缓冲流介绍使用缓冲流3、转换流认识转换流实际小案例4、标准输入、输出流实际小案例5、打印流(PrintStream与PrintWriter)基本介绍小案例6、数据流7、对象流(序列化)8、随机存取文件流认识RandomAccessFile小案例NIO扩展参考资料一、File类原创 2021-02-02 22:22:53 · 603 阅读 · 0 评论 -
Java学习笔记 10、网络编程
文章目录前言一、网络编程概述1、什么是网络编程2、网络通信要素认识网络通信协议要素1:IP地址和端口号知识补充认识InetAddress类要素2:网络协议二、TCP网络编程例题一:创建客户端与服务端实现发送与接收例题二:客户端发送一张图片到服务器端例题三:客户端发送数据到服务端,服务端再返回数据到客户端服务端—Tomcat三、UDP网络编程认识UDP的相关类小案例四、URL编程1、认识URL及URL类2、针对Http协议的URLConnection类小案例参考资料前言  原创 2021-02-03 21:21:20 · 466 阅读 · 0 评论 -
通过cmd编译运行java文件
1.新建一个文本文档2.通过cmd来编译运行原创 2020-02-12 19:25:08 · 477 阅读 · 0 评论 -
Java中集合类
数组无法存放映射关系的数据,集合类可以。(集合类又称为容器类)数组中可以放基本类型与对象。集合中只能放对象。集合类都被放在java.util中p...原创 2020-04-09 10:07:16 · 312 阅读 · 0 评论 -
第七周作业 使用Arraylist类进行模拟队列
题目:就诊模拟排队叫号题意:1、实验要求 本实验要求:以医院排队叫号就诊为业务背景,训练Java列表对象(List)的应用场景。 1-1. 业务说明: 1-1.1. 本实验以患者到医院就诊为业务背景,患者取号排队,等待叫号。 1-1.2. 叫号器负责叫号,叫号后移除排队的队首患者,并显示其他候诊人。 1-2. 创建工程并配置环境:...原创 2020-04-09 09:56:14 · 2249 阅读 · 0 评论 -
第六章 异常作业
题目:1、实验要求 本实验要求:以情人节送花为业务背景,体验自定义异常以及异常处理机制。 1-1. 业务说明: 1-1.1. 本实验以情人节送花为业务背景,女方提出送花需求,男方送出鲜花。 1-1.2. 当女方提出送花数超过男方可承受范围(例如:100朵)时,需要抛出异常。 1-2. 创建工程并配置环境: 1-2...原创 2020-04-02 10:45:08 · 1269 阅读 · 0 评论 -
Java学习笔记 15、枚举类
文章目录前言一、认识枚举类二、自定义枚举类(jdk1.5之前方式)三、enum定义枚举类(jdk1.5新增)3.1、使用enum定义枚举类3.2、认识java.lang.enum类3.3、枚举类实现接口四、enum相关的类参考文章前言 本篇文章是对枚举类的回炉学习,其中部分内容参考的是尚硅谷的课堂ppt教案,同时对其中知识点进行补充,这里帮尚硅谷打个广告报答一下:尚硅谷_Java零基础教程-java入门必备-适合初学者的全套完整版教原创 2021-02-21 22:25:10 · 674 阅读 · 0 评论 -
Java学习笔记 05、面向对象—基本认识
文章目录前言一、面向过程与面向对象二、类与对象介绍类与对象创建类与对象对象引用构造器JavaBean说明UML类图this关键字三、内存区域四、对象数组五、匿名对象六、值传递与地址传递概念介绍实际案例说明MVC设计模式参考资料前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库、jdbc、javaweb、ssm以及Springboot,其中也学习了一段时间数据结构。 &nb原创 2021-01-26 23:38:37 · 583 阅读 · 0 评论 -
Java学习笔记 02、Java的基本概念
文章目录前言一、Java的程序结构源文件、类、方法编译器及JVM各自作用二、关键字及标识符关键字与保留字标识符三、数据类型初识数据类型基本类型整数类型浮点型字符型布尔类型总结引用类型(String)四、运算符算术运算符比较运算符五、乱码字符集运算符优先级参考资料前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库、jdbc、javaweb、ssm以及Springboot,其中也学习了一段时间数据结构。&nb原创 2021-01-26 23:34:45 · 488 阅读 · 0 评论 -
Java中如何生成随机数
第一种:使用Math类中函数具体使用如下for(int i=1;i<=10;i++){ int num=(int)Math.random()*10; //这里生成的是0-9的数字 System.out.println(num);}第二种:调用包具体使用如下:import java.util.Random;Random re=new Random();for(int i...原创 2020-04-16 08:58:01 · 478 阅读 · 0 评论 -
Java学习笔记 06、面向对象—三大特性
文章目录前言一、特征一:封装封装介绍权限修饰符二、特征二:继承1、继承介绍2、方法的重写3、super关键字4、对象实例化过程三、特征三:多态性介绍多态虚拟方法与动态绑定行为描述及场景使用重载与重写(早、晚绑定)Instanceof四、Object超类1、==运算符与equals方法2、toString()方法五、包装类介绍拆装箱与转换问题相关面试题参考文章前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库原创 2021-01-26 23:39:57 · 559 阅读 · 0 评论 -
Java学习笔记 01、初识Java
文章目录前言一、认识Java历史介绍Java介绍二、认识及安装JDK1、认识JDK2、安装JDK配置与测试配置注意及不生效解决3、认识Java虚拟机三、Java的工作方式四、javadoc小工具五、IDE集成开发环境参考文章前言 去年四月份大一下半学期正式开始学习Java,一路从java基础、数据库、jdbc、javaweb、ssm以及Springboot,其中也学习了一段时间数据结构。 &nbs原创 2021-01-26 23:28:25 · 525 阅读 · 0 评论 -
第三周学习 使用this调用自身的构造函数进行使用 比构造方法还先调用的语法机制 static private 字符类String的创建方法 StringBuffer
导航1.创建一个类,使用this调用自身的构造函数进行使用2.比构造方法还先调用的语法机制 static3.类内各种调用 时机 是否自动调用4.单子设计模式的private5.static语法注意点6.字符类String的创建方法7.StringBuffer对象介绍与应用8.基本数据类型与包装————————————————————————————————————————1.创...原创 2020-03-05 13:28:45 · 395 阅读 · 0 评论 -
Java学习笔记 08、异常处理
文章目录前言一、异常概述与异常体系结构二、常见异常异常体系结构RuntimeException举例NullPointerException(空指针)IndexOutOfBoundsException(下标越界)ClassCastException(类型转换)NumberFormatException(数值转换)InputMismatchException(输入不匹配)ArithmeticException(算术异常)三、异常处理概述异常处理好处抓抛模型异常处理机制一:try-catch-finallytry原创 2021-01-28 23:59:41 · 490 阅读 · 0 评论 -
如何打包一个java工程
今天java第一节课,老师让我们打包上传到网站上去直接去之前装的work-space文件里去找,压缩一下就好勒原创 2020-02-20 09:52:32 · 881 阅读 · 0 评论 -
Java学习笔记 13、泛型
文章目录前言一、认识泛型二、自定义泛型结构自定义泛型举例继承泛型类两种方式自定义泛型注意点三、泛型不同使用情境泛型表示接口泛型方法四、泛型继承上的体现五、通配符使用前言 本篇文章内容是在原有笔记之上进行补充总结,相当于回炉重造,第一次学习Java是看的尚硅谷教程:尚硅谷_Java零基础教程-java入门必备-适合初学者的全套完整版教程(宋红康主讲),其中比较好的部分内容如部分图片会借鉴尚硅谷笔记(如有侵权,我会删除)。原创 2021-02-17 18:42:40 · 470 阅读 · 0 评论 -
Java学习笔记 12、集合框架
文章目录前言一、认识集合框架二、 Iterator迭代器接口介绍Iteractor接口三个主要方法源码分析(ArrayList中的迭代器)三、顶级接口及实现类认识各个接口List接口及常用实现类List接口ArrayListLinkedListVectorStack总结及相关面试题Set接口及常用实现类Set接口HashSetLinkedHashSetTreeSetSet相关面试题hashCode()方法重写介绍Map接口及常用实现类Map接口HashMapLinkedHashMapTreeMapHashT原创 2021-02-17 16:17:02 · 574 阅读 · 0 评论 -
Java学习笔记 07、面向对象—重要知识点
一、main方法介绍main():作为程序的入口,是一个普通的静态public方法,虚拟机中执行会去找main()方法,若不存在就会报错,存在即执行。main方法能与控制台进行交互。public class Main{ public static void main(String[] args){ }}其中的args参数我们也可以进行赋值并输出:①命令行中赋值并输出首先编译成字节码文件,接着输入java Main "参数1" 1 2 3后面空格分隔的参数值会赋予到args中,就可以原创 2021-01-27 23:26:32 · 443 阅读 · 0 评论