![](https://img-blog.csdnimg.cn/20200430181949387.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaSE Notes
文章平均质量分 50
笔记
m0rta1
优秀的判断力来自经验,但经验来自于错误的判断。涉及领域: Java后端开发/前端开发/PHP/Python/WEB安全/逆向+PWN/云计算
展开
-
反射的巧妙利用实现HttpClient 模拟 Post请求时表单数据的封装
一、在JDK中,主要由以下来实现Java反射机制,这些类都位于 java.lang.reflect 包中:Class类: 代表一个类Field类: 代表类的成员变量Method类: 代表类的方法Constructor类: 代表类的构造方法Array类:提供了动态创建数组,以及访问数组元素的静态方法二、反射实现表单数据的封装:假设以用户登录为例①:先新建一个用户实体类/** 用户登录表单数据* */public class User { private String lo原创 2021-02-10 16:13:53 · 302 阅读 · 2 评论 -
记一次(IDEA 2020.1)普通Maven项目打包踩坑经历
不要是有maven自带的打包命令打包使用IDEA 自带的 build 打包成 jar包注意项目配置文件路径需要写成 /config.proerties, /cookie.txt记得在 MANIFEST.MF 配置主加载类,否则找不到主清单属性原创 2021-02-09 18:38:24 · 869 阅读 · 1 评论 -
我的 java 入门进阶之路 (十五)(网络编程)
第一章 网络编程入门1.1软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一定的协议下,实现两台计算机的通信的程序。1.2 网络通信协议网络通信协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的原创 2020-09-19 16:26:28 · 484 阅读 · 0 评论 -
我的 java 入门进阶之路 (十四)(缓冲流、转换流、序列化流、打印流)
第一章 缓冲流1.1 概述缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。1.2 字节缓冲流构造方法public BufferedInputStream(原创 2020-09-19 15:35:14 · 335 阅读 · 1 评论 -
我的 java 入门进阶之路 (十三)(字节流、字符流)
第一章 IO概述1.1 什么是IO生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出output ,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读原创 2020-09-19 15:09:01 · 137 阅读 · 0 评论 -
我的 java 入门进阶之路 (十二)(File类,递归)
第一章 File类1.1 概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2 构造方法public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。public File(File parent, String child原创 2020-09-19 14:41:27 · 276 阅读 · 0 评论 -
我的 java 入门进阶之路 (十二) 线程池 与 Lambda表达式
变懒了,7月份学完的,现在来补个博客,复习一下 ????????第一章: 等待唤醒机制上一章已经讲了等待唤醒机制概念,这次来稍微深入的理解一下等待唤醒机制1.1、 线程间通信概念: 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A用来生成包子的包子铺,线程B用来吃包子的顾客,包子可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。为什么要处理线程间通信:多个线程并发执行时, 在默认情况下CPU原创 2020-08-13 15:26:38 · 177 阅读 · 3 评论 -
我的 java 入门进阶之路 (十一) 线程与同步
第一章、线程1.1 多线程原理画个多线程执行时序图来体现一下多线程程序的执行流程。代码如下:自定义线程类:/* 设置线程的名称:(了解) 1.使用Thread类中的方法setName(名字) void setName(String name) 改变线程名称,使之与参数 name 相同。 2.创建一个带参数的构造方法,参数传递线程的名称;调用父类的带参构造方法,把线程名称传递给父类,让父类(Thread)给子线程起一个名字原创 2020-08-03 20:43:34 · 240 阅读 · 0 评论 -
我的 java入门进阶之路 (十) 异常与线程
第一章 、异常1.1 异常概念异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.1.2 异常体系异常机制其原创 2020-08-01 21:04:48 · 149 阅读 · 0 评论 -
IDEA: Debug追踪详细使用方法
使用IDEA的断点调试功能,查看程序的运行过程在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序 点击Debug运行模式程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口4. Debug调试窗口介绍快捷键F8,代码向下执行一行,第九行执行完毕,执行到第10行(第10行还未执行)切换到控制台面板,控制台显示 请录入一个字符串: 并且等待键盘录入快捷键F8,程序继续向后执行,执行键盘录入操作,在控制台录入数原创 2020-07-15 10:53:34 · 4084 阅读 · 0 评论 -
我的 java 入门进阶之路 (九) 集合下
第十章 Map集合1.1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成原创 2020-07-15 10:22:29 · 176 阅读 · 0 评论 -
我的 java 入门进阶之路 (九) 集合中
第五章、 数据结构2.1 数据结构有什么用?当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。现实世界的存储,我们使用的工具和建模。每种数据结构有自己的优点和缺点,想想如果Google的数据用的是数组的存储,我们还能方便地查询到所需要的数据吗?而算法,在这么多的数据中如何做到最快的插入,查找,删除,也是在追求更快。2.2 常见的数据结构栈栈:stack,又称堆原创 2020-07-15 09:49:14 · 266 阅读 · 0 评论 -
我的 java 入门进阶之路 (九) 集合上
第一章 Collection集合1.1 集合概述在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢?集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。1.2 集合框架JAVASE提供了满足各种需求的API,在使用这些AP原创 2020-07-12 07:31:33 · 163 阅读 · 0 评论 -
我的 java入门进阶之路 (八)
一、Object类1.1 概述java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:public class MyClass /*extends Object*/ { // ...}根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。今天我们主要学习其中的2个:public Stri原创 2020-07-08 21:25:28 · 171 阅读 · 0 评论 -
我的 java 入门进阶之路 (七)
一、final关键字1.1 概述:学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了 final 关键字,用于修饰不可改变内容。final : 不可改变。可以用于修饰类、方法和变量。类:被修饰的类,不能被继承。方法:被修饰的方法,不能被重写。变量:被修饰的变量,不能被重新赋值。1.2 使用方式:修饰类:格式如下:final class原创 2020-07-06 15:49:58 · 296 阅读 · 0 评论 -
我的 Java 入门进阶之路 (六)
文章目录一、接口:二、多态三、 接口多态的综合案例:一、接口:1.1、概述:接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK7及以前),默认方法和静态方法(JDK8),私有方法(JDK9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成 .class文件,但一定要明确它并不是类,而是另外一种引用数据类型。引用数据类型:数组,类,接口。接口的使用,原创 2020-07-03 23:24:00 · 553 阅读 · 0 评论 -
浅谈 extends和implements区别
extends和implements区别extends与implements的不同1、在类的声明中,通过关键字 extends 来创建一个类的子类。一个类通过关键字 implements 声明自己使用一个或者多个接口。extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法;implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用2、extends 是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承Jav转载 2020-07-01 22:21:49 · 1115 阅读 · 0 评论 -
我的 Java 入门进阶之路 (五)
一、 继承:1.1、 概述:由来:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那一个类即可。如图所示:其中,多个类可以称为子类,单独那一个类称为父类、超类(superclass)或者基类。继承描述的是事物之间的所属关系,这种关系是:is-a (就是继承关系)的关系。例如,图中鹿属于食草动物,食草动物属于动物。可见,父类更通用,子类更具体。我们通过继承,可以使多种事物之间形成一种关系体系。定义:继承:就是子类继承父类的属性和行为原创 2020-06-30 23:42:09 · 318 阅读 · 0 评论 -
我的 Java 入门进阶之路 (四)常用API(中)
五、String类:5.1、String类概述:概述:java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc")都可以被看作是实现此类的实例。类 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。特点:字符串不变:字符串的值在创建后不能被更改。因为String对象是不可变的,所以它们可以被共享。"abc" 等效于char[ ] data原创 2020-06-28 20:19:50 · 656 阅读 · 5 评论 -
我的 Java 入门进阶之路 (三)常用API(上)
一、 API1.1、概述:API(ApplicationProgrammingInterface),应用程序编程接口。JavaAPI是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。1.2、API使用步骤:1.打开帮助文档。2.点击显示,找到索引,看到输入框。3.你要找谁?在输入框里输入,然后回车。4.看原创 2020-06-26 19:31:56 · 868 阅读 · 4 评论 -
我的 Java 入门进阶之路 (二)
一、面对对象思想1.1 面对对象思想概述Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。1.2 与面对过程思想的区别:举例一:原创 2020-06-24 21:54:48 · 2849 阅读 · 13 评论 -
我的 Java 入门进阶之路(一)
1. JDK&JRE&JVM关系示意图:2. 基础数据类型基本数据类型整数型 byte short int long浮点型 float double字符型 char布尔型 boolean引用数据类型字符串、数组、类、接口、Lambda注意事项:字符串不是基本类型,而是引用类型。浮点型可能只是一个近似值,并非精确的值。数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。浮点数当中默认类型是dou原创 2020-06-22 09:28:08 · 813 阅读 · 0 评论 -
IntelliJ IDEA2020.1:无法在package下新建 java class
问题如下所示:刚开始看来半天没找到问题出在哪,我查了java的代码规范化守则,最后发现是自己package文件夹的命名有问题,我的命名中含有 - ,是不合法的命名,所以无法新建Class,我把 - 删除后,就能够新建Class类了具体java文件名规范请跳转:https://blog.csdn.net/haduwi/article/details/106879473...原创 2020-06-20 23:40:58 · 2322 阅读 · 0 评论 -
Java :各种文件的命名规范化基础
JAVA源文件的命名:JAVA源文件名必须和源文件中所定义的类的类名相同。Package的命名:Package名的第一部分应是小写ASCII字符,并且是顶级域名之一,通常是com、edu、gov、mil、net、org或由ISO标准3166、1981定义的国家唯一标志码。Package名的后续部分由各组织内部命名规则决定,最好以 . 来隔开 内部命名规则指定了各组件的目录名,所属部门名、项目名等。Class/Interface的命名:Class名应是首字母大写的名词。命名时应该使其简洁而又..转载 2020-06-20 23:40:20 · 1117 阅读 · 0 评论