Java技术栈
文章平均质量分 67
tobing
www.tobing.top
展开
-
JSR303实现参数校验
参数校验在程序中,参数校验是有个重复的工作,在不同的接口可能需要编写相同的校验逻辑,而 JSR 定义了 JavaBean 参数校验的元数据模型以及API。JSR 简介JSRJSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。JSR-303JSR-303 是原创 2021-05-08 15:59:59 · 944 阅读 · 0 评论 -
日期转换的一些问题
日期格式笔记在项目中出现了一种类似于2001-07-04T12:08:56.235-07:00的日期格式,使用jackson无法正常转换,这是JDK8引入了一种新的格式。JDK1.8日期匹配图表:注意最下面的X,是在JDK1.6没有的LetterDate or Time ComponentPresentationExamplesGEra designatorTextADyYearYear1996; 96YWeek yearYear2009; 0原创 2021-04-29 22:38:37 · 309 阅读 · 0 评论 -
对象集合排序
对象集合排序这是腾讯一面的一道面试题,对对象集合排序可以使用一下几种方式:实现Comparable,使用 Arrays.sort();使用Collections.sort,传入Comparator 实现List.sortStream APIPersonclass Person implements Comparable<Person> { private String name; private String grade; private Integ原创 2021-03-06 23:09:34 · 1101 阅读 · 0 评论 -
Spring Initializr 加速
Spring Initializr 加速Spring 官方提供的 Spring Initializr 有时候比较慢,此时我们可以使用阿里云提供的 Spring Initializr。Spring 官方 SpringBoot 脚手架:https://start.spring.io阿里云提供 SpringBoot 脚手架:https://start.aliyun.com下图是在IDEA 使用阿里云 SpringBoot 脚手架...原创 2021-01-31 19:45:23 · 464 阅读 · 0 评论 -
Apache Bench简单使用
ab简单使用在学习并发过程中,写了个玩具,使用并发测试压力工具,ab便是其中之一。1. ab概述Apache Bench,简称ab,是Apache提供的压力测试功能。Apache Bench 不仅可以对Apache服务器进行压力测试,还可以对其他常用的服务器进行压力测试,如:Nginx、Tomcat等。官方使用说明2. 安装Apache Bench 包含在Httpd里面,Windows10 平台下,下载解压httpd即可使用。httpd工具下载解压httpd就可以看到ab工具3. 使用原创 2021-01-13 20:34:05 · 879 阅读 · 0 评论 -
JVM-中篇
JVM-中篇-字节码解读第一章-虚拟机的基石:Class文件1.1 字节码文件是什么?源代码经过编译器编译生成一个字节码文件,字节码文件是一种二进制文件,内容是JVM指令,不像C、C++直接生成的机器码。1.2 什么事字节码指令Java虚拟机的指令是由一个字长度的、代表某种特定操作含义的**操作码(opcode)以及跟随其后的零个或多个代表此处操作数需要参数的操作数(Operand)**所构成。虚拟机中许多指令不包含操作数,只有一个操作码。字节码指令(byte code) = 操作码(opco原创 2021-01-09 13:40:02 · 463 阅读 · 0 评论 -
JVM-逃逸分析
逃逸分析1、堆是分配对象的唯一选择吗?在《深入理解Java虚拟机》中关于Java堆内存有这样一段描述:随着JIT编译期的发展与逃逸技术的成熟,栈上分配、标量替换优化技术将会导致一些微妙的变化,所有的对象都分配到堆上也渐渐变的不那么绝对了。在Java虚拟机中,对象是在堆内存中分配内存的,这是一个普遍常识。但是,有一种特殊技术,那就是如果经过逃逸分析(Escape Analysis)后发现,一个对象并没有逃逸出方法的话,那么就可能被优化成栈上分配。这样就无需在堆上分配内存,也不需要垃圾回收了,这就是常见的原创 2020-12-17 22:41:46 · 193 阅读 · 2 评论 -
JVM-上篇
JVM学习笔记1. 第一章-概述1.1 JVM生命周期启动JVM启动是通过类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的。执行程序开始执行的时候JVM开始运行,程序结束时就停止。执行一个Java程序时,真正执行的是JVM的进程。(注意:不是线程)退出如下几种情况会退出:程序正常执行结束程序在执行过程中遇到异常或错误而异常终止由于操作系统出现错误而导致Java虚拟机进程终止Runtime、System类的exit方法或R原创 2020-12-10 22:39:30 · 23344 阅读 · 0 评论 -
Springboot项目添加SSL证书
Springboot项目添加SSL证书1、获取SSL证书2、下载证书文件3、Springboot项目配置一、获取SSL证书阿里云-产品-安全-云安全-SSL证书1、购买2、选择套餐3、验证域名4、等待审核二、下载证书1、下载证书2、选择Tomcat下载3、将压缩包解压得到xxx.pfx文件,放到运动服务器的目录三、SpringBoot配置1、编辑SpringBoot配置文件、添加ssl内容server: port: 8000 ssl: key-sto原创 2020-12-09 22:30:31 · 1206 阅读 · 1 评论 -
回顾-Maven
1. Maven回顾1. 标准目录结构Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。如下所示:目录目的${basedir}存放pom.xml和所有的子目录${basedir}/src/main/java项目的java源代码${basedir}/src/main/resources项目的资源,比如说property文件,springmvc.xml${basedir}/src/test/java原创 2020-12-02 14:32:29 · 384 阅读 · 0 评论 -
Springboot集成Swagger
Springboot集成Swagger1. Swagger1.1 OpenAPI随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要。没有API文档工具之前,大家都是手写API文档的,在什么地方书写的都有,而且API文档没有统一规范和格式,每个公司都不一样。这无疑给开发带来了灾难。OpenAPI规范(原创 2020-09-02 09:42:50 · 124 阅读 · 0 评论 -
Java解析2020-04-21T10:40:08.338789+0800
Java将2020-04-21T10:40:08.338789+0800转换为日期JDK8APILetterDate or Time ComponentPresentationExamplesGEra designatorTextADyYearYear1996; 96YWeek yearYear2009; 09MMonth in year (context sensitive)MonthJuly; Jul; 07LMont原创 2020-05-23 12:01:22 · 1341 阅读 · 0 评论 -
no multipart boundary was found
no multipart boundary was found1. 问题描述使用Postman上传图片时,服务器报错:the request was rejected because no multipart boundary was found。2. 问题解决stack overflow提供的解决方案The problem isn’t in your code - it’s in...原创 2020-04-18 20:31:01 · 24166 阅读 · 1 评论 -
Scanner有意思的next读取
两个Scanner读取字符串问题1. 问题由来在使用两个Scanner对象的next去读取一行字符串中用空格分割的两个字符串时,发现输入完回车之后始终存在等待状态。只有再次输入字符串,再回车才可以继续执行。问题还原代码public class Demo { public static void main(String[] args) { Scanner s...原创 2020-04-15 00:39:03 · 193 阅读 · 0 评论 -
JDBC+MySQL实现超市信息管理系统
JDBC+MySQL实现超市信息管理系统1. 概述超市商品管理系统用于管理员、销售员的登录。管理员和销售员查看数据。管理员可以进行入库。销售可以销售商品2. 需求分析销售员,管理员登录管理员添加商品信息,对商品信息修改销售员可以对商品进行查询,出售等3. 程序设计实现方式:Java(JDBC)+MySQL数据库表用户表(User)id姓名...原创 2020-03-17 12:54:32 · 16219 阅读 · 19 评论 -
PageHelper简单使用
PageHelper简单使用1. 简介PageHelper是国内优秀的开源的mybatis分页插件,支持主流常用的数据库。【官网】https://pagehelper.github.io/2. 使用方法【Maven】导入依赖<dependency> <groupId>com.github.pagehelper</groupId> ...原创 2020-03-17 12:46:44 · 191 阅读 · 0 评论 -
Intellij idea : java 不支持发行版本5
Intellij idea : java 不支持发行版本51. 问题描述在使用Intellij idea构建Maven工程的时候,运行报错Error : java 不支持发行版本5。2. 问题原因Idea 中的java的编译器使用了1.5版本来编译,导致无法通过。【不够严谨】maven工程默认以JDK1.5作为编译运行的版本,但是1.5版本太低,不被idea支持。3. 解决办法...原创 2020-03-17 12:43:19 · 2656 阅读 · 1 评论 -
Oracle-下
Oracle-下1. 视图视图就是提供一个查询的窗口,所有数据来自于原表数据准备-- 查询语句创建表create table emp as select * from scott.emp;视图操作-- 创建视图【必须要dba权限】create view v_emp as select ename,job from emp;-- 查询视图select * from ...原创 2020-03-17 12:39:04 · 135 阅读 · 0 评论 -
Oracle-上
Oracle-上1. 基本使用创建表空间,并给表空间指定用户--创建表空间create tablespace tbspace --指定表空间名称datafile 'c:\tbspace.dbf' --指定表空间存储文件size 100m --指定初始大小autoextend on --指定自增长next 10m; --指定每次自增长大小--创建用户c...原创 2020-03-17 12:37:18 · 129 阅读 · 0 评论