JavaSE
文章平均质量分 70
javase部分
知足Content+
这个作者很懒,什么都没留下…
展开
-
命令行请求Web服务器curl
curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。curl -d ‘@data.txt’ https://google.com/loginhttps://www.ruanyifeng.com/blog/2011/09/curl.htmlhttps://www.ruanyifeng.com/blog/2019/09/curl-referen原创 2023-01-12 14:03:27 · 1333 阅读 · 0 评论 -
JavaAgent学习笔记
是java命令的参数, 该参数可以指定一个jar包 ,cmd命令格式如下:(javaagent的个数没有限制)java -javaagent: < jar包路径 > [ -javaagent: < jar包路径 > ] -cp < 要运行的jar包路径 > < 运行的类 > [ 该类参数 ] .. .原创 2023-01-12 13:52:24 · 427 阅读 · 0 评论 -
jar包中MANIFEST.MF相关内容
打包jar包的时候 ,有一个文件夹叫 META-INF/MANIFEST.MF 这个文件里保存一些该jar包的信息. 我们javaagent的相关信息也保存在这个文件中.还有一个很重要的问题是里面有一个字段叫Class-Path 可以设置调用的jar包路径, 改路径可以写相对路径 , 也就是相对于该jar包的路径有多个jar包 可以用空格分开 每行内容不能超过70字符MANIFEST.MF文件可以由maven生成 , 需要在pom文件中设置生成的文件内容如下:参数介绍:Premain-C原创 2023-01-12 13:51:12 · 774 阅读 · 0 评论 -
java集合总复习笔记-----包括扩容机制等
Iterator显示所有快捷键 ctrl+jitit 快捷键 迭代器遍历第二次遍历需要重置,也就是再写一遍 iterator=arraylist.iterator();增强forfor(Object a:arraylist){}底层仍然是迭代器(增强for可以理解成简化版的iterator)CollectionList元素可以重复,有序Stack也实现List接口ArrayList可以放多个null用数组实现底层源码解析ArrayList中维护了一个Object类型的数组原创 2021-07-07 21:26:42 · 252 阅读 · 1 评论 -
HashMap代码分析题(有坑)
先写一个Person类import java.util.Objects;public class Person { int id; String name; public Person(int id, String name) { this.id = id; this.name = name; } @Override public boolean equals(Object o) { if (this原创 2021-07-07 16:15:50 · 115 阅读 · 0 评论 -
HashMap的3*2种遍历方式
import java.util.*;public class Map_ { public static void main(String[] args) { HashMap map=new HashMap(); map.put("a","1"); map.put("b","2"); map.put("c","3"); map.put("d","4"); map.put(null,"5"); .原创 2021-07-06 11:59:16 · 103 阅读 · 0 评论 -
HashMap从Put()方法源码分析扩容机制
HashMap从源码分析扩容机制Put方法put(key,value)代码: public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }hash(key)代码: static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.ha原创 2021-07-05 01:24:33 · 93 阅读 · 1 评论 -
java基础加强————Junit单元测试,反射,注解
今日内容1. Junit单元测试2. 反射3. 注解Junit单元测试:* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方原创 2021-01-20 23:09:40 · 93 阅读 · 0 评论 -
【JavaSE】类加载器,反射,模块化
1.类加载器1.1类加载【理解】类加载的描述当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化类的加载就是指将class文件读入内存,并为之创建一个 java.lang.Class 对象任何类被使用时,系统都会为之建立一个 java.lang.Class 对象类的连接验证阶段:用于检验被加载的类是否有正确的内部结原创 2021-01-17 20:24:19 · 90 阅读 · 0 评论 -
【JavaSE】JDK新特性(三)————Stream流
文章目录2.Strem流2.1体验Stream流【理解】2.2Stream流的常见生成方式【应用】2.3Stream流中间操作方法【应用】2.4Stream流终结操作方法【应用】2.5Stream流综合练习【应用】2.6Stream流的收集操作【应用】2.Strem流2.1体验Stream流【理解】案例需求按照下面的要求完成集合的创建和遍历创建一个集合,存储多个字符串元素把集合中所有以"张"开头的元素存储到一个新的集合把"张"开头的集合中的长度为3的元素存储到一个新的集合遍历上一步得到原创 2021-01-16 19:54:37 · 75 阅读 · 0 评论 -
【JavaSE】JDK新特性(二)————接口新特性,函数式接口(Suppier,Comsumer,Predicate,Function)
文章目录1.接口新特性1.1 接口组成更新概述1.2 接口中的默认方法1.3 接口中的静态方法1.4 接口中的私有方法2.方法引用2.1 体验方法引用2.2 方法引用符1.接口新特性1.1 接口组成更新概述接口的组成常量public static final抽象方法public abstract默认方法(java 8)静态方法(java 8)私有方法(java 9)1.2 接口中的默认方法接口中的默认方法格式格式:public default 返回值类型 方法名(参原创 2021-01-15 19:29:24 · 222 阅读 · 0 评论 -
【JavaSE】JDK新特性(一)————Lambda表达式+方法引用
文章目录1.1 函数式编程思想概述1.2 体验Lambda表达式1.3 Lambda表达式的标准格式1.3 Lambda表达式的标准格式1.4 Lambda表达式的练习1.5 Lambda表达式的省略模式1.6 Lambda表达式的注意事项1.7 Lambda表达式和匿名内部类的区别1.1 函数式编程思想概述在数学,函数就是有输入量、输出量的一套计算方案,也就是“拿数据总操作”面向对象思想强调“必须通过对象的形式来做事情”函数式思想尽量忽略面向对象的复杂语法:“强调作甚恶魔,而不是以什么形式去做”原创 2021-01-14 18:19:55 · 163 阅读 · 0 评论 -
【JavaSE】IO流(三)————复制单极多级文件夹,标准输入输出流,对象序列流,Properties集合
文章目录1.IO流案例1.1集合到文件数据排序改进版【应用】1.1.1案例需求1.1.2分析步骤1.1.3代码实现1.2复制单级文件夹【应用】1.2.1案例需求1.2.2分析步骤1.2.3代码实现1.3复制多级文件夹【应用】1.3.1案例需求1.3.2分析步骤1.3.3代码实现1.4复制文件的异常处理【应用】1.4.1基本做法1.4.2JDK7版本改进1.4.3JDK9版本改进2.IO特殊操作流2.1标准输入流【应用】2.2标准输出流【应用】2.3字节打印流【应用】2.4字符打印流【应用】2.5复制Java原创 2021-01-16 13:18:23 · 103 阅读 · 0 评论 -
【JavaSE】IO流(二)————字节缓冲流,字符流,字符缓冲流,集合到文件,文件到集合
文章目录1.字节缓冲流1.1字节缓冲流构造方法【应用】1.2字节流复制视频【应用】2.字符流2.1为什么会出现字符流【理解】2.2编码表【理解】2.3字符串中的编码解码问题【应用】2.4字符流中的编码解码问题【应用】2.5字符流写数据的5种方式【应用】2.6字符流读数据的2种方式【应用】2.7字符流复制Java文件【应用】2.8字符流复制Java文件改进版【应用】2.9字符缓冲流【应用】2.10字符缓冲流复制Java文件【应用】2.11字符缓冲流特有功能【应用】2.12字符缓冲流特有功能复制Java文件【应原创 2021-01-16 11:42:24 · 172 阅读 · 0 评论 -
【JavaSE】线程————多线程,线程同步,Lock锁,卖票案例,生产者消费者案例等
文章目录1.实现多线程1.1 进程1.2 线程1.3 多线程的实现方式一——继承Thread类1.4 设置和获取线程名称1.5 线程调度1.6 线程控制1.7 线程生命周期1.8 多线程的实现方式二——实现Runnable接口案例:卖票2.线程同步2.1 同步代码块2.2 同步方法2.3 线程安全的类2.4 Lock锁3. 生产者消费者3.1 生产者消费者模式概述3.2 生产者消费者案例1.实现多线程1.1 进程进程:是正在运行的程序是系统进行资源分配和调用的独立单位每一个进程都有它自己的内存空原创 2021-01-12 17:09:26 · 481 阅读 · 1 评论 -
【JavaSE】IO流(一)————File类,递归,字节流,字符流,写数据,读数据,编码表
1.File类1.1File类概述和构造方法【应用】File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的File类的构造方法方法名说明File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例File(Strin原创 2021-01-16 11:32:04 · 110 阅读 · 0 评论 -
【JavaSE】TCP通信程序练习(六个)
练习一客户端:发送数据,接受服务器反馈服务器:接收数据,给出反馈//客户端public class Client { public static void main(String[] args) throws IOException { Socket s = new Socket("192.168.0.103",10001); OutputStream os = s.getOutputStream(); os.write("hello,t原创 2021-01-14 15:42:52 · 166 阅读 · 0 评论 -
【JavaSE】网络编程————IP地址,端口,协议,UDP,TCP
文章目录1.网络编程入门1.1 网络编程概述1.2 网络编程的三要素1.3 IP地址1.4 InetAddress类的使用1.5 端口1.6 协议(UDP/TCP)2. UDP通信程序2.1 UDP通信原理2.2 UDP发送数据2.3 UDP接收数据2.4 UDP通信程序练习3. TCP通信程序3.1 TCP通信原理3.2 TCP发送数据3.3 TCP接收数据3.4 TCP通信程序练习1.网络编程入门1.1 网络编程概述计算机网络:是指将地理位置不同的句有独立功能的多态计算机及其外部设备,通过通信原创 2021-01-13 22:10:37 · 234 阅读 · 0 评论 -
【JavaSE】集合(二)————Map集合,HashMap集合,遍历,集合嵌套等
文章目录1. Map集合的概述和使用2. Map集合的基本功能3. Map集合的获取功能4. Map集合的遍历5. 集合嵌套案例:统计字符串中每个字符出现的次数1. Map集合的概述和使用Map集合概述:Interface <K,V> K:键的类型; V:值的类型将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值举例:学生的学号和姓名学号(K)姓名(V)201925463小明201925464小张201925465小美导原创 2021-01-11 12:19:58 · 205 阅读 · 1 评论 -
【JavaSE】集合(一)————Collection接口(List接口[ArrayList类,LinkedList类],Set接口[HashSet类,TreeSet类])
文章目录1.集合类体系结构2. Coolection接口2.1 Collection 集合概述和使用2.2 Collection 集合常用方法2.3 集合的遍历3. List接口3.1 List集合概述和特点3.2 List集合特有常用方法3.3 并发修改异常3.4 ListIterator迭代器3.5 增强for循环3.6 List集合子类特点3.7 ArrayList实现类3.8 LinkedList实现类4.Set接口4.1 Set集合概述和特点4.2 哈希值4.3 HashSet类4.3.1 Has原创 2021-01-09 17:14:34 · 147 阅读 · 1 评论 -
【JavaSE】泛型————泛型类,泛型方法,泛型接口,类型通配符,可变参数
文章目录1. 泛型概述2. 泛型类3. 泛型方法4. 泛型接口5. 类型通配符6. 可变参数7.可变参数的使用1. 泛型概述泛型:是JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数一提到参数,最熟悉的就是定义方法时有形参,然后带哦用此方法时传递实参。那么参数话类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型(看后面的例子就懂啦)这种参数类型可以用在类原创 2021-01-10 22:31:36 · 166 阅读 · 0 评论 -
【JavaSE】异常————异常处理: try...catch... ,throws;自定义异常等
文章目录1.异常概述2.JVM的默认处理方案3.异常处理4. 异常处理之try...catch...5.Throwable的成员方法6.编译时异常的运行时异常的区别7.异常处理之throws8.自定义异常9.throws 和 throw 的区别1.异常概述异常:就是程序出现了不正常的情况异常体系:#mermaid-svg-DPRxoFAMljUiWPbu .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--merma原创 2021-01-10 23:57:30 · 128 阅读 · 0 评论 -
【JavaSE】三个日期类(Date类,SimpleDateFormat类,Calendar类)
Date类导包java.util.Date构造方法:构造器描述Date()分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒。Date(long date)分配 Date对象并初始化它以表示自标准基准时间(称为“纪元”)以来的指定毫秒数,即1970年1月1日00:00:00 GMT。方法:变量和类型方法描述booleanafter(Date when)测试此日期是否在指定日期之后。booleanbef原创 2021-01-06 21:16:27 · 458 阅读 · 0 评论 -
IDEA中实用快捷键大全
会持续更新按键效果输入psvm后按回车快速生成main()方法输入sout后回车快速生成输出语句Ctrl+Alt+space内容提示Ctrl+/单行注释选中需要注释的代码段,Ctrl+Alt+/多行注释Ctrl+Alt+l格式化写完sc.nextline();后紧接着按Ctrl+Alt+V变成 String s= sc.nextline();创建类,编写完全部变量后Alt+insert,选getter and setter自动给原创 2021-01-06 20:44:48 · 802 阅读 · 10 评论 -
Java--Path环境变量配置
1.为什么要配置Path环境变量开发Java程序,需要使用JDK提供的开发工具,二这些工具在JDK的安装目录的bin目录下.为了在开发Java程序的时候,能够方便的使用javac.exe和java.exe这些命令,我们需要配置Path环境变量2.如何配置Path环境变量3.如何检测配置是否成功...原创 2021-01-02 22:42:19 · 494 阅读 · 0 评论 -
JVM,JRE,JDK是啥?有什么关系?该安装哪个?
1.JVM英文:Java Virtual Machine中文:java虚拟机java程序可以在任意操作系统上运行JVM相当于java程序和操作系统之间的翻译每种操作系统有它对应的JVM2.JRE英文:Java Runtime Environment中文: Java运行时环境包含JVM和运行时所需要的核心类库我们想要运行一个已有的Java程序,那么只需要安装JRE即可3.JDK英文: Java Development Kit中文: Java程序开发工具包包含JRE和原创 2021-01-02 22:01:39 · 246 阅读 · 0 评论