
Java基础知识
文章平均质量分 77
Nice2cu_Code
立志成为一个前端、后端、测试全方位发展的程序员
展开
-
反编译.class字节码文件的步骤
介绍三种反编译方式文章目录反编译存在于磁盘中的java文件一、使用javac命令二、使用反编译工具 jd-gui 对字节码文件进行反编译使用阿里开源 Arthas 工具对运行中的类进行反编译一、下载对应的工具二、解压Arthas的jar包三、选择需要反编译的类四、运行结果五、使用jad命令反编译六、成功反编译反编译 CGLIB动态代理 生成的字节码文件一、获取代理类的main方法的第一行输入如下代码进行执行二、发现生成了对应的三个字节码文件三、使用反编译工具 jd-gui 对字节码文件进行反编译反编译存原创 2021-05-17 09:17:33 · 1019 阅读 · 1 评论 -
Java枚举机制
阅读本文章之前,需要了解定义枚举的方式及其简单使用枚举文章目录枚举一、JVM对枚举的处理方式二、Enum类的介绍三、关于枚举的几个问题一、JVM对枚举的处理方式一个简单的枚举类public enum Fruit{ APPLE(67),ORANGE(68),BANANA(69); int code; Fruit(int code){ this.code=code; }}使用 Jad 命令反编译 Fruit.class 文件后,可以得到如原创 2021-05-14 08:37:25 · 322 阅读 · 2 评论 -
Java序列化、反序列化机制
序列化、反序列化文章目录序列化、反序列化一、概念二、如何实现序列化三、Serializable的作用四、serialVersionUID号的作用五、不会被序列化的情况六、序列化的受控和加强七、继承关系序列化问题八、反序列化创建对象的方式一、概念序列化把Java对象转换为与平台无关的二进制流,更便于跨平台存储和网络传播反序列化把二进制流恢复为原先的Java对象二、如何实现序列化将待序列化的类实现Serializable接口public class Student impl原创 2021-05-13 07:57:32 · 350 阅读 · 1 评论 -
处理异常的基本原则
处理异常的基本原则文章目录处理异常的基本原则1. 只有在必要的时候才使用异常2. 自定义异常和标准异常的选择3. 什么情况可以忽略异常1. 只有在必要的时候才使用异常不要让异常掺杂到业务流程中(不要多余的去捕获异常),这会不易发现流程控制中的错误private final String[] courses = {"广告", "优惠券"};//根据参数的序号(从1开始)返回对应的courses数组中的元素public static String course(int index) {原创 2021-04-17 13:10:46 · 829 阅读 · 0 评论 -
阅读异常堆栈信息的正确方式
异常文章目录异常一、Throwable类中的常用方法1. 四个构造方法2. getMessage3. toString4. getStackTrace5. printStackTrace二、异常演示一、Throwable类中的常用方法1. 四个构造方法空参//构造一个将null作为其详细信息的Throwable对象public Throwable() { //清空原来的栈内的trace信息,然后在当前的调用位置处重新建立trace信息 fillInStackTrac原创 2021-04-16 20:06:32 · 1181 阅读 · 0 评论 -
Java中RandomAccess接口的作用
RandomAccess接口的作用RandomAccess(随机访问)当作标记,是一种标记接口,表现为一个空接口判断一个list是否实现了RandomAcess接口,从而选择不同的算法比如Collections的 binarySearch() 方法:public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) { if (li原创 2021-04-15 09:52:10 · 456 阅读 · 0 评论 -
Cloneable接口的作用与深克隆、浅克隆的理解
Cloneable接口的作用与深克隆、浅克隆的理解文章目录Cloneable接口的作用与深克隆、浅克隆的理解一、简介1. 为什么需要克隆2. Cloneable接口的作用3. 如何实现克隆二、浅克隆和深克隆介绍三、代码演示1. 浅克隆2. 深克隆一、简介1. 为什么需要克隆使用new的方式创建一个对象,这个对象是一个全新的对象,对应的属性值都是在堆空间中的默认值,所以还需要手动的给这个对象的所有属性赋予值如果想要一个新的对象保存当前对象的属性值及方法(创建当前对象的副本),就需要通过克隆方法把原创 2021-04-14 21:36:39 · 1205 阅读 · 1 评论 -
Java中native关键字的简单介绍
文章目录native关键字一、native简介二、为什么使用nativenative关键字一、native简介比如Object类中的clone方法就是一个native方法(本地方法) protected native Object clone() throws CloneNotSupportedException;native方法并非由java语言实现,可能是Cnative方法不提供实现体(不代表没有实现体)native方法都是操作系统实现的,java只能调用native可原创 2021-04-13 09:29:27 · 384 阅读 · 0 评论 -
Java定时任务之Quartz
Quartz文章目录Quartz1. Quartz是什么2. HelloWorld程序3. 使用JobDetail3.1 JobDetail介绍3.2 JobDetail属性4. 使用Trigger5. 使用SimpleTrigger6. 使用CronTrigger6.1 CronTrigger介绍6.2 Cron表达式示例6.3 Cron表达式案例7. 使用Scheduler7.1 Scheduler工厂模式7.2 Scheduler主要函数8. quartz.properties配置文件的使用8.1原创 2021-03-14 22:08:06 · 598 阅读 · 0 评论 -
Java定时任务之Timer
Timer文章目录Timer一、任务调度简介二、调度工具简介三、Timer的定义四、Timer的使用步骤五、schedule()的四种用法六、scheduleAtFixedRate()的两种用法七、TimerTask的两个重要函数八、Timer的其他函数九、schedule()与scheduleAtFixedRate()的区别十、Timer的缺陷一、任务调度简介基于给定的时间点、时间间隔、执行次数自动的执行给定的任务二、调度工具简介Java中常用的调度工具分类两类:Timer、QuartzT原创 2021-03-14 22:03:26 · 454 阅读 · 0 评论 -
Java8新特性 Lambda表达式
链接:https://pan.baidu.com/s/1AQHQc10wc6R-e7AhOVo2QA提取码:xk1o复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V3的分享原创 2021-01-24 16:53:01 · 1067 阅读 · 24 评论 -
Java注解的使用
注解文章目录注解1. 概念2. 作用3. 自定义注解(1) 格式(2) 本质(3) 注解中的属性4. 元注解5. 获取注解的属性值1. 概念(1) 注解:用于说明程序,给计算机看的,JDK1.5之后的新特性使用方式:@注解名称(2) 注释:用文字描述程序,给编码人员看的2. 作用(1) 编写文档将代码里标识的注解生成doc文档:① 创建一个类/** * 注解javadoc演示 * @author 周杰伦 表示此类(文档)作者 * @version 1.0 表示此类(文档)的版本原创 2020-10-19 20:40:22 · 385 阅读 · 0 评论 -
单元测试Junit使用详解
Junit单元测试1. 使用步骤(1) 创建测试类:命名建议:① 类名:被测试的类名Test② 包名:xxx.xxx.test(2) 创建测试方法:命名建议:① 方法名:test测试的方法名② 返回值:void③ 参数列表:空参(3) 在测试方法之前(上一行)写@Test(4) 导入Junit依赖环境:方式一:方式二:以上两种方式的最终步骤:2. 判定结果(1) 运行测试方法后控制台提示颜色为绿色表示无误,控制台为红色表示有误(2) 一般使用断言Assert中的静态原创 2020-10-19 20:29:46 · 1058 阅读 · 1 评论 -
Java8新特性 方法引用、构造器引用
后续会更新图中所有涉及的知识点!点赞关注哦~原创 2020-07-29 14:33:37 · 508 阅读 · 0 评论