Java
文章平均质量分 74
java基础知识
ZHONGZEWEI
是我
展开
-
JVM入门学习
参考了以下文章,并进行了一些修改https://nyimac.gitee.io/2020/07/03/JVM%E5%AD%A6%E4%B9%A0/一、什么是JVM定义Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境)好处一次编写,到处运行自动内存管理,垃圾回收机制数组下标越界检查比较JVM JRE JDK的区别二、内存结构整体架构1、程序计数器作用用于保存JVM中下一条所要执行的指令的地址特点线程私有CPU会为原创 2021-08-22 13:42:26 · 316 阅读 · 0 评论 -
基于quartz实现自定义时间的定时调度
基于quartz实现自定义时间的定时调度关于定时调度,大部分是使用类似定时调度平台xxlJob或者spring的定时调度注解是实现的。其中xxlJob的控制基于web管理页面,需要手工配置。spring的调度注解@Scheduled需要配置值,无法运行时更改。所以他们都无法在运行时通过代码或者其他自定义的方式实现动态调度。基于开源的一些代码,我整理了一个基于quartz实现自定义时间的定时调度的方法,功能不是很完善pom依赖 <dependencies> <原创 2021-08-17 15:00:24 · 1008 阅读 · 0 评论 -
接口安全问题
跨站请求伪造问题目前:我们使用请求头的token(口令)去代表一个用户,每次请求服务器都会携带token去标识用户接口路径+请求头的token+请求体 ,这三个要素构成了一个基本的请求报文场景:1、A用抓包工具,通过分析请求和响应,大致猜到我们的接口格式。2、A在门店附近代理了一个wifi热点,扩大抓包范围,获取到了许多用户的合法token3、A从步骤2中,获取到了合法token后,开始伪装成正常用户并用自己的服务器进行下单请求,导致门店无法正常服务原创 2021-06-26 11:42:23 · 138 阅读 · 0 评论 -
JUC编程入门
前言:在Java中,线程部分是一个重点,本篇文章说的JUC也是关于线程的。JUC就是java.util .concurrent工具包的简称。这是一个处理线程的工具包,JDK 1.5开始出现的。下面一起来看看它怎么使用。一、volatile关键字与内存可见性1、内存可见性:先来看看下面的一段代码:public class TestVolatile { public static void main(String[] args){ //这个线程是用来读取flag的值的 Thre原创 2021-06-05 14:43:29 · 205 阅读 · 0 评论 -
JVM面试题
JVM 内存布局或者堆的默认空间分配新对象内存分配流程Metaspace 元空间在 HotSpot JVM 中,永久代( ≈ 方法区)中用于存放类和方法的元数据以及常量池,比如 Class 和 Method。每当一个类初次被加载的时候,它的元数据都会放到永久代中。永久代是有大小限制的,因此如果加载的类太多,很有可能导致永久代内存溢出,即万恶的 java.lang.OutOfMemoryError: PermGen,为此我们不得不对虚拟机做调优。那么,Java 8 中 PermGen 为原创 2020-07-24 10:41:34 · 131 阅读 · 0 评论 -
java基于POI读写excel
MAVEN依赖 <!--poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.12</version> </dependency> &原创 2020-06-21 22:13:48 · 188 阅读 · 0 评论 -
函数式接口、方法引用
主要内容函数式接口方法引用教学目标能够使用@FunctionalInterface注解能够自定义无参无返回函数式接口能够自定义有参有返回函数式接口能够理解Lambda延迟执行的特点能够使用Lambda作为方法的参数能够使用Lambda作为方法的返回值能够使用输出语句的方法引用能够通过4种方式使用方法引用能够使用类和数组的构造器引用能够使用Supplier函数式接口...原创 2020-02-22 17:39:15 · 565 阅读 · 0 评论 -
网络编程
主要内容软件架构CS/BS网络通信三要素TCP通信Socket套接字ServerSocket教学目标能够辨别UDP和TCP协议特点能够说出TCP协议下两个常用类名称能够编写TCP协议下字符串数据传输程序能够理解TCP协议下文件上传案例能够理解TCP协议下BS案例第一章 网络编程概述1.1 软件结构C/S结构 :全称为Client/Server结构,是指客户端和...原创 2020-02-22 17:34:09 · 519 阅读 · 0 评论 -
缓冲流、转换流、序列化流
主要内容转换流缓冲流序列化流打印流教学目标能够使用字节缓冲流读取数据到程序能够使用字节缓冲流写出数据到文件能够明确字符缓冲流的作用和基本用法能够使用缓冲流的特殊功能能够阐述编码表的意义能够使用转换流读取指定编码的文本文件能够使用转换流写入指定编码的文本文件能够说出打印流的特点能够使用序列化流写出对象到文件能够使用反序列化流读取文件到程序中第一章 缓冲流昨天...原创 2020-02-22 17:25:26 · 176 阅读 · 0 评论 -
线程池、Lambda表达式
主要内容线程池Lambda表达式目标能够理解线程通信概念能够理解等待唤醒机制能够描述Java中线程池运行原理能够理解函数式编程相对于面向对象的优点能够掌握Lambda表达式的标准格式能够使用Lambda标准格式使用Runnable与Comparator接口能够掌握Lambda表达式的省略格式与规则能够使用Lambda省略格式使用Runnable与Comparator接口...原创 2020-02-22 17:19:45 · 249 阅读 · 0 评论 -
异常、线程
主要内容异常、线程第一章 异常概述1.1 异常概念异常,就是不正常的意思。在生活中,医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:异常 :指的是程序在执行过程中或编译过程中出现了问题,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的...原创 2020-02-21 18:11:13 · 152 阅读 · 0 评论 -
Map
主要内容Map集合第一章 Map集合1.1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map 接口。我们通过查看Map 接口描述,发现Map 接口下的集合与Collection 接口下的集合,它们存储数据的形式...原创 2020-02-21 18:00:26 · 219 阅读 · 0 评论 -
List、Set、数据结构、Collections
主要内容List集合Set集合数据结构第一章 数据结构1.1 数据结构有什么用当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。现实世界的存储,我们使用的工具和建模。每种数据结构有自己的优点和缺点,想想如果Google的数据用的是数组的存储,我们...原创 2020-02-21 17:49:51 · 143 阅读 · 0 评论 -
Collection、泛型
主要内容Collection集合迭代器增强for泛型第一章 Collection集合1.1 集合概述在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢?集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。**数组中存储的是同一类型的元素,可以存储基...原创 2020-02-21 17:40:17 · 133 阅读 · 0 评论 -
Object类、常用API
主要内容Object类Date类DateFormat类Calendar类System类StringBuilder类包装类第一章 Object和Objects类1.1 Object类1.1.1 概述java.lang.Object 类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有...原创 2020-02-21 17:35:35 · 233 阅读 · 0 评论 -
java动态代理
cglib代理cglib代理主要通过对字节码的操作,为对象引入间接级别,以控制对象的访问。我们知道Java中有一个动态代理也是做这个事情的,那我们为什么不直接使用Java动态代理,而要使用cglib呢?答案是cglib相比于JDK动态代理更加强大,JDK动态代理虽然简单易用,但是其有一个致命缺陷是,只能对接口进行代理。如果要代理的类为一个普通类、没有接口,那么Java动态代理就没法使用了。...原创 2019-12-29 10:36:54 · 162 阅读 · 0 评论 -
mapstruct与lombok的兼容使用
pom文件依赖<properties> <java.version>1.8</java.version> <org.mapstruct.version>1.2.0.Final</org.mapstruct.version> <lombok.version>1.18.10</lombok.ve...原创 2019-12-29 10:06:43 · 3414 阅读 · 0 评论 -
对象参数校验
分组校验package com.example.demo.test;import lombok.Data;import javax.validation.ConstraintViolation;import javax.validation.Validation;import javax.validation.Validator;import javax.validati...原创 2019-12-28 17:16:14 · 552 阅读 · 0 评论 -
Java pom文件依赖介绍
注解工具 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version>...原创 2019-12-15 11:38:35 · 841 阅读 · 0 评论