
Java
文章平均质量分 54
weixin_43802097
这个作者很懒,什么都没留下…
展开
-
拦截器和过滤器的区别
拦截器和过滤器的区别原创 2022-09-27 16:14:35 · 119 阅读 · 1 评论 -
全局自定义异常
自定义异常处理原创 2022-09-26 11:20:21 · 189 阅读 · 0 评论 -
生成二维码 base64传输
java生成二维码 base64传递原创 2022-07-07 17:30:23 · 429 阅读 · 0 评论 -
java常用类
Java类库概述Java8有217个包, 4240个类, 主要是java, javax, org三个包Java类库文档- Java类库文档 - https://docs.oracle.com/javase/8/docs/api/- 官方文档目前以英文为主- 非官方的文档版本有中文(社区自己翻译的)- 可以下载文档离线版本(chm格式)- 这些文档原先是程序中的注释。利用JavaDoc技术, 将这些注释抽取出来, 组织形成的以HTML为表现形式的API(Application Progr原创 2020-09-06 19:14:53 · 170 阅读 · 0 评论 -
package,import,classpath
package和import- 所有的Java类都是放置在同一个目录下面的, 因此类之间的相互调用无需显示声明调用。 - 同一个目录下, 两个类的名字不能相同 - 文件过多, 查找和修改都不易, 且容易出错。- Java支持多个目录放置Java, 并且通过package/import/classpath/jar等机制配合使用, 可以支持跨目录放置和调用Java类。- package包, 和C++中namespace类似- 在Java类文件的第一句话给出包的名称 - package cn.a.b原创 2020-09-06 14:15:27 · 205 阅读 · 0 评论 -
Java常用类结构
Class类Java文件必须以.java作为扩展名(在资源管理器中打开后缀名)一个Java文件只能有一个public classpublic class的名字必须和文件名字一样, 完全一致一个文件可以有多个class, 但是只能有一个是public, 不提倡一个文件里面放多个类(内部类除外)(java编程标准中提倡一个类只有一个class)System.out.print(输出);System.out.println(换行输出);类是Java中的最基础逻辑单位Java所有的内容都是需要放原创 2020-09-03 12:23:57 · 246 阅读 · 0 评论 -
类加载顺序
类加载顺序class A { static{ System.out.println("静态代码块加载"); } { System.out.println("父类匿名代码块加载1"); } public A(){ System.out.println("父类构造方法块加载"); } { System.out.println("父类匿名代码块加载2"); }}class原创 2020-07-26 13:42:47 · 83 阅读 · 0 评论 -
注解和反射
注解注解入门内置注解自定义注解, 元注解什么是注解Annotation 是从JDK5.0开始引入的新技术Annotation的作用:不是程序本身, 可以对程序作出解释.(这一点和注释(comment)没什么区别)可以被其他程序(比如: 编译器等)读取Annotation的格式:注解是以"@注释名"在代码中存在的, 还可以添加一些参数值, 例如: @SuppressWarnings(value=“unchecked”).Annotation在哪里使用?可以附加在pa原创 2020-07-25 19:20:59 · 94 阅读 · 0 评论 -
自定义异常
自定义异常使用Java内置的异常类可以描述在变成时出现的大部分异常情况。除此之外, 用户还可以自定义异常。用户自定义异常类, 只需继承Exception类即可。在程序中使用自定义异常类, 大体可分为以下几个步骤:在创建自定义异常类。在方法中通过throw关键字抛出异常对象。如果当前抛出异常的方法中处理异常, 可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常, 继续进行下一步操作。在出现异常方法的调用者中并捕获并处理异常。pu原创 2020-07-24 17:32:57 · 145 阅读 · 0 评论 -
Error和Exception
什么是异常异常体系结构Java异常处理机制处理异常自定义异常总结什么是异常?实际工作中, 遇到的情况不可能是非常完美的。比如: 你写的某个模块, 用户输入的不一定符合你的要求, 你的程序要打开某个文件, 这个文件可能不存在或者文件格式不对, 你要读取数据库的数据, 数据可能是空的等。我们程序再跑着, 内存或者硬盘可能满了。等等。软件程序在运行过程中, 非常可能遇到刚刚提到的这些异常问题, 我们叫异常, 英文是Exception, 意思是例外。这些, 例外情况, 或者叫异常, 怎么让我们.原创 2020-07-24 17:11:43 · 135 阅读 · 0 评论 -
内部类
内部类就是在一个类的内部在定义一个类, 比如, A类中定义一个B类, 那么B类相对于A类来说就称为内部类, 而A类相对于B类来说就是外部类了。成员内部类静态内部类局部内部类匿名内部类成员内部类&静态内部类class Outer{ private int id = 10; public void out(){ System.out.println("这是外部类的方法"); } // 注: 这个public不能省略 // 注: 内部类可以加上static 修饰,.原创 2020-07-24 15:41:39 · 93 阅读 · 0 评论 -
接口
普通类: 只有具体实现抽象类: 具体实现和规范(抽象方法)都有!接口: 只有规范! 自己无法写方法~专业的约束! 约束和实现分离: 面向接口编程~接口就是规范, 定义的是一组规则, 体现了现实世界中"如果你是…则必须能…"的思想。如果你是天使, 则必须能飞。如果你是汽车, 则必须能跑。接口的本质是契约, 就像我们人间的法律一样。制定好后大家都遵守。OO的精髓, 是对对象的抽象, 最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如C++, java, c#等), .原创 2020-07-24 15:15:12 · 108 阅读 · 0 评论 -
abstract抽象类
abstract// 抽象类 abstract, 类extends, 单根继承, 接口可以多实现public abstract class Action{ // 约束~有人帮我们实现~ // abstract, 抽象方法, 只有方法名字, 没有方法的实现! public abstract void doSomething(); public void test(){ } public Action(){ } public Acton(String a){ } // 1.原创 2020-07-24 14:58:04 · 98 阅读 · 0 评论 -
static块,final, 常量设计,常量池,不可变对象和字符串
static // static pubilc class Student{ private static int age; // 静态的变量 private double score; // 非静态的变量 public void run(){ } public static void go(){ } public static void main(String[] args){ Student s1 = new Student(); S原创 2020-09-05 19:01:36 · 161 阅读 · 0 评论 -
面向对象三大特征
封装该露的露, 该藏的藏我们程序设计要追求"高内聚, 低耦合"。高内聚就是类的内部数据操作细节自己完成, 不允许外部干涉;低耦合: 仅暴露少量的方法给外部使用。封装(数据的隐藏)通常, 应静止直接访问一个对象中数据的实际表示, 而应通过操作来访问, 这称为信息隐藏。住: 属性私有, get/set// 类 private: 私有public class 类名{ private String name;// 名字 private int id;// 学号 priv原创 2020-07-24 00:11:13 · 68 阅读 · 0 评论 -
面向对象常用概念(静态方法与非静态方法, 值传递与引用传递)
面向对象编程Java的核心思想就是OOP初识面向对象方法回顾和加深对象的创建分析面向对象三大特性抽象类和接口内部类及OOP实战面向过程&面向对象面向过程思想步骤清晰简单, 第一步做什么, 第二部做什么…面向过程适合处理一些较为简单的问题面向对象思想物以类聚, 分类的思维模式, 思考问题首先会解决问题需要哪些分类, 然后对这些分类进行单独思考。最后, 才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题, 适合处理需要多人协作的问题!原创 2020-07-23 23:07:03 · 200 阅读 · 0 评论 -
冒泡排序
冒泡排序// 冒泡排序// 1.比较数组中, 两个相邻的元素, 如果第一个数比第二个数大, 我们就交换他们的位置// 2.每一次比较, 都会产生一个最大, 或者最小的数字// 3.下一轮则可以少一次排序!// 4.依次循环, 直到结束!public static void main(String[] args){ // 临时变量 int temp = 0; int[] arrays = {3, 2, 1}; // 外层循环, 判断我们这个要走多少次; for(int i = 0; i原创 2020-07-23 17:01:07 · 79 阅读 · 0 评论 -
数组
数组数组概述数组声明创建数组使用多维数组Arrays类稀疏数组数组的定义数组是相同类型数据的有序结合数组描述的是相同类型的若干个数据, 按照一定的先后次序排序组合而成其中, 每一个数据称作一个数组元素, 每个数组元素可以通过一个下标来访问它们数组声明创建首先必须声明数组变量, 才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar; // 首选的方法或dataType arrayRefVar[]; // 效果相同, 但原创 2020-07-19 14:02:42 · 134 阅读 · 0 评论 -
Java常见概念
何谓方法方法的定义及调用方法重载命令行传参可变参数递归何为方法?System.out.println(), 那么它是什么呢?Java方法是语句的集合, 它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建, 在其他地方被引用设计的方法原则: 方法的本意是功能块, 就是实现某个功能的语句块的集合。我们设计方法的时候, 最好保持方法的原子性, 就是一个方法只完成1个功能, 这样利于我们后期的扩展方法的命名规则: 首字母小.原创 2020-07-18 19:07:36 · 120 阅读 · 0 评论 -
循环结构
循环结构while循环do…while循环for循环在Java5中引入了一种主要用于数组的增强型for循环while循环while是最基本的循环, 它的结构为:while(布尔表达式){ // 循环内容}只要布尔表达式为true, 循环就会一直执行下去我们大多数情况是会让循环停下来的, 我们需要一个让表达式失效的方式来结束循环少部分情况需要循环一直执行, 比如服务器的请求响应监听等循环条件一直为true就会造成无限循环[死循环], 我们正常业务编程中应该原创 2020-06-30 17:42:13 · 3499 阅读 · 0 评论 -
选择结构
选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构if单选择结构我们很多时候需要去判断一个东西是否可行, 然后我们才去执行, 这样一个过程中用if语句来表示语法:if (布尔表达式) { // 如果布尔表达式为true将执行的语句}代码Scanner scanner = new Scanner(System.in);System.out.println("请输入内容: ");String s = scanner.nextLine原创 2020-06-30 15:43:13 · 122 阅读 · 0 评论 -
顺序结构
Java的基本结构就是顺序结构, 除非特别指明, 否则就按照顺序一句一句的执行顺序结构是最简单的算法结构-语句与语句之间, 框与框之间是按从上到下的顺序进行的, 它是若干个一次执行的处理步骤组成的, 它是任何一个算法都离不开的一种基本算法结构...原创 2020-06-29 16:14:00 · 119 阅读 · 0 评论 -
Scanner类进阶
// 我们可以输入多个数字, 并求其总和与平均数, 每输入一个数字用回车确认, 通过输入非数字来结束输入并输出执行结果:Scanner scanner = new Scanner(System.in);// 合double sum = 0;// 计算输入了多少个数字int m = 0;// 通过循环判断是否还有输入, 并在里面对每一次进行求和和统计while (scanner.hasNextDouble()) { double x = scanner.nextDouble(); m =原创 2020-06-29 15:58:54 · 84 阅读 · 0 评论 -
Scanner类
Scanner 对象之前我们学的基本语法中我们并没有实现程序和人的交互, 但是Java给我们提供了这样一个工具类, 我们可以获取用户的输入。java.util.Scanner 是Java5的新特征, 我们可以通过Scanner类获取用户的输入。基本语法Scanner s = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串, 在读取前我们一般需要使用 hasNext() 与 hasNextLine() 判断是否原创 2020-06-29 15:04:00 · 136 阅读 · 0 评论 -
JavaDoc生成文档
常用文档注释参数信息- @author 作者名- @version 版本号- @since 指明需要最早使用的jdk版本- @param 参数名- @return 返回值情况- @throws 异常抛出情况注: 使用命令行生成javadoc文档1. 使用cmd进入对应要生成的文件中2. javadoc -encoding UTF-8 -charset UTF-8 Test.java...原创 2020-06-29 14:40:44 · 97 阅读 · 0 评论 -
Java命名规范
变量的命名规范所有变量、方法、类名: <font color="red">见名知意</font>类成员变量: 首字母小写和驼峰原则: monthSalary 除了第一个单词以外, 后面的单词首字母大写局部变量: 首字母小写和驼峰原则常量: 大写字母和下划线: MAX_VALUE类名: 首字母大写和驼峰原则: Man,GoodMan方法名: 首字母小写和驼峰原则: run(), runRun()...原创 2020-06-29 10:16:39 · 78 阅读 · 0 评论 -
类型转换
类型转换由于Java是强类型语言, 所以要进行有些运算的时候, 需要用到类型转换// 低 --------------------------- 高byte->short->char->int->long->float->double运算中, 不同类型的数据先转化为同一类型, 然后进行运算强制类型转换自动类型转换内存溢出int i = 128;byte b = i;double c = i;// 强制转换 (原创 2020-06-29 09:53:58 · 98 阅读 · 0 评论 -
Java数据类型
数据类型- 强类型语言 - 要求变量的使用要严格符合规定, 所有变量都必须先定义后才能使用- 弱类型语言- Java的数据类型分为两大类 - 基本类型(primitive type) - 引用类型(reference type)字节Byte/** * byte 字节, 1 byte = 8 bits(8位) * 存储有符号的, 以二进制补码表示的整数 * 最小值-128, 最大值127, 默认值0 * byte 类型用在大型数组中可以显著节约空间, 主要代替小整数, 因为b原创 2020-06-28 16:56:32 · 133 阅读 · 0 评论 -
卸载/安装jdk
卸载JDK删除Java的安装目录删除JAVA_HOME删除path下关于java的目录java -version安装JDK去官网上找下载包, 找到下载地址(https://www.oracle.com/java/technologies/javase-downloads.html)同意协议根据电脑类型下载对应的jdk包双击安装JDK记住安装的路径配置环境变量我的电脑 --> 右键 --> 属性环境变量 --> JAVA_HOME配置pat原创 2020-06-28 14:02:04 · 129 阅读 · 0 评论