
Java API
文章平均质量分 70
Java的API相关
抱羊
new 一个 卷卷
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
国庆七天后的自我救赎:
一、反射: 1、创建对象四种方式: ①直接new ②Object类的clone()返回复制对象 ③反序列化readObject() ④反射的newInstance() 2、反射创建对象: Class cls = Class.forName(完全限定名) ①无参:Object o = cls.newInstance() 或者Constructor c = cls.getConstructor();Object o = c.newInstance() ②有参:Constructor c = cls.getCon原创 2021-10-08 20:48:29 · 223 阅读 · 0 评论 -
2021-09-29 反射习题
编程题 1. 定义封装类Student,类中的成员有: 私有属性:学号,姓名,年龄,性别 无参构造方法,全参数构造方法 定义每个属性的setters和getters方法 重写toString方法和equals方法(根据学号比较对象) 在测试类中利用反射完成以下操作: 1. 用户从控制台输入要加载的类名 2. 实例化该类,要求调用有参构造方法完成实例化对象的同时为属性赋值 3. 获取并遍历类中的所有方法,执行所有的get开头的方法,并将其返回...原创 2021-09-29 20:28:16 · 851 阅读 · 0 评论 -
2021-09-29 XML之解析文档:
一、常用方式: ①DOM ②SAX ③JDOM ④.DOM4J ① DOM(Document Object Model): 文档对象模型,是官方推荐的标准,与平台和语言无关。 会将xml中的文件内容以树的结构一次性加载到内存中,可以对xml中的文档中的内容进行随机访问或修改的操作。但是对于大文档来说解析效率低下,内存成本高。 ② SAX(Simple Api For Xml): 简单应用程序接口 ,以事件为驱动,需要哪些数据再加载和解析哪些内容,解析速度快,占用内存少。 但是不会将内容加载到内存.原创 2021-09-29 19:43:17 · 182 阅读 · 0 评论 -
2021-09-29 Reflect反射机制详解:
一、反射: 反射是一种动态机制,它允许我们程序运行起来后再确定实例化对象,调用方法和操作属性,可以提高代码的灵活性。 但是反射会带来较慢的运行速度和更多的系统开销,所以不能过度的依赖反射机制。 二、类对象: java.lang.Class Class类的每一个实例用于表示JVM加载的一个类,并且每个被JVM加载的类都有且只有一个Class的实例与之对应。 通过类对象可以获取到其表示的类的一切信息:类名、方法、属性、构造器等等。 利用反射操作的第一步就是获取要操作的类的类对象。 1、获取一个类的类原创 2021-09-29 19:37:10 · 281 阅读 · 0 评论 -
2021-09-29 HashMap与HashSet详解:
一、HaspMap底层结构及存取原理 1、容量问题: 如果HashMap初始化的时候没有指定容量,会返回一个空的table数组。 第一次往HashMap中put元素的时候,会使用默认的参数16作为数组的初始化长度; 当HashMap中的元素数量超过 容量*加载因子 时,会进行扩容操作。 容量变为原来的2倍(数学左移一位),HashMap的加载因子默认是0.75; static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16原创 2021-09-29 19:13:24 · 299 阅读 · 0 评论 -
2021-09-28 Socket聊天室模拟服务器讲解:
Socket实现攻略: 一、创建两个类 1、用户使用的,名为:Client ①定义私有成员属性:Socket socket; java.net.Socket:套接字 Socket封装了TCP协议的通讯细节,使得我们使用它可以与服务端建立网络连接,并通过它获取两个流(一个输入流,一个输出流),然后使用这两个流的读写操作完成与服务端的数据交互。 ②定义无参构造函数: 在构造函数中实例化对象,socket = new Socket(参数1,参数2); 实例化Socket时通常需要传入两个参数: 参数1.原创 2021-09-28 20:46:19 · 335 阅读 · 2 评论 -
2021-09-28 Socket聊天室模拟服务器代码:
制作一个在同局域网下能够互相连接并实现群聊的程序: 以下是Client: package FYX_Month02_Week02.day02.No3_Socket; import java.io.*; import java.net.Socket; import java.util.Scanner; /** * 2021.09.28,星期二 * Author: BaoYang * StudyPoint: 客户端聊天室 */ public class Client { /* .原创 2021-09-28 19:20:41 · 237 阅读 · 0 评论 -
2021-09-27 Map练习:授课教师+去重计数
两个编程题: package TXT.CodeTest; import com.sun.org.apache.bcel.internal.generic.ALOAD; import java.util.*; /** * 2021.09.27,星期一 * Author: BaoYang * StudyPoint: */ public class Test { public static void main(String[] args) { method2();原创 2021-09-27 20:31:30 · 1454 阅读 · 0 评论 -
2021-09-27 查找表Map详解:
一、java.util.Map Map在java中是一种非常常用的数据结构。它体现的结构是一个多行两列的表格,其中左侧的称谓key,右侧的称为value。 Map总是成对保存数据,并且总是根据key获得对应的value。因此我们可以将查询的条件作为key,查询对应的结果作为value保存到Map中。 Map有一个要求:key不允许重复(根据key自身的equals方法比较判定) java.util.Map是所有Map的顶级接口,规定了Map的相关功能。 1、常用实现类及区别: java.util原创 2021-09-27 17:59:36 · 550 阅读 · 0 评论 -
2021-09-27 Queue、Deque、栈
一、java.util.Queue Queue继承自Collection,所以队列本身也是一种集合。 队列可以保存一组元素,但是存储元素必须遵循先进先出(FIFO)的原则。 1、常用实现类:java.util.LinkedList 2、常用方法: 1、[boolean] offer(E e):入队操作,元素会被追加到队列末尾 2、[E] poll():出队操作,获取并删除队列中的队首元素 3、[E] peek():引用队首元素,获取后该元素依旧在队中。 二、Deque Deque继承自Q.原创 2021-09-27 17:48:45 · 199 阅读 · 0 评论 -
2021-09-27 Collection的子类List详解
一、java.util.List List继承自Collection,是集合中非常常用的一个子类型。 特点是:可以放重复元素,并且有序,其提供了一套通过下标操作元素的方法。 二、常见的实现类: java.util.ArrayList:内部使用数组实现,查询性能更好。 java.util.LinkedList:内部使用链表实现,增删元素性能更好,首位增删元素性能最佳。 三、List的方法: 1、[E] gex(index) 获取指定下标对应的元素,下标从0开始,到size()-1 如果下标超原创 2021-09-27 17:40:11 · 425 阅读 · 0 评论 -
2021-09-26 两个编程:员工工资和子串
package TXT.CodeTest; import com.sun.org.apache.bcel.internal.generic.ALOAD; import sun.plugin.javascript.navig.Link; import java.util.*; /** * 2021.09.26,星期日 * Author: BaoYang * StudyPoint: */ public class Day0926_1 { public static void main(S.原创 2021-09-26 20:21:32 · 669 阅读 · 0 评论 -
API概念类复习题05:
1、增强for循环和for和迭代器区别: ① for循环:语法:for( 初始条件;循环条件;迭代因子){ 方法体 }:是用来遍历数组的,不能遍历集合。 ② 迭代器:语法:iterator()方法返回一个Iterator的实现类:用来遍历集合,不能直接遍历数组,需要将数组转为集合的形式。 ③增强for循环:语法:for(元素类型 变量名 :集合或数组){ 方法体 }:新循环的语法是编译器认可,而不是java虚拟机,在遍历集合时,编译成.class实质上是迭代器;遍历数组时,编译后是for循环。 .原创 2021-09-26 10:24:02 · 409 阅读 · 0 评论 -
2021-09-26 集合Collection详解:
包含Collection,泛型,NewFor和ForEach原创 2021-09-26 10:02:22 · 257 阅读 · 0 评论 -
2021-09-24 集合汇总图
原创 2021-09-24 15:53:59 · 189 阅读 · 0 评论 -
2021-09-23 线程编程作业*2
1. 采用匿名内部类的方式创建2个线程,一个线程为计时线程,每隔2s输出当前时间的毫秒表示, 另一个线程为前台线程,任务是线程开始,休眠10秒结束,当前台线程结束,计时线程也随之结束。请完成以上案例。 Thread t1 = new Thread(){ @Override //计时线程,不确定循环次数,用死循环。 public void run() { while (true){ .原创 2021-09-23 20:08:47 · 562 阅读 · 0 评论 -
2021-09-23 软件设计之单例模式详解
一、软件设计模式 1、概念 软件设计模式(Design pattern),又称设计模式,是一套被反复使用,多数人知晓,经过分类编目、代码设计经验的总结。 2、作用 使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性和程序的重用性。 java有23种设计模式。 二、单例模式 单例模式(Singleton pattern)是java最简单的设计模式之一,属于创建型模式,它提供了一种创建对象的最佳方式。 单例模式要保证一个类仅有一个实例,并提供一个全局都可以访问的方式。 1、.原创 2021-09-23 20:52:34 · 238 阅读 · 0 评论 -
2021-09-23 API之线程详解(下)
一、线程池: 线程池是一个管理线程的机制,主要解决两个问题:1、控制线程数量;2、重用线程。 1、线程池开启使用 //创建固定大小的线程池(这里容量为2) ExecutorService threadpool = Executors.newFixedThreadPool(3); for (int i = 0; i <7 ; i++) { Runnable r = () -> { try原创 2021-09-23 11:00:34 · 279 阅读 · 0 评论 -
API概念类复习知识点04:
截至:Month2Week1 API概念类复习知识点01:API概念类复习知识点01:_抱住小羊的卷卷-CSDN博客 API概念类复习知识点02:https://blog.csdn.net/zz2097831284/article/details/120314934 API概念类复习知识点03:API概念类复习知识点03:_抱住小羊的卷卷-CSDN博客 API概念类复习知识点04: 1、进程和线程的区别? 进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。 一个进程可以包.原创 2021-09-22 19:14:09 · 381 阅读 · 0 评论 -
2021-09-22 API之线程详解(上)
一、线程的概念: 任务管理器快捷键:Ctrl+Alt+delete 1、进程和线程的区别? 进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。 一个进程可以包含多个线程,而且至少包含一个线程。 ①地址空间:进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间 线程没有独立的地址空间,统一进程内的线程共享本进程的地址空间。 ②资源拥有:进程之间的资源是独立的,同一进程内的线程共享本进程的资源。 ③执行过程:每个独立的进程都有一个程序运行的入口,可以独立执行原创 2021-09-22 19:05:37 · 432 阅读 · 0 评论 -
2021-09-18 编程作业:模拟用户登录
模拟用户登录案例。接收用户输入的账号、密码,封装login方法用于验证登录。 --数据可自模拟 如果账号密码均正确,显示登录成功,否则抛出对应异常,并给出提示信息。 注:需自定义两个异常UserNameNFException(用户名未找到异常)、PwdNFException(密码未找到异常)分别处理用户名的错误和密码的错误 步骤1:先定义一个类,常规地写private属性和getset方法,和无参构造有参构造 //在定义的用户类中: private String username; .原创 2021-09-18 17:54:45 · 1073 阅读 · 0 评论 -
2021-09-18 IO中的Exception详解
一、java异常处理机制: java中所有异常的超类为Throwable,其下有两个子类Error和Exception 1、Error和Exception的区别? Error是系统级错误,是Java运行环境内部错误或者硬件问题,不能指望程序来处理这样的问题,除了退出运行别无选择。它是java虚拟机抛出的,比如虚拟机内存溢出等 。 Exception是程序需要处理的异常,是由于程序设计的不完善而出现的问题,程序必须进行处理,比如空指针,下标越界等。通常我们程序中处理的异常都是Exception。 ..原创 2021-09-18 17:11:39 · 3460 阅读 · 0 评论 -
API概念类复习知识点03:
4.什么是javaBean规范? javaBean规范: 1、javaBean类必须是一个公共类,即访问属性应设置为public 2、必须有一个公共的无参构造 3、javaBean类不应该有公共属性,所有属性都应该是private修饰的 4、为私有属性提供符合命名规范的get和set方法 5、实现Serializable接口 5.什么是输入流?什么是输出流? 根据数据的流向:输入流和输出流 输入流:从外界到程序,用来读取数据。 输出流:从程序到外界,用来写出数据。 6.什么是字节流?什么是字符流? 根据流.原创 2021-09-17 21:06:36 · 280 阅读 · 0 评论 -
2021-09-17 字符流对象流详解
一、java.io.Reader和java.io.Writer 是所有字符流的超类,与字节流的超类平级,也是抽象类,里面规定了所有字符流必须具备的读写字符的方法。字符流最小的读写单位是char字符,但是底层实际读写的还是字节,只是字符与字节之间的转换工作由字符流来完成。 1、转换流: java.io.InputStreamReader和OutputStreamWriter 他们是一对高级流,实际开发中我们在读写字符串而组建流连接时,他们是非常重要的一环,但是我们不会直接操作这两个流。 2、主要作用原创 2021-09-17 21:03:02 · 439 阅读 · 0 评论 -
2021-09-17 OOS,BW,BR三个编程
package TXT.Code; import org.omg.CORBA.PUBLIC_MEMBER; import javax.swing.plaf.synth.SynthOptionPaneUI; import java.io.*; import java.lang.reflect.Array; import java.util.Arrays; import java.util.Scanner; /** * 2021.09.13,星期一 * Author: BaoYang * ...原创 2021-09-17 20:18:17 · 753 阅读 · 0 评论 -
2021-09-16 第三周周测解析 :81
一、单选题(每题 2 分,共 40 分) 1.下列 javaDoc 注释正确的是( C ) A./*我爱北京天安门*/ 多行注释,是注释的一种 B.//我爱北京天安门*/ C./**我爱北京天安门*/ 文本注释,是javaDoc注释 D./*我爱北京天安门**/ 2.计算二进制 1100^1010 的结果是( C) A.1000B.1110 C.0110 D.0000 3.计算~36 的十进制结果是(D) A.36 B.-36 C.37 ...原创 2021-09-16 17:51:02 · 1348 阅读 · 0 评论 -
API概念类复习知识点02:
截至学期:Month1Week4 Month1Week3:API概念类复习知识点01:_抱住小羊的卷卷-CSDN博客一、equals()和==的区别?① ==可以比较基本类型,也可以比较引用类型;equals只能比较引用类型。② ==比较基本类型时比较的是值本身,比较引用类型比较的是地址值; Object类中的equals()方法使用的是“==”,比较的是引用类型的地址值;如果重写以后,按照重写时定义的规则进行比较。 String类重写了equals()方法,可以直接用来比较简单字符串是否相等。二、数组有原创 2021-09-15 19:10:40 · 316 阅读 · 0 评论 -
2021-09-15 IO流FOS FIS BOS BIS详解
一、IO流 Java标准IO流: in输入,out输出 java将IO比喻为“流”,即Stream。就像生活中的“电流”,“水流”一样,它是以同一个方向顺序移动的过程,只不过这里流动的是二进制数据。 我们可以理解它们是连接程序与另一端的“管道”,用于获取和发送数据到另一端。 二、IO流的分类: 1、根据数据的流向:输入流和输出流 输入流:从外界到程序,用来读取数据。 输出流:从程序到外界,用来写出数据。 2、根据流的操作单位:字节流和字符流 字节流:以字节为单位读写数据。 字符流:以字符原创 2021-09-15 17:56:12 · 636 阅读 · 0 评论 -
2021-09-14 编程 复制文件用户名文件变更
/* 1、将当前目录下的所有文件都复制一份,复制的文件命名为:源文件名_cp.后缀 比如:源文件名为test.txt,则复制后的为test_cp.txt */ public static void m11()throws IOException{ String[] names = new File("./src/TXT").list(); for(int i=0; i<names.length; i++) { RandomAccessFile from = n.原创 2021-09-14 19:27:02 · 677 阅读 · 2 评论 -
2021-09-14 IO流RandomAccessFile详解
一、RandomAccseeFile: 专门用来读写文件数据的类,其基于指针对文件进行随机访问,读写灵活操作。 1、常用构造器: ① RandomAccessFile(String path,String mode) ② RandomAccessFile(File file,String mode) 第一个参数是要操作的文件,可以直接给路径,或者指定一个file对象。 第二个参数是操作模式,r --只读模式;rw --读写模式; 2、r和rw模式的区别? 创建RAF时,若指定的文件不存在,则原创 2021-09-14 09:30:36 · 1134 阅读 · 0 评论 -
2021-09-13 进制及运算详解
LeetCode-6.Z 字形变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 请你实现这个将字符串进行指定行数变换的函数: String convert(String s, int nu...原创 2021-09-13 20:15:39 · 1176 阅读 · 0 评论 -
2021-09-12 File四个编程题
编程题 1.程序启动后,要求用户输入一个文件名,如果文件存在则提示,并要求用户更换,直到该文件还不存在为止,然后将这个文件在当前目录中创建出来。 2.获取当前目录中所有后缀为.txt的文件(使用匿名内部类和lambda两种写法) 3.程序启动后要求用户输入一个关键字,然后列出当前项目下所有名字中包含该关键字的子项 提高: 编写程序1+2+3+4+....100,并输出结果 要求:程序中不能出现for,while关键字 * 注:这是一道实际面试题 ...原创 2021-09-12 22:51:56 · 2366 阅读 · 0 评论 -
2021-09-11 File&递归&Lambda表达式
目录 一、java.io.File 1、路径 2、File属性常用方法: 3、File创建常用方法: 4、List;FileFilter 二、递归 三、lambda表达式: 不使用lambda表达式时 使用lambda表达式时 lambda表达式可以简写 一、java.io.File File类的每一个实例用于表示硬盘上的一个文件或目录,使用File可以: 1.访问该文件或目录是属性信息 名字大小,修改时间等 2.创建或删除文件或目录 3.访问一个目录中的所有子项 但是使用File不原创 2021-09-11 17:56:38 · 292 阅读 · 0 评论 -
2021-09-10 Math&Date&Calendar类
一、java.lang.Math java.lang.Math底层封装了很多与数学相关的属性和方法,使用它可以在一定基础上避免程序员自行研发数学方面的代码。 1、Math的两个属性: ①圆周率PI ② 科学计数法E 都是静态常量,可以直接用Math.调用。 2、Math的方法: ① Math.abs() :绝对值 ② Math.max() :最大值 Math.min() :最小值 ③ Math.random() :随机数 ④ Math.ceil() :向上取整 Math.floor(...原创 2021-09-10 19:19:33 · 210 阅读 · 0 评论 -
2021-09-09 了解一点奇怪的知识
最终类,异常,代码运行,jvm的数据区,垃圾回收器GC原创 2021-09-09 20:45:43 · 101 阅读 · 0 评论 -
2021-09-09 第二次周考试题
解析见:https://blog.csdn.net/zz2097831284/article/details/120200588 一、单选题(每题 2 分,共 40 分) 1.给出如下代码: class Test{ private int m; public static void fun() { //some code? } } 如何使成员变量 m 可以被函数 fun()直接访问( ) A.将 private int m 改为 protected int m B.原创 2021-09-09 14:31:22 · 1969 阅读 · 0 评论 -
2021-09-09 第二次周考详解:78
目录 一、单选题(每题 2 分,共 40 分) 二、多选题(每题 3 分,共 15 分) 三、填空题(每题 2 分,共 10 分) 四、简答题(每题 5 分,共 25 分) 五、编程题(每题 5 分,共 10 分) 一、单选题(每题 2 分,共 40 分) 1.给出如下代码: class Test{ private int m; public static void fun() { //some code? } } 如何使成员变量 m 可以被函数 fun(原创 2021-09-09 14:29:18 · 1446 阅读 · 0 评论 -
2021-09-08 API之包装类详解
1、包装类: 包装类在java.lang中作为基础类使用,他们的出现是为了解决基本数据类型不能直接参与面向对象开发的问题,让基本类能够以"对象"的形式存在。 2、基本数据类型以及他们的包装类: 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean原创 2021-09-08 20:51:30 · 255 阅读 · 0 评论 -
2021-09-08 编程练习:正则年龄 解析url路径
1.程序启动后,要求用户输入用户名,用户名出现内容要求如下要求: 3-15位,内容只能是数字,字母,下划线。不匹配则直接提示用户名有误。 如果无误,则要求用户继续输入年龄,数字至少一位以上,不匹配则提示年龄有误。并且验证年龄在1-100岁之间(包含1和100),如果超出范围给出提示。 2.解析url路径 (1)String path = "http://localhost:8088/myweb/reg?name=zhangsan";原创 2021-09-08 19:39:36 · 818 阅读 · 2 评论 -
2021-09-08 正则表达式参考:
正则表达式内容,可参考使用。关于String中的方法参考:https://blog.csdn.net/zz2097831284/article/details/120142400原创 2021-09-08 14:46:55 · 137 阅读 · 0 评论