Java
文章平均质量分 80
pikachues
这个作者很懒,什么都没留下…
展开
-
Java中的枚举你真的了解嘛?
1.什么是枚举类?Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。Java 枚举类使用enum 关键字来定义,各个常量使用逗号 ,来分割。比如定义一个颜色枚举:public enum ColorEnum { GREEN,READ,BLUE; public static void main(String[] args) { ColorEnum colorEnum = ColorEnu原创 2021-12-23 09:36:33 · 542 阅读 · 0 评论 -
Java中的反射与代理
反射1.什么是反射Java反射是程序运行过程中,对于任何一个类或对象,都可以动态获取其信息和调用其方法。2.使用2.1. ClassClass类是反射的根源,你想要进行相关反射操作都要从获取Class开始。Class本身也是一个类Class对象只能由系统建立对象一个加载的类在JVM中只会有一个Class实例一个Class对象对应的是一个加载到JVM中的.class文件通过Class可以完整地得到一个类中的所有被加载的结构获取反射Class的几种方法 public void原创 2021-12-15 18:38:41 · 800 阅读 · 0 评论 -
一文读懂Java深拷贝浅拷贝引用拷贝
1.什么是拷贝?拷贝即对已有的数据创建一个副本。Java中,拷贝可分为引用拷贝、浅拷贝、深拷贝。2.引用拷贝引用拷贝即直接赋值。举例如下: User user1 = new User(1, new Address("湖南",404100)); User user2 = user1;堆栈图如下:3.浅拷贝浅拷贝对于引用对象里面的基本类型的数据直接拷贝,对于引用对象里面的引用类型数据不进行拷贝。在Java里面实现浅拷贝只要实现Cloneable接口,重写clone方法即可,但原创 2021-12-15 18:33:23 · 740 阅读 · 0 评论 -
Java中的序列化
1.什么是序列化?将数据对象转换为二进制流的过程称为序列化(Serialization),反之将二进制流恢复为数据对象的过程称为反序列化(DEserialization)。内存中的数据对象只有转换为二进制流才可以进行数据持久化和网络传输。序列化需要保留充分的信息以恢复数据对象,但是为了节约存储空间和网络宽带,序列化后的二进制流又要尽可能小。序列化常见的使用场景是RPC框架的数据传输。常见的序列化有以下三种:Java序列化:不支持跨语言,兼容性较差Hessian序列化:支持跨语言Json序列原创 2021-12-15 18:30:55 · 447 阅读 · 0 评论 -
Java中的注解与反射
1.什么是注解?注解(Annotation)其实就是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,我们开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。从JDK5.0开始增加了对元数据(MetaData)的支持,也就是注解。注解可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被保存到注解的"name=value"对中。2.JDK中的元注解JDK中的元注解用于其他注解的定义。原创 2021-12-15 18:27:19 · 427 阅读 · 0 评论 -
一文剖析Java匿名内部类
1.问题引入在我们学习多线程的时候可能会碰到以下三种获取线程的写法:public class MyRunnable implements Runnable { @Override public void run() { System.out.println("run."); } public static void main(String[] args) { MyRunnable instance = new MyRunnable();原创 2021-11-18 12:14:37 · 128 阅读 · 0 评论 -
一文读懂Java远程debug(Remote JVM Debug)
1.什么是远程debug?远程debug即对远程部署的内容进行debug,例如我们部署的项目在线上出现问题了,而我们又不知道具体是哪里出现问题,我们就可以使用远程debug进行排查问题。2.怎么实现远程debugJava要实现远程debug其实很简单,只要我们在启动Java程序之前用相关参数对JPDA(Java Platform Debugger Architecture)做相应的配置即可。对于Java程序目前主要有两种部署形式:Tomcat部署,SpringBoot项目打包jar部署,下面以这两种方原创 2021-10-23 16:42:51 · 13185 阅读 · 0 评论 -
Java 8使用总结
lambda表达式Runnable r2 = () -> System.out.println("hello");箭头左侧,指定了lambda表达式的参数箭头右侧,lambda体,即要执行的功能1.无参无返回值 Runnable r1 = new Runnable() { @Override public void run() { Sy...原创 2020-06-08 20:36:58 · 714 阅读 · 0 评论 -
java基础回顾--枚举类和注解
枚举类当我们需要定义一组常量时我们常常用枚举类。用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum ColorEnum { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1....原创 2020-06-08 20:35:17 · 212 阅读 · 1 评论 -
位运算你真的懂了吗?
1.前言在任何一门编程语言基础中都不可避免使用运算符。运算符都有赋值运算符、比较运算符、逻辑运算符、位运算符。对于前面三种运算符每一个编程学习者应该都有学过,但是对于第四种可能就不是每个人都学过,我也一样,在起初学习的过程中并不是那么了解位运算符。所以这篇文章我将好好的梳理位运算符的使用。2.知识准备由于位运算符操作的都是二进制位(0101010),所以在看下面的内容之前建议看看这篇原码、补码、反码详解,进一步了解二进制位操作。3.位运算符详解位运算符有如下图几种:1.按位取反运算符 ~~是原创 2020-06-05 17:36:09 · 497 阅读 · 0 评论 -
DecimalFormat的基本使用
简介DecimalFormat是我们java中的一个工具类,DecimalFormat我们可能不经常使用,但是说起SimpleDateFormat你肯定知道,SimpleDateFormat是用来格式化时间,而DecimalFormat是用来格式化十进制数字。DecimalFormat 包含一个模式 和一组符号。符号如下图基本使用double pi = 3.1415927;//圆周率/...原创 2020-05-05 22:40:13 · 285 阅读 · 0 评论 -
java基础回顾--IO流
1.File类的使用java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对 象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File对象可以...原创 2020-02-24 15:24:23 · 146 阅读 · 0 评论 -
java基础回顾--Arrays与Collections工具常见用法
Collections 常见用法Collections 工具类常用方法:1.排序2.查找,替换操作void reverse(List list)//反转 void shuffle(List list)//随机排序void shuffle(List list)//随机排序void sort(List list)//按自然排序的升序排序void sort(List list, Comp...原创 2020-02-22 22:29:47 · 135 阅读 · 0 评论 -
java基础回顾--异常
1.java异常结构Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Error:该类异常由 Java 虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。Exception:在Exception分支中有一个重要的子类Runt...原创 2020-02-22 16:14:55 · 123 阅读 · 0 评论 -
java基础回顾--集合
1.结构图2.简单实用Set集合 Set<String> set = new HashSet<>(); set.add("a"); set.add("b"); set.add("c"); set.add("a"); //第一种遍历方式 for (String s ...原创 2020-02-21 22:02:59 · 127 阅读 · 0 评论 -
java基础回顾--final,static,this,super 关键字总结
final关键字final关键字主要用在三个地方:变量、方法、类。对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。使用final方法的原因有两个。第一个原因是把方法锁定,以...原创 2020-02-21 12:45:51 · 142 阅读 · 0 评论 -
Java基础回顾-基本理论
1.面向过程与面向对象1.理解面向过程:把要解决的问题分解成一个个所需的步骤,然后一步步实现。面向对象:面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。通俗理解:用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭,北京叫盖饭,东北叫烩饭,广东叫碟头饭,就是在一碗白米饭上面...原创 2019-10-10 22:55:44 · 154 阅读 · 0 评论 -
java小程序之计算器
import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.aw...原创 2018-06-08 15:46:38 · 10235 阅读 · 1 评论 -
java小程序之简单记事本
import java.awt.FileDialog;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedRea...原创 2018-06-08 16:50:30 · 962 阅读 · 1 评论 -
java邮件之简单邮件
邮箱有很多种这里以qq邮箱为例所需jar包:https://download.csdn.net/download/qq_41262903/10895811import javax.mail.NoSuchProviderException;import javax.mail.Session;import javax.mail.Transport;import javax.mail...原创 2019-01-04 15:25:15 · 528 阅读 · 0 评论 -
java邮件之复杂邮件
邮箱很多种这里以QQ邮箱为例所需jar包:https://download.csdn.net/download/qq_41262903/10895811import java.util.Date;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.File...原创 2019-01-04 16:01:08 · 572 阅读 · 0 评论 -
org.springframework.web.multipart.MultipartException: The current request is not a multipart reques
今天做图片上传的碰到这个问题,查找原因是html请求的方式问题。from中涉及到图片上传的就要用post提交方式。否则就会报这个错误。如果已经是post的提交方式了还有这个错。。。还有两种解决方法。第一种:在jsp页面的<head></head>标签里面加上<meta http-equiv="Content-Type" content="multipart/...原创 2019-03-13 22:15:41 · 3505 阅读 · 0 评论 -
pagehelper 分页不生效,总页数总是1解决方案
今天下午做了个分页,使用了分页mybatis的分页插件pagehelper,但是在分页的过程中遇到了一个大坑,也就是分页总页数总是1。下面是代码: List<Doctor> doctorList = backendDoctorService.findAllDoctor1(); PageHelper.startPage(1,10)...原创 2019-03-14 16:59:01 · 10306 阅读 · 2 评论 -
FormData上传文件同时附带其他参数
前端js代码: function fileSubmit() { var formData = new FormData(); formData.append("file",$("#FileUpload")[0].files[0]); var type = $('#file_type').val() ...转载 2019-03-13 20:32:26 · 6095 阅读 · 0 评论 -
Idea Process finished with exit code -1073741819 (0xC0000005) 解决方案
前几天Run JUNit报Process finished with exit code -1073741819 (0xC0000005),JUnit没有任何输出,但是Debug没有异常,但是并没怎么注意,过了两天又接着Junit也报同样的错误,虽然Debug同样运行无异常。但是感觉心里不舒服。查看Idea日志发现Idea运行的jdk版本与我笔记本上的版本不同(大版本相同,小版本相同,都是jd...原创 2019-04-10 16:46:40 · 5032 阅读 · 6 评论 -
String真的不可变吗?
String不变表现形式···String str = “ABCabc”;System.out.println(“str=”+str);str = “123456”;System.out.println(“str=”+str);···打印结果str=ABCabcstr=123456首先创建一个String对象str,然后让s的值为“ABCabc”, 然后又让s的值为“123...原创 2019-10-10 22:53:19 · 276 阅读 · 0 评论