Java
文章平均质量分 71
LoongTech
我爱学习 学习爱我
展开
-
【JAVA反射】Method类
方法Method类提供有关类或接口上单个方法的信息和对该方法的访问。反射的方法可以是类方法或实例方法(包括抽象方法)。原创 2022-06-23 11:52:35 · 2260 阅读 · 1 评论 -
mybatis代码自动生成
一、依赖<!-- mybatis generator代码自动生成--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency&g原创 2021-12-12 22:58:57 · 402 阅读 · 0 评论 -
itext7中文开发文档(三)
ready to translate : https://developers.itextpdf.com/content/itext-7-jump-start-tutorial/chapter-3-using-renderers-and-event-handlers前言 大家是否还记得在本系列的第一章中,我们创建了特定页面大小的、特定页面边距的(明确或隐式定义的)Document,并且当我们向Document对象里面添加基础的绘画块,例如Paragraphs翻译 2021-10-28 23:14:14 · 3119 阅读 · 0 评论 -
SpringBoot统一拦截处理异常
web项目中进行异常的拦截和统一处理是常规操作和常见操作,不是非做不可的必选动作。经常使用异常的统一拦截处理,原因是对前端用户友好。当后端代码执行产生异常之后,不会将后端复杂的异常信息返回给前端,而是经过处理后的简化的友好的信息。另一方面,对后端开发友好。将所有异常处理放在一个类中进行集中的统一处理,只需要修改一处,即可拦截所有的异常,降低了开发的复杂度。原创 2021-08-14 15:54:05 · 3967 阅读 · 0 评论 -
全面认识和理解“线程池”
在了解线程前,需要知道什么是进程。进程是一个程序执行的过程集合体,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体,包括就绪态、运行态和阻塞态三种状态。进程一定程度上提高了设备的并发处理能力。线程是比进程更小的调度单位,占用资源更少,切换开销更小,进一步提高了并发能力。原创 2021-08-14 01:11:49 · 264 阅读 · 0 评论 -
使用Validation库配置后端验证功能
一、添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency>二、创建VO对象package com.example.emos.wx.controller.form;import io.swagger.annotatio原创 2021-06-05 16:29:52 · 290 阅读 · 0 评论 -
SpringBoot集成Swagger+JWT
一、在pom.xml中添加依赖 <!-- swagger start--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version>原创 2021-06-05 09:41:58 · 736 阅读 · 1 评论 -
SpringBoot中写接口常用的注解
一、@RequestBody与@RequestHeader的区别 import org.springframework.web.bind.annotation.*; @GetMapping("/getSign") public String genUserSig(@RequestHeader("sign") String sign){ String sign = "2021314"; return sign; } @PostMapping原创 2021-06-04 22:03:37 · 2121 阅读 · 1 评论 -
Java NIO Channel
1. Java NIO Channel1.1. Java NIO Channel的特点和老的OIO相比,通道和NIO流(非阻塞IO)主要有以下几点区别:(1)OIO流一般来说是单向的(只能读或者写),通道可以读也可以写。(2)OIO流值读写阻塞的,而通道可以异步读写。(3)通道总是基于缓冲区Buffer来读写。1.2. Channel类型下面列出Java NIO中最重要的集中Channel的实现:(1)FileChannel 用于文件的数据读写。(2)DatagramChannel 用于U原创 2021-05-15 19:35:41 · 94 阅读 · 0 评论 -
SpringBoot优雅的全局异常处理
对SpringBoot当中产生的异常进行统一的拦截参考1:https://www.cnblogs.com/xuwujing/p/10933082.html该博客具有完整的代码示例参考2: @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常该博客说明了全局异常处理的优点...原创 2020-05-07 22:26:03 · 230 阅读 · 0 评论 -
SpringBoot中@Configuration注解
传统意义上的 spring 应用都是基于 xml 形式来配置 bean 的依赖关系。然后通过spring容器在启动的时候,把bean进行初始化并且,如果bean之间存在依赖关系,则分析这些已经在IoC容器中的bean根据依赖关系进行组装。在Spring Boot中,Java Config的使用也已完全替代了applicationContext.xml。实现了xml的零配置。在实现JavaConfig配置的时候就需要使用@Configuration和@Bean注解。原创 2020-04-25 22:44:55 · 24581 阅读 · 3 评论 -
Springboot中的@Profile注解
在项目运行中,包括多种环境,例如线上环境prod、开发环境dev、测试环境test、提测环境qa、单元测试unitest等等。不同的环境需要进行不同的配置,从而在不同的场景中跑我们的程序。例如prod环境和dev环境通常需要连接不同的数据库、需要配置不同的日志输出配置。还有一些类和方法,在不同的环境下有不同的实现方式。Spring Boot 对此提供了支持,一方面是注解@Profile,另一方面...原创 2020-04-25 12:30:52 · 41418 阅读 · 2 评论 -
Maven的标准文件目录结构
Maven项目通常需要遵守统一的文件目录结构约定,现在对maven文件目录结构进行简单的说明。同时,对通过mavan进行管理的Spring项目和SpringBoot项目进行分析。PS:如果不了解Maven是什么,不清楚为什么用Maven。可以先阅读一下这篇博文 Maven篇:聊聊为什么用和怎么理解。一、maven约定的目录结构本节给出maven项目的文件目录约定二、maven管理的Spri...原创 2020-04-11 12:52:35 · 2358 阅读 · 0 评论 -
为什么需要用maven
在JAVA项目开发中,一直在使用maven进行依赖管理。但是从没有系统的梳理maven的背景和原理,在遇到问题时候可能没办法敏锐嗅到解决方法。因此,今天对maven产生背景、用途及具体使用进行梳理。本文将不间断更新,添加自己的理解,欢迎交流。目录一、Maven是什么?二、为什么要用Maven?三、在理解中使用Maven(一)Maven的项目结构(二)Maven的生命周期控制(三)Maven的p...原创 2020-04-11 10:57:44 · 2157 阅读 · 0 评论 -
IDEA项目中配置maven
IDEA项目中配置Maven说明:下文中提到的快捷键都是在MAC OS下的。Windows需要自行查阅。1.进入IDEA设置可以使用快捷键command + ,进入设置页面,并进入如下的Maven设置界面。2. 配置说明在上图的配置中,有三个地方非常重要。分别是Maven home directory、User settings file、以及Local repository。下面一一...原创 2020-04-09 19:38:54 · 3105 阅读 · 0 评论 -
JAVA拆箱与装箱
在JAVA中,数据类型主要分为2大类,基本类型和引用类型。基本类型大小boolean可以是1bit,与JVM有关系byte1字节 = 8bitshort2字节 = 16bitchar2字节 = 16bitint4字节 = 32bitfloat4 字节 = 32bitdouble8字节 = 64bitlong8 字...原创 2019-10-14 23:20:58 · 185 阅读 · 0 评论 -
JAVA线程池
一直在看、在学、在用线程池,但是掌握的零散也不够全面。简单总结使用和原理的两个方面。一、线程池的使用1、为什么要使用线程池?I. 线程的创建和消耗是需要消耗时间和资源的,频繁地创建和销毁线程会带来资源的浪费。同时,如果创建时间过程,还会导致整个响应的时延变长。II. 线程需要占用空间,大量的线程会抢占宝贵的内存资源,可能会导致out of memory异常。主要从线程复用和线程管理两个角...原创 2019-09-02 18:56:07 · 156 阅读 · 0 评论 -
JAVA异常
一、异常的分类在 Java 中所有异常类型都是内置类 java.lang.Throwable 类的子类,即 Throwable 位于异常类层次结构的顶层。Throwable 类下有两个异常分支 Exception 和 Error。Throwable 类是所有异常和错误的超类,下面有 Error 和 Exception 两个子类分别表示错误和异常。Error用于指示合理的应用程序不应该...原创 2019-09-01 01:07:20 · 118 阅读 · 0 评论 -
Java基础知识的汇总
1.JavaBeans就是符合某种规范的java类,解决代码重复编写。参考资料:https://blog.csdn.net/u014038534/article/details/505370652.JSP技术结合JavaBeans应用:JSP+JavaBeans+Servlet参考资料:https://blog.csdn.net/tianping020/article/details/802...原创 2018-11-16 15:09:18 · 141 阅读 · 0 评论 -
【Java】Java接口
一.Java接口是什么接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。链接:抽象类型、抽象方法接口体现的是事物扩展的功能...原创 2018-11-16 15:53:50 · 153 阅读 · 1 评论 -
【Java】Java的抽象类和抽象方法
一、Java抽象类参考资料:Java抽象类 详解1、抽象类的说明在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被...原创 2018-11-16 16:46:13 · 184 阅读 · 0 评论 -
[JAVA]向上转型与向下转型
要理解多态性,首先要知道什么是“向上转型”、“向下转型”。对象的多态性:父子类对象的转换**向上转型:**子类对象变为父类对象,语法: 父类 父类对象 = 子类实例, 自动;**向下转型:**父类对象变为子类对象,语法: 子类 子类对象 = (子类)父类实例,强制。1. 对象向上转型(自动 父->子)演示代码(对象向上转型):class A{public void print...原创 2019-03-06 16:00:07 · 4261 阅读 · 1 评论 -
[JAVA]多态的实现
1.实现条件其实,继承是在为多态的实现做了准备。子类Child继承父类Father,我们可以编写一个指向子类的父类类型引用,该引用既可以处理父类Father对象,也可以处理子类Child对象,当相同的消息发送给子类或者父类对象时,该对象就会根据自己所属的引用而执行不同的行为,这就是多态。即多态性就是相同的消息使得不同的类做出不同的响应。Java实现多态有三个必要条件:继承、重写、向上转型。...转载 2019-03-06 16:19:53 · 187 阅读 · 0 评论 -
[Java]为什么要使用MyBatis
侃一侃为什么要使用MyBatis,不能直接使用java操作数据库吗?答案当然是不能,不仅仅是因为程序员懒,更重要的是提高工作效率和代码性能。MyBatis是非常优秀的持久层ORM框架,简化开发人员对关系数据库的使用。如果不清楚MyBatis的原理、MyBatis的配置则需要参考其他的文章,此处不做详述。此处将详细说明MyBatis的优势。Mybatis要想知道MyBatis有哪些优势,...原创 2019-03-11 16:44:23 · 4367 阅读 · 0 评论 -
关于tomcat的思考与总结(上)
一直在使用Tomcat,但是知识点点非常零散,没有系统的总结和思考过。知道Tomcat是一个运行Servlet和JSP的轻量级服务器,知道Tomcat可以启动一个Java服务。每次将java工程的war包放到tomcat的webapp目录下,启动服务器就可以访问相应的服务。但是对tomcat的原理的掌握非常零散。1.servletkey word:servlet、servlet容器、web s...原创 2019-06-12 21:40:27 · 257 阅读 · 0 评论 -
super和this
至今见过,this和super的区别讲的最清晰的:当有相同的属性或者方法是this子类表示调用自己的属性或者方法,super调用父类的属性或者方法。当子类调用的属性方法在子类中不存在时,那么this和super都是调用父类的属性或者方法...原创 2019-06-18 16:10:38 · 107 阅读 · 0 评论 -
【调研实践】弱网环境下的断网续传
一、定义为了方便后文的阅读,我们提前约定一些名词的含义。弱网环境:所谓弱网环境简单来说就是网络质量较差导致丢包和延迟等现象,具体现象就是客户端获得响应很慢。参考重复签到的案例,弱网环境的模拟可以参考此篇文章多种方法。断网续传/断网下载:在很多博客中也把断网续传和断网下载统称为断网续传,此处我们将断网续传和断网下载分开来讨论。断网续传特指从客户端向服务端的文件传输,在弱网环境下保证尽可能少的重...原创 2019-07-21 22:43:46 · 2021 阅读 · 0 评论 -
Thread.sleep()和Object.wait()的区别
一、区别1、wait()方法来自于Object类,而sleep()方法来自于Thread类//waitpublic final void wait() throws InterruptedException//sleeppublic static native void sleep(long millis) throws InterruptedException;2、wait() ...原创 2019-08-21 11:44:00 · 3595 阅读 · 0 评论 -
JAVA类加载与JAVA对象创建
可能都知道“为什么类变量可以不依赖对象而直接使用?”,但不一定都知道背后的原因。其实这与类加载和JAVA对象创建的机制有关系。第一部分:类加载1.1 类加载的步骤JAVA文件被javac经过javac编译器处理之后成为二进制的class文件。而该二进制文件可以通过不同平台的jvm进行执行(也就实现了跨平台)。二进制class文件如何成为内存当中可以使用的Java类。在JAVA类完整的生命周...原创 2019-08-26 16:57:38 · 406 阅读 · 0 评论 -
关于JAVA泛型
嗯,天天面试笔试,没来得及好好总结每次面试中的漏洞。。。好好检讨自己。以后努力做到问题不过夜,再晚也要学习和总结。1、泛型的使用泛型类与普通类的区别就是:类名称后面多了一个; 某些变量的类型是Tpublic class Line<T>{ T first; T second; int distance;}public class Pair<U, T>{...原创 2019-08-31 23:05:10 · 135 阅读 · 0 评论 -
JAVA反射机制
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。一直以来反射技术都是Java中的闪亮点,这也是目前大部分框架(如Spring/Mybatis等)得以实现的支柱。在Java中,Class类与java.lang.reflect类库一起对反射技术进行了全...原创 2019-08-31 23:52:57 · 143 阅读 · 0 评论 -
JAVA自定义注解与解析
注解是一种提供便捷性的配置方法。其本质是一个继承于Annotation的普通接口,它需要有解析它的代码才可以起到作用。而解析的方法有两种,一种是编译时期的直接扫描,一种是运行时期的反射。原创 2019-09-01 00:36:31 · 289 阅读 · 0 评论 -
后端开发学习笔记
【1】解决用户权限问题参考资料:https://blog.csdn.net/jxianxu/article/details/72467012su - //切换到root权限,横线‘‘-’’的作用是将环境变量也切换到root,如果不加横线“-”,则只切换到root权限,但环境变量还是当前用户的环境变量。...原创 2018-10-29 14:12:03 · 439 阅读 · 0 评论