![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java开发
蒜蓉粉丝蒸扇贝
这个作者很懒,什么都没留下…
展开
-
java -jar 与java -cp使用
java -cp “错误: 找不到或无法加载主类” 处理原创 2022-12-09 16:57:13 · 2170 阅读 · 1 评论 -
定制日期格式的自由定义
标准的仅具有日期格式为:格式 示例 dd/MM/yyyy 06/03/2007 dd-MMM-yyyy 06-Mar-2007 MM/dd/yyyy 03/06/2007 MMM dd, yyyy Mar 06, 2007 MMMMM dd, yyyy March 06, 2007 yyyy.MM.dd 2007.06.03 yyyy/MM/dd 2007/06/03 yyyy-MM-dd 2007-06-03 ..原创 2021-10-21 17:25:55 · 362 阅读 · 0 评论 -
springboot 跨域解决全局方案:使用Filter
@ConfigurationpublicclassWebAppConfigurerextendsWebMvcConfigurerAdapter{@BeanpublicFilterRegistrationBeancorsFilter(){UrlBasedCorsConfigurationSourcesource=newUrlBasedCorsConfigurationSource();CorsConfiguration...原创 2021-01-08 11:47:43 · 203 阅读 · 0 评论 -
Java8中关于时间的新类型 LocalDateTime
从Java 8开始,java.time包提供了新的日期和时间API,主要涉及的类型有:本地日期和时间:LocalDateTime,LocalDate,LocalTime; 带时区的日期和时间:ZonedDateTime; 时刻:Instant; 时区:ZoneId,ZoneOffset; 时间间隔:Duration。以及一套新的用于取代SimpleDateFormat的格式化类型Da...转载 2020-04-30 15:41:11 · 1037 阅读 · 1 评论 -
JVM学习---jvm故障诊断工具使用
1. jps 找到目标java进程id2. jinfo -flags pid 查看jvm 参数设置3. jstat -gc pid 查看jvm gc的情况 jstat命令命令格式: jstat [Options] vmid [interval] [count] 参数说明: Options,选项,我们一般使用 -gcutil 查看g...原创 2020-04-28 14:49:21 · 212 阅读 · 0 评论 -
Spring 中controller中的Date参数的处理方法
1. IntroductionIn this short tutorial, we'll take a look at how to acceptDate,LocalDateandLocalDateTimeparameters in Spring REST requests, both at the request and application levels.2. The Pr...原创 2020-03-12 17:31:20 · 1186 阅读 · 0 评论 -
Java动态代理模式:动态代理和cglib代理
一、代理模式介绍代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。简言之,代理模式就是设置一个中间代理来控制访问原目标对象,以达到增强原对象的功能和简化访问方式。代理模式UML类图举个例子,我们生活中经常到火车站去买车票,但是人一多的话,就会非常拥挤,于是就有...转载 2020-01-02 18:02:13 · 160 阅读 · 0 评论 -
postman中 form-data、x-www-form-urlencoded、raw、binary的区别
1、form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来表名文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multip...转载 2019-11-27 15:49:20 · 207 阅读 · 0 评论 -
CORS带cookie跨域问题在Springboot服务端的解法
使用@CrossOrigin注解, 且要指定origins={"host1","host2"...}和allowCredentials = "true"注解可以放在方法上或controller类上。而不能直接使用@CrossOrigin,会报Access to fetch at 'http://xxxx2'from origin 'http://xxxx1' has been bloc...原创 2019-11-27 13:54:41 · 1069 阅读 · 0 评论 -
Java SPI机制探究
1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程...转载 2019-11-13 14:20:51 · 131 阅读 · 0 评论 -
RestTempalate 基本使用
0. 目标在介绍如何使用RestTemplate之前,我们先抛出一些小目标,至少需要知道通过RestTemplate可以做些什么,以及我们要用它来干些什么简单的给出了一下常见的问题如下普通的Get请求获取返回数据,怎么玩? post提交表达的请求,如何处理 post请求中RequestBody的请求方式与普通的请求方式区别 https/http两种访问如何分别处理 如何在请求中...转载 2019-06-21 11:03:06 · 2254 阅读 · 0 评论 -
ORM与JOOQ的关系
ORM全称是:Object Relational Mapping(对象关系映射),其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。举例来说就是,我定义一个对象,那就对应着一张表,这个对象的实例,就对应着表中的一条记录。JOOQ 是基于Java访问关系型数据库的工具包。JOOQ 既吸取了传统ORM操作数据的简单性和安全性,又保留了原生sql的灵活性,它更像是介于 ORMS和JD...转载 2019-02-26 19:30:48 · 338 阅读 · 0 评论 -
jstack排查java线程问题
1. 使用jps或者ps grep获取java进程的PID2. 使用top -Hp PID获取该java PID下的线程3. 使用jstack PID > jstack.log4. 将线程的PID转成16进制 printf %x pid5. 在jstack.log中查找nid=0xXXX的线程, 读取栈信息...原创 2019-02-21 11:35:34 · 215 阅读 · 0 评论 -
JDBC与JDBCTemplate的关系
1.背景介绍Java程序员在以后的工作中很重要的一点就是得和数据库打交道,但是代码和数据库是两个不相干的.怎么使用代码对数据库进行操作呢,这个时候就用到JDBC。2.知识剖析什么是JDBC?①JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写...转载 2019-02-27 17:23:32 · 886 阅读 · 0 评论 -
Tomcat 调优及 JVM 参数优化
Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你。对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU 的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU 的处理能力越强,系统运行速度越快。Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面...转载 2019-01-17 18:06:24 · 172 阅读 · 0 评论 -
一个困扰好久的问题:从multipartResolver的一个异常到multipartResolver处理请求过程分析
异常分析异常如下:2018-01-22 18:05:38.041 ERROR com.exception.ExceptionHandler.resolveException:22 -Could not Q multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$...转载 2019-01-17 15:58:51 · 2781 阅读 · 0 评论 -
Java Date Timestamp 两个时间类的使用
场景重现:在mysql数据库(innodb engine)的tab表里有一个createAt字段,类型为datetime(6) 精确到毫秒。当然大家知道mysql的日期字段默认只精确到秒级的,若要到毫秒微妙可定义为datetime(6), 从5.6.4版本开始支持业务接口A通过ORM框架在表中存入一条记录,这里createAt存入2016-04-13 15:20:39.152 业务接...转载 2018-12-22 07:54:54 · 1123 阅读 · 0 评论 -
聊聊tcpdump与Wireshark抓包分析
线上服务器抓包:tcpdump抓http的包There are tcpdump filters for HTTP GET & HTTP POST (or for both plus message body): Run man tcpdump | less -Ip examples to see some examples Here’s a tcpdump filter...转载 2018-12-08 14:08:03 · 396 阅读 · 0 评论 -
Java并发编程:深入剖析ThreadLocal
From:http://www.cnblogs.com/dolphin0520/p/3920407.html一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 这句话从字面上看起来很容易理...转载 2018-12-07 20:54:04 · 104 阅读 · 0 评论 -
ios通用链接(Universal Link)的处理
官方文档https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html是扯淡的, 跟着走行不通。下面这个步骤是靠谱的,https://gist.github.com/anhar/6d50c023f442fb2437e1#sign-the-原创 2017-05-17 15:31:49 · 1547 阅读 · 0 评论 -
spring boot 常用注解解析
(1)@SpringBootApplication 申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。示例代码:package com.kfit; import org.springframework.boot转载 2017-07-29 16:05:43 · 544 阅读 · 0 评论 -
HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap
Map is one of the most important data structures in Java. In this post, I will illustrate how to use different types of maps, such as HashMap, TreeMap, HashTable and LinkedHashMap.1. Map Overvie转载 2017-09-14 16:18:56 · 219 阅读 · 0 评论 -
Java注解教程:自定义注解示例,利用反射进行解析
Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响。在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解。注解是Java 1.5引入的,目前已被广泛应用于各种Java框架,如Hibernate,Jersey,Spring。注解相当于是一种嵌入在程序中的元数据,可以使用注解解析工具或编译器对其进行解析,也可以指定注解在编译期或转载 2018-01-15 17:24:49 · 159 阅读 · 0 评论 -
Java程序线上问题定位 -- jstack
jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多.线程的状态有:new、runnable、running、waiting、timed_waiting、blocked、dead各状态说明:New: 当线程对象创建时存在的状态,此时线程不可能执行;Runnable:当调用thread.start()后,线程变成为Runna转载 2018-01-17 12:02:14 · 933 阅读 · 0 评论 -
spring boot 链接Mysql数据库的几种方式:JdbcTemplate/Mybatis/JPA/JOOQ
1. 使用JdbcTemplate及Mybatishttps://www.cnblogs.com/liangblog/p/5228548.html2. 使用JPAhttp://www.jb51.net/article/111473.htm3. JOOQhttps://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot...原创 2018-03-08 11:15:00 · 1403 阅读 · 0 评论 -
接口Function、Consumer、Predicate、Supplier的使用
备注1:观察发现,函数式接口下共有 1、三种方法 1.1 唯一的抽象方法 1.2 使用default定义普通方法(默认方法),通过对象调用。 实现接口后,因为默认方法不是抽象方法,所以可以不重写,但是如果开发需要,也可以重写 。当然如果接口中的默认方法不能满足某个实现类需要,那么实现类可以覆盖默认方法。签名跟接口default方法一致,但是不能再加default修饰符。 3.使用static定义静...转载 2018-06-11 16:18:24 · 2456 阅读 · 0 评论 -
Spring MVC上传文件原理和resolveLazily说明
问题:使用Spring MVC上传大文件,发现从页面提交,到进入后台controller,时间很长。怀疑是文件上传完成后,才进入。由于在HTTP首部自定义了“Token”字段用于权限校验,Token的有效时间很短,因此上传大文件时,就会验证Token失败。示例代码:前端:<form action="upload" enctype="multipart/form-data" method="p...转载 2018-05-30 20:13:39 · 2993 阅读 · 0 评论 -
Java中Runtime.addShutdownHook用法
Runtime.addShutdownHook解释如果你想在jvm关闭的时候进行内存清理、对象销毁等操作,或者仅仅想起个线程然后这个线程不会退出,你可以使用Runtime.addShutdownHook。这个方法的作用就是在JVM中增加一个关闭的钩子。当程序正常退出、系统调用 System.exit方法或者虚拟机被关闭时才会执行系统中已经设置的所有钩子,当系统执行完这些钩子后,JVM才会关...转载 2018-07-18 21:35:29 · 879 阅读 · 0 评论 -
Spring Boot 如何解决项目启动时初始化资源
在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。这个神器就是 CommandLineRunner,CommandLineRunner 接口的 Component 会在所有 Spring Beans 都初始化之后,SpringApplic...转载 2018-07-21 11:30:58 · 578 阅读 · 0 评论 -
RocketMQ:顺序消息
rocketmq的顺序消息需要满足2点:1.Producer端保证发送消息有序,且发送到同一个队列。2.consumer端保证消费同一个队列。先看个例子,代码版本跟前面的一样。Producer类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...转载 2018-08-10 16:51:16 · 436 阅读 · 0 评论 -
Spring 控制反转(IOC) | 依赖注入(DI)的解析
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spr...转载 2018-09-26 17:44:16 · 146 阅读 · 0 评论 -
Spring AOP 之 理论篇
基本知识其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, 含义总有着各种莫名其妙的差别. 鉴于此, 我在本章的开头, 着重为为大家介绍一个 Spring AOP 的各项术语的基本含义. 为了术语传达的准确性, 我在接下来的叙述中, 能使用英文术语的地方,...转载 2018-09-28 19:26:58 · 135 阅读 · 0 评论 -
JVM垃圾回收机制入门
1. 先看Java的内存存储结构假设你是一个普通的 Java 对象,你出生在 Eden 区,在 Eden 区有许多和你差不多的小兄弟、小姐妹,可以把 Eden 区当成幼儿园,在这个幼儿园里大家玩了很长时间。Eden 区不能无休止地放你们在里面,所以当年纪稍大,你就要被送到学校去上学,这里假设从小学到高中都称为 Survivor 区。开始的时候你在 Survivor 区里面划分出来的的“From...转载 2018-11-09 20:08:34 · 130 阅读 · 0 评论 -
JVM性能调优入门
JDK工具的使用。 调优策略。兵器谱jps列出正在运行的虚拟机进程,用法如下:jps [-option] [hostid]选项 作用 q 只输出LVMID,省略主类的名称 m 输出main method的参数 l 输出完全的包名,应用主类名,jar的完全路径名 v 输出jvm参数 jstat监视虚拟机运行状态信息,使用方...转载 2018-11-09 20:15:24 · 169 阅读 · 0 评论 -
Java Spring MVC 和 REST 处理404等异常的不同
第一, 需要注意Spring MVC 和 Spring Rest两种情况下的区别。Spring MVC是可以通过增加/error的handler来处理异常的,而REST却不行,因为在spring Rest中, 当用户访问了一个不存在的链接时, Spring 默认会将页面重定向到 **/error** 上, 而不会抛出异常。处理方法是,在application.properties文件中转载 2017-05-16 20:29:52 · 7694 阅读 · 3 评论