Java基础知识
文章平均质量分 54
Java基础知识
碳烤小肥羊。。。
all in
展开
-
动态代理的通用方法类
动态代理方法记录原创 2023-07-27 15:40:31 · 128 阅读 · 0 评论 -
Java中的Comparator 与 Comparable详解
由于自己在写算法题目的时候遇到了Comparable和Comparator,但是不会使用,这里就记录一下他们如何使用以及他们的区别。原创 2023-03-04 13:34:17 · 1472 阅读 · 0 评论 -
Java反转数组或反转数组某一区间的两种通用方法总结
我们在写程序的时候常常遇到反转数组的情况,反转整个数组是比较容易的,但是有时候可能还需要我们反转整数组的一部分,就想着有没有一种通用的方法可以指定反转区间呐。于是就提出了本文的内容。原创 2022-11-18 10:50:18 · 454 阅读 · 0 评论 -
Java上传文件(FileItem类)
FileItem类原创 2022-09-28 14:21:18 · 892 阅读 · 0 评论 -
生成验证码工具类
生成验证码工具类原创 2022-08-07 21:27:22 · 120 阅读 · 0 评论 -
多线程——线程范围内变量的共享
线程范围内的共享变量是指对同一个变量,几个线程同时对它进行写和读操作,而同一个线程读到的数据就是它自己写进去的数据。1、未实现变量共享的例子:import java.util.Random;public class NotShareVarThread { private static int data = 0; public static void main(String[] args){ for(int i = 0; i < 2; i++){原创 2020-09-28 21:32:24 · 4973 阅读 · 1 评论 -
Java实现二叉树的递归遍历(前序遍历、中序遍历、后序遍历)
实现二叉树的递归遍历原创 2022-07-19 16:48:27 · 1524 阅读 · 0 评论 -
Java实现链式存储的二叉树节点的定义
Java实现链式存储的二叉树节点的定义。原创 2022-07-17 10:12:46 · 477 阅读 · 0 评论 -
Java定义链表节点方式
Java定义链表节点原创 2022-06-18 20:28:32 · 634 阅读 · 0 评论 -
设计模式—装饰模式
什么是装饰设计模式?原创 2022-05-24 22:52:38 · 186 阅读 · 2 评论 -
设计模式—工厂模式
什么是工厂设计模式?原创 2022-05-24 22:36:16 · 78 阅读 · 0 评论 -
使用Proxy为某个接口创建代理方式
通过查看Java API中的Proxy类发现给出了为接口创建代理的两种方式,人的记忆是有限的,多看多回顾。原创 2022-05-21 19:47:35 · 293 阅读 · 0 评论 -
Java单元测试、反射、注解、动态代理
Java单元测试、反射、注解、动态代理单元测试单元测试快速入门单元测试常用注解反射反射概述反射获取类对象反射获取构造器对象反射获取成员变量对象反射获取方法对象反射的作用-绕过编译阶段为集合添加数据反射的作用-通用框架的底层原理注解注解概述自定义注解元注解注解解析注解的应用场景一:junit框架动态代理单元测试单元测试: 就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。问题提出:目前测试方法是怎么进行的,存在什么问题?原创 2022-05-21 19:43:17 · 396 阅读 · 0 评论 -
Java多线程超详解
Java多线程多线程的创建方式一:继承Thread类方式二:实现Runnable接口方式三:JDK 5.0新增:实现Callable接口创建线程三种方式对比Thread的常用方法线程安全线程安全问题是什么、发生的原因线程安全问题案例模拟线程同步同步思想概述方式一:使用synchronized的同步代码块方式二:使用synchronized的同步方法方式三:Lock锁线程通信线程池定时器并发、并行线程的生命周期多线程的创建方式一:继承Thread类Thread类: Java是通过java.lang.Th原创 2022-05-13 22:04:22 · 328 阅读 · 0 评论 -
Java:IO流学习笔记二
缓冲流缓冲流概述字节缓冲流字节缓冲流的性能分析字符缓冲流转换流问题引出:不同编码读取乱码问题字符输入转换流字符输出转换流序列化对象对象序列化对象反序列化打印流PrintStream、PrintWriter输出语句的重定向补充知识:Properties补充知识: IO框架......原创 2022-05-04 22:05:10 · 618 阅读 · 0 评论 -
Java:IO流学习笔记一
IO流学习总结字符集常见字符集介绍字符集的编码、解码操作IO流概述字节流的使用文件字节输入流:每次读取一个字节文件字节输入流:每次读取一个字节数组文件字节输入流:一次读完全部字节文件字节输出流:写字节数据到文件文件拷贝字符流的使用文件字符输入流-一次读取一个字符文件字符输入流-一次读取一个字符数组文件字符输出流字符集常见字符集介绍字符集基础知识:计算机底层不可以直接存储字符的。计算机中底层只能存储二进制(0、1)。二进制是可以转换成十进制的。11 = 1*2^1 + 1*2^0 = 2 +原创 2022-04-30 15:38:35 · 497 阅读 · 0 评论 -
Java递归详解与测试案例
递归的形式和特点什么是方法递归?方法直接调用自己或者间接调用自己的形式称为方法递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。递归的形式直接递归:方法自己调用自己。间接递归:方法调用其他方法,其他方法又回调方法自己。方法递归存在的问题?递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出现象。递归的算法流程、核心要素递归算法三要素大体可以总结为:递归的公式: f(n) = f(n-1) * n;递归的终结点:f(1) 递归的方向必须走向终结点:原创 2022-04-30 13:58:24 · 640 阅读 · 0 评论 -
Java中File文件类操作使用方法大全
Java中File文件类操作使用方法大全File类概述File类的常用API判断文件类型、获取文件信息创建文件、删除文件功能遍历文件夹File类相关的API的练习题File类概述File类在包java.io.File下、代表操作系统的文件对象(文件、文件夹)。File类提供了诸如:定位文件,获取文件本身的信息、删除文件、创建文件(文件夹)等功能。File类创建对象方法名称说明public File (String pathname)根据文件路径创建文件对象public原创 2022-04-30 13:39:36 · 3975 阅读 · 0 评论 -
组合的json嵌套文件分割或者拆分
json文件中的内容如下:{"AILevel":0,"AdvertisingId":"e06b7ae4-4d16-463f-9ad5-cc2a0f10c337","AllOperations":[{"IsAI":false,"OperateTime":1607485821,"OperateType":0,"PosOrTimes":"e6"},{"IsAI":false,"OperateTime":1607485822,"OperateType":0,"PosOrTimes":""},{"IsAI":fal原创 2020-12-17 10:35:54 · 794 阅读 · 0 评论 -
Java系统中常用日志框架
Java系统中常用日志框架日志技术的概述日志技术体系结构Logback概述Logback快速入门Logback配置详解-输出位置、格式设置Logback配置详解-日志级别设置日志技术的概述日志:生活中的日志: 生活中的日志就好比日记,可以记录你生活的点点滴滴。程序中的日志: 程序中的日志可以用来记录程序运行过程中的信息,并可以进行永久存储。日志技术具备的优势:可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。可以随时以开关的形式控制是否记录日志,无需修改源代码。日原创 2022-04-16 17:37:25 · 622 阅读 · 1 评论 -
Java8的Stream流详解
Java8的Stream流详解Stream流的概述Stream流的获取Stream流的常用APIStream流的综合应用收集Stream流Stream流的概述什么是Stream流?在Java 8中,得益于Lambda所带来的函数式编程, 引入了一个全新的Stream流概念。目的:用于简化集合和数组操作的API。Stream流式思想的核心:1、先得到集合或者数组的Stream流(就是一根传送带)2、把元素放上去3、然后就用这个Stream流简化的API来方便的操作元素。问题1、Stre原创 2022-04-09 22:59:30 · 2066 阅读 · 0 评论 -
Java不可变集合
什么是不可变集合?不可变集合,就是不可被修改的集合。集合的数据项在创建的时候提供,并且在整个生命周期中都不可改变。否则报错。为什么要创建不可变集合?如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践。或者当集合对象被不可信的库调用时,不可变形式是安全的。如何创建不可变阿集合?在List、Set、Map接口中,都存在of方法,可以创建一个不可变的集合。特别注意:这个集合不能添加,不能删除,不能修改,只能进行查找。代码实现:public class CollectionD原创 2022-04-09 22:13:09 · 2218 阅读 · 1 评论 -
Java的Map集合体系详解
Map集合体系详解Map集合的概述Map集合体系特点Map集合常用APIMap集合的遍历方式一:键找值Map集合的遍历方式二:键值对Map集合的遍历方式三:lambda表达式Map集合的实现类HashMapMap集合的实现类LinkedHashMapMap集合的实现类TreeMapMap集合的概述Map集合体系特点Map集合常用APIMap集合的遍历方式一:键找值Map集合的遍历方式二:键值对Map集合的遍历方式三:lambda表达式Map集合的实现类HashMapMap集合的实现类Link原创 2022-04-04 20:29:00 · 1324 阅读 · 0 评论 -
Java的Scanner类中nextLine()方法没有执行就直接跳过解决方法
问题提出:如下图所示,要想在控制台上输入两个int类型的数据和一行字符串,前两个整形可以正常输入,但是到字符串的时候自己还没有输入程序就直接结束了?????结果分析:有实验结果可知,在输出部分明显有两个空行,猜测是不是自己想要输入的字符串自动接收换行符号了’‘\n’。经过网上的查找还真的是这样。其原因是 nextLine() 方法不能放在 nextInt() 代码段的后面。其实,nextLine()并不是跳过你了,而是他已经有内容了,内容就是 \n。因为 nextInt() 接收一个整型字符,不会读取原创 2022-04-02 20:34:28 · 2185 阅读 · 0 评论 -
Collections工具类——操作集合的工具
Collections集合工具类java.utils.Collections:是集合工具类。作用:Collections并不属于集合,是用来操作集合的工具类。Collections常用的API:addAll方法测试:shuffle方法测试:Collections排序相关API使用范围:只能对于List集合的排序。排序方式1:注意:本方式不可以直接对自定义类型的List集合排序,除非自定义类型实现了比较规则Comparable接口。例如:自定义苹果类,按照苹果重量升序排列,这个时候App原创 2022-04-01 10:29:35 · 1064 阅读 · 0 评论 -
Java可变参数
问题提出:假如需要定义一个方法求和,该方法可以灵活的完成如下需求:计算1个数据的和。计算2个数据的和。计算3个数据的和。计算n个数据的和,甚至可以支持不接收参数进行调用。这个时候使用可变参数是最佳的选择~~~,那么什么是可变参数呢?可变参数:可变参数用在形参中可以 接收多个数据。可变参数的格式:数据类型...参数名称(例如 int... array)可变参数的作用: 传输参数非常灵活,方便。可以不传输参数,可以传输1个或者多个,也可以传输一个数组可变参数在方法内部本质上就是原创 2022-04-01 09:55:56 · 666 阅读 · 0 评论 -
Java中的Collection集合以及Collection集合实现类实例
集合概述集合的体系特点Collection集合常用APICollection集合的遍历方式方式一:迭代器方式二:foreach/增强for循环方式三:lambda表达式Collection集合存储自定义类型的对象List系列集合List集合特点、特有APIList集合的遍历方式小结ArrayList集合的底层原理LinkedList集合的底层原理......原创 2022-04-01 09:43:39 · 1714 阅读 · 0 评论 -
Java集合的并发修改异常问题及解决方案
从集合中的一批元素中找出某些数据并删除,如何操作?是否存在问题呢 ?问题引出:当我们从集合中找出某个元素并删除的时候可能出现一种并发修改异常问题, 如下图所示:集合的哪些遍历存在问题?1、迭代器遍历集合且直接用集合删除元素的时候可能出现。2、增强for循环遍历集合且直接用集合删除元素的时候可能出现。集合的哪种遍历且删除元素不出问题1、迭代器遍历集合但是用迭代器自己的删除方法操作可以解决。2、使用for循环遍历并删除元素不会存在这个问题。验证如下:1、迭代器遍历集合且直接用集合删除元素的原创 2022-03-30 14:39:10 · 3255 阅读 · 4 评论 -
java泛型详解
泛型泛型的概述和优势自定义泛型类自定义泛型方法自定义泛型接口泛型通配符、上下限泛型的概述和优势泛型概述泛型:是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。泛型的格式:<数据类型>; 注意:泛型只能支持引用数据类型。集合体系的全部接口和实现类都是支持泛型的使用的。泛型的好处:统一数据类型。把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,因为编译阶段类型就能确定下来。泛型可以在很多地方进行定义:类后面 -->原创 2022-03-28 20:50:10 · 838 阅读 · 0 评论 -
Java包装类、正则表达式、Arrays类、Lambda详解
本篇文章摘要介绍Java包装类、正则表达式、Arrays类以及Lambda表达式原创 2022-03-21 21:45:15 · 771 阅读 · 0 评论 -
Java日期与时间API && JDK8新增日期类
DateDate 类概述:Date类代表当前所在系统的日期时间信息。Date的构造器构造器说明public Date()创建一个Date对象,代表的是系统当前此刻日期的时间Date的常用方法名称说明public long getTime()返回从1970年1月1日 00:00:00走到此刻的总的毫秒数代码实例:时间毫秒值 -> 日期对象构造器说明public Date(long time)把时间毫秒值转换成Da原创 2022-03-19 17:31:15 · 625 阅读 · 0 评论 -
Java常用API详解(Object、Objects、StringBuilder、Math、System、BigDecimal)
常用APIObjectObjectsStringBuilderMathSystemBigDecimal原创 2022-03-18 15:16:28 · 683 阅读 · 2 评论 -
Java多态、内部类
java多态,内部类原创 2022-03-16 21:44:11 · 510 阅读 · 0 评论 -
Java权限修饰符、final、常量、枚举、抽象类、接口
文章目录Java修饰符权限final的关键字常量枚举抽象类抽象类概述抽象类的案例抽象类的特征、注意事项抽象类的应用知识:模板方法模式接口接口概述、特点接口的基本使用:被实现接口与接口的关系:多继承JDK8开始接口新增方法使用接口的注意事项Java修饰符权限什么是权限修饰符?权限修饰符:是用来控制一个成员能够被访问的范围的。可以修饰成员变量,方法,构造器,内部类,不同权限修饰符修饰的成员能够被访问的范围将受到限制。权限修饰符的分类和具体作用范围:权限修饰符:有四种作用范围由小到大(private原创 2022-03-14 20:15:24 · 1351 阅读 · 0 评论 -
Java 继承详解(extends)
继承概述问题1:什么是继承、继承的好处?继承就是java允许我们用extends关键字,让一个类和另一个类建立起一种父子关系。提高代码复用性,减少代码冗余,增强类的功能扩展性。问题2:继承的格式?子类 extends父类问题3:继承后子类的特点?子类 继承父类,子类可以得到父类的属性和行为,子类可以使用。Java中子类更强大代码示例:继承的设计规范、内存运行原理继承的特点继承的特点1、子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。2、Java是单继承模式:原创 2022-03-13 21:44:23 · 24023 阅读 · 2 评论 -
Java static关键字详解
static的作用、修饰成员变量的用法1:static是静态的意思,可以修饰成员变量和成员方法。2:static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改。问题1:成员变量的分类和访问分别是什么样的?静态成员变量(有static修饰,属于类、加载一次,可以被共享访问),访问格式:类名.静态成员变量(推荐)对象.静态成员变量(不推荐)。实例成员变量(无static修饰,属于对象),访问格式:对象.实例成员变量。问题2:两种成员变量各自在什么情况下定义?静态成员原创 2022-03-11 21:14:46 · 925 阅读 · 2 评论 -
利用面向对象的思想设计一个图书管理系统。
效果图:题目描述:/** * 利用面向对象的思想设计一个图书管理系统。图书的属性有:编号,书名,作者,价格。要求提供如下功能: * 1、提供操作菜单,可以选择要进行的操作。 * 2、可以添加图书,添加图书时,编号需要唯一,添加成功,返回到菜单。 -- addBookContent * 3、可以查询图书,显示所有图书信息,然后返回到菜单。 -- showAllBookInformation * 4、可以根据书名,查询单本图书信息,显示信息后,返回到菜单。 -- searchByBookName原创 2022-01-10 18:43:32 · 1642 阅读 · 0 评论 -
ArrayList泛型
原创 2022-01-10 16:57:57 · 429 阅读 · 0 评论 -
String是不可变字符串的原因?
原创 2022-01-08 21:34:05 · 164 阅读 · 0 评论 -
模仿购物车--java实现
public class Goods { // 私有变量 private int id; // 编号 private String name; // 名称 private double price; // 价格、 private int buyNumber; // 购买数量 // 构造器 public Goods(){} public Goods(int id, String name, double price, int buyNumb原创 2022-01-08 17:48:44 · 425 阅读 · 0 评论