![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
呼呼哈哈嘿嘿
刚毕业小白一枚。
展开
-
谷粒商城集群篇爬坑笔记--Gitee拉取项目报错、项目target文件不存在(部分项目不全)、SonarQube报错
Gitee拉取项目报错问题描述Gitee拉取可能会报错:ERROR: Error cloning remote repo 'origin'hudson.plugins.git.GitException: Command "git fetch --tags --progress https://gitee.com/iamlqw/gulimall.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:stdout: std原创 2021-06-07 22:37:40 · 750 阅读 · 0 评论 -
谷粒商城高级篇爬坑笔记--错误异常信息乱码问题
由于高级篇开发相对较多,配置的内容较少,本人编写过程中没有遇到特别大的问题,唯一的问题就是消息乱码:项目定义了如下的异常类: UNKNOW_EXCEPTION(10000,"系统未知异常"), VAILD_EXCEPTION(10001,"参数格式校验失败"), TOO_MANY_REQUEST(10002,"请求流量过大"), SMS_CODE_EXCEPTION(10002,"验证码获取频率太高。稍后再试"), PRODUCT_UP_EXCEPTION(1100原创 2021-06-07 22:14:52 · 455 阅读 · 0 评论 -
Java打包后读文件和写文件操作方法
javaIO操作在打包后经常会报出文件找不到的错误:java.io.FileNotFoundException: D:\package\bbb\history.xml (系统找不到指定的文件。)那是因为Java程序打包后的程序目录结构会发生一定的变化,这会对文件读写操作产生直接影响,所以如果需要将一段程序打成jar包那就不能用简单的绝对或者相对路径进行文件操作。解决方法:需求只需要读文件 filePath = FilesUtils.class.getClassLoader().getResour原创 2021-02-06 15:52:56 · 1162 阅读 · 1 评论 -
菜鸟学习笔记:Java提升篇11(Java动态性1——注解与反射)
Java提升篇11(Java其它高级特性——注解与反射)注解(Annotation)JDK内置注解自定义注解元注解(meta-annotation)反射(reflection)动态语言反射机制的概念注解(Annotation)注解时JDK5.0引入的新技术,它不是程序本身,却可以对程序做出解释。编辑器可以对其进行读取。注解可以附加在package、class、method和field上面,给它们添加相应的辅助消息,比如我们之前常用的**@Override**。注意注释不是注解,注释是没有任何意义的,换句原创 2020-12-27 23:09:32 · 211 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇10(网络2——UDP编程、TCPSocket通信、聊天室案例)
菜鸟学习笔记:Java提升篇10(网络2——UDP编程、TCPSocket通信)UDP编程TCP编程(Socket通信)单个客户端的连接多个客户端的连接UDP编程在上一篇中讲解了UDP协议是非面向连接的不安全但效率较高的通信协议。在了解完概念之后我们用Java来实现UDP编程。Java中通过DatagramSocket和DatagramPacket来实现UDP通信,通信过程一般分为以下几步:发送端(客户端):创建客户端DatagramSocket类+端口准备数据打包DatagramPacke原创 2020-12-26 11:40:21 · 272 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇9(网络1——网络基础、Java网络编程)
菜鸟学习笔记:Java提升篇9(网络编程1——)网络概念什么是计算机网络OS七层模型Java网络编程InetAddress InetSocketAddress网络概念什么是计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的网络系统,从而使众多计算机可以方便地相互传递信息,共享硬件、软件、数据信息等资源。概括来说就是将不同区域的计算机连接到一起。它分为局域网、城域网、互联网计算机网络的功能资源共享信息传输与集中处理均衡负荷与分布处理综合信息服务什么是原创 2020-12-24 21:39:16 · 284 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇8(线程2——线程的基本信息、线程安全、死锁、生产者消费者模式、任务调度)
这里写自定义目录标题线程的基本信息线程同步线程安全线程的基本信息Java中为我们提供了许多方法可以用来获取线程的信息:isAlive()判断线程是否还活着,即线程是否还未终止。getPriority获得线程的优先级数值setPriority设置线程的优先级数值setName设置线程的名称getName获取线程的名称currentThread获取当前正在运行的线程对这些方法的演示如下:public class MyThread implements Runnable { privat原创 2020-12-22 23:44:41 · 153 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇7(线程1——进程、程序、线程的区别,Java多线程实现,线程的状态)
菜鸟学习笔记:Java提升篇7(线程2——数据类型处理流、打印流、随机流)进程、程序、线程的区别进程与程序的区别进程与线程的区别进程、程序、线程的区别进程与程序的区别进行和程序的区别我们可以用一个例子来形容:计算机要实现一个功能好比你买一一个东西要使用,首先计算机并不直到如何实现这个功能,就好比你不会用你买的东西,这时候你就需要一本说明书告诉你这个东西怎么用,同样的道理程序编译得到的机器码就是写给计算机如何实现这一功能的说明书。有了说明书之后你就会根据说明书中所说的内容进行操作,同理计算机也会根据机器原创 2020-12-21 21:43:41 · 166 阅读 · 2 评论 -
菜鸟学习笔记:Java提升篇6(IO流2——数据类型处理流、打印流、随机流)
菜鸟学习笔记:Java IO流2——其他流字节数组输入输出流数据类型处理流基本数据类型引用类型打印流上一节讲解的是我们工作中常用的流,需要大家重点掌握,除此之外Java中还有一些流需要大家了解。字节数组输入输出流ByteArrayInputStream和ByteArrayOutputStream是字节数组的输入输出流,操作与正常输入输出流一致,只是接收的是一个字节数组,我们直接看代码: public static void main(String[] args) throws IOException原创 2020-12-20 14:37:00 · 167 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇5(IO流1——IO流的概念、字节流、字符流、缓冲流、转换流)
菜鸟学习笔记:Java OI流1——Collections工具类、其他容器IO流的原理及概念字节流InputStreamOutputStreamIO流的原理及概念在基础篇的讲解中大家已经了解了File对象以及它的一些方法(复习链接)。但是File的主要作用仅仅是建立文件和程序的联系,File对象的方法只能用于文件和目录的创建、文件的查找和文件的删除等功能,但无法对文件的内容做具体的操作。所以引入了现在所要讲的IO流知识点。在Java程序中,对数据的输入输出操作以“流”的方式进行:如果大家觉得不好理原创 2020-12-16 23:16:39 · 234 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇4(容器4——Collections工具类、其他容器)
菜鸟学习笔记:Java容器下篇泛型、排序Collections工具类容器其他知识点队列QueueEnumeration接口HashtablePropertiesMap接口其他容器引用分类枚举类WeakHashMapIdentityHashMapEnumMapCollections工具类Java对我们平时常用操作进行了封装,构成了java.util.Collections工具类,我们对其中的几个常用方法进行讲解。**binarySearch(List<? extends Comparable&l原创 2020-12-14 22:21:15 · 193 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇3(容器3——泛型、排序)
菜鸟学习笔记:Java泛型泛型的引入泛型类:泛型接口:泛型方法:泛型继承泛型的引入编成中我们往往会遇到这种情况,在接收参数时无法明确入参的类型,比如我们要接收一个学生的成绩,那么它可能是整数、也可能是小数,还有可能是字符串,早期的Java通常将不能确定的入参定义为Object类型来接收各种类型的参数。在获取时进行强制类型转换。但是这样会带来一个问题,把对象扔进集合中,集合是不知道元素的类型是什么的,仅仅知道是Object。因此在get()的时候,返回的是Object。外边获取该对象,还需要强制转换,如果原创 2020-12-13 11:17:09 · 224 阅读 · 4 评论 -
菜鸟学习笔记:Java提升篇2(容器2——Map、Set、迭代器)
菜鸟学习笔记:Java容器上篇Map容器Map容器Hash表初始化实现Map容器与List容器不同,Map容器中存放的并不是一个有序数列,它是以键值对的方式对数据进行存储,在容器中用一个不重复的键来存储一个固定的值。public static void main(String[] args) { // 定义一个Map的容器对象 Map map1 = new HashMap(); map1.put("jack", 20); map1.put("rose", 18); map1.put原创 2020-12-08 22:45:07 · 150 阅读 · 0 评论 -
菜鸟学习笔记:Java提升篇1(容器1——List)
菜鸟学习笔记:Java其他常用类容器基本概念List容器ArrayList哈喽大家好我又回来了,快一月不见大家练习的如何,学习有没有偷懒那(─‿‿─)。哈哈,从今天开始大家继续一起努力吧,相信学完基础篇的内容大家都应该可以用Java来做一些简单的小东西了,但Java这门语言可以长居语言榜单第一名肯定不只有这些功能,所以这一篇开始我们要探讨一些Java的中级特性,让大家对Java有更深的理解。可能接下来的内容可能难度要提升一些,毕竟基础篇的内容大家在大学有C语言的基础接受起来相对容易些,后面的内容涉及的范围原创 2020-12-06 23:02:05 · 142 阅读 · 0 评论 -
菜鸟学习笔记:Java基础篇7(包装类、时间相关类、文件类、异常处理类)
菜鸟学习笔记:Java常用类——数组基本数据类型包装类时间处理相关类Date时间类SimpleDateFormatCalendar日历类基本数据类型包装类通过之前的学习我们知道Java中有基本数据类型和引用数据类型,分别对其也进行了讲解,然而在实际使用中有时候需要将基本数据类型转化为对象,以便操作,举例说明:我们对于一个方法,无论输入什么数据类型都可以打印出来,可以这样写:public class test1 { public static void Print(Object obj) {原创 2020-11-06 00:34:07 · 221 阅读 · 6 评论 -
菜鸟学习笔记:Java基础篇6(数组、字符串)
菜鸟学习笔记:Java常用类——数组数组概述数组的定义:数组运用——字符串(String)数组概述只要对多少接触过一点C语言同学来说数组肯定不陌生。Java中的数组和C语言差不多,所以这里不做太多引入直接上概念:数组是相同类型数据的有序集合。它有三个特点:数组长度确定,一但创建它的大小不可改变。其元素必须是相同类型。数组中的元素可以是基本类型也可以是引用类型。数组的定义:int[] a = new int[2];//定义长度为2的数组,也可以写成int a[] = new int[原创 2020-11-01 23:37:42 · 551 阅读 · 0 评论 -
菜鸟学习笔记:Java基础篇5(抽象类与接口、回调函数、内部类)
菜鸟学习笔记:Java面向对象篇3抽象类接口回调函数抽象类通过前面知识的学习,抽象类这个概念应该不难理解,但比较容易和后面要说的接口混淆,而且在面试中也比较爱问这两者的区别,所以希望大家可以通过对比来学习。抽象类可以理解为它子类一个模板,所有继承了抽象类的子类都必须遵守抽象类的规定,子类可以在这个模板上进行扩展。通过抽象类可以避免子类的随意性。还是之前Animal的例子,我们把Animal定义成一个抽象类://在访问控制符后加上abstract代表为抽象类或方法public abstract c原创 2020-10-29 23:35:02 · 396 阅读 · 2 评论 -
菜鸟学习笔记:Java基础篇4(面向对象三大特征)
菜鸟学习笔记:Java面向对象篇2继承继承继续上一篇的例子:#mermaid-svg-HVA9FDHaM5gZ3Di0 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-HVA9FDHaM5gZ3Di0 .label text{fill:#333}#mermaid-svg-HVA9FDHaM5gZ3Di0 .原创 2020-10-27 23:22:02 · 338 阅读 · 0 评论 -
Java中equals()方法和==的区别分析
Java中equals方法和==的区别分析equals(Object obj)方法,将对象与传入的obj进行比较,相等返回true,否则返回false。equals方法和“==”的区别面试中的常见问题,网上有海量稀奇古怪的解释,个人认为直接了解它需要知道它的源码,首先是Object类的equals方法:public boolean equals(Object obj){ return (this == obj);}看完源码,发现Object层面上好像两者就是一个东西,但大家不要忘了子类是可以原创 2020-10-25 23:16:46 · 269 阅读 · 0 评论 -
菜鸟学习笔记:Java基础篇3(面向对象思想、程序执行过程内存分析、面向对象重要概念)
菜鸟学习笔记:Java基础篇3面向对象的思想对象和类的概念面向对象的思想在之前的教程中往往都会反复强调什么c语言是面向过程的语言啦,Java是面向对象的语言啦,什么面向对象和面向过程有很大区别了。。。。。。感觉总是把人给绕的一头雾水,其实从程序执行流程(这里是程序执行,不包括类加载之类的JVM内部操作)的角度来说Java和C没啥区别,同样是从main函数开始从上往下一行一行依次执行,区别在于Java可以将一部分属性和方法绑定在一起,从而组成一个对象,在主程序中直接对对象进行操作,(专业概念一类方式组织代原创 2020-10-24 00:02:29 · 356 阅读 · 0 评论 -
Java类加载过程内存分析
Java类加载过程内存分析Java类加载过程编译类的加载类加载器运行时数据区执行引擎Java类加载过程具体过程如下:编译首先Java源代码会被编译器编译成class文件以供计算机执行(详细过程可参考编译原理)。java编译一个类时,若这个类所依赖的类还没有被编译,编译器会自动的先编译这个所依赖的类,然后引用。类的加载类的加载过程为:加载 --> 链接(验证 --> 准备 --> 解析) --> 初始化加载过程的任务主要是根据类的权限和路径名查找并导入我们的class文原创 2020-10-20 23:34:31 · 593 阅读 · 0 评论 -
菜鸟学习笔记:Java基础篇2(变量、运算符、流程控制语句、方法)
菜鸟学习笔记:Java基础篇2变量基本概念变量作用域final关键字运算符算术运算符比较运算符逻辑运算符位运算符赋值运算符变量基本概念学过C语言的同学对变量这个概念应该不陌生,它是程序中最基本的存储单元,其要素包括变量名、变量值和作用域。int a, b, c; // 声明三个int型整数:a、 b、cint d = 3, e = 4, f = 5; // 声明三个整数并赋予初值String s = "apple"; // 声明并初始化字符串 sdouble pi = 3.1原创 2020-10-16 23:51:47 · 451 阅读 · 0 评论 -
菜鸟学习笔记:Java基础篇1(走进Java、数据类型与转换)
菜鸟学习笔记:Java基础篇1(基础语法、面向对象)写在前面关于学习资源关于学习方法1.Java的发展史功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入写在前面第一次发博客心里还是有点小紧张啊,哈哈,先自我介绍一下,刚毕业小白一原创 2020-10-13 23:50:22 · 565 阅读 · 0 评论