- 博客(89)
- 资源 (9)
- 收藏
- 关注
原创 定制日期格式的自由定义
标准的仅具有日期格式为:格式 示例 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
373
转载 Spring Boot中数据库操作是怎么实现的
上篇文章中已经通过一个简单的HelloWorld程序讲解了Spring boot的基本原理和使用。本文主要讲解如何通过spring boot来访问数据库,本文会演示三种方式来访问数据库,第一种是JdbcTemplate,第二种是JPA,第三种是Mybatis。之前已经提到过,本系列会以一个博客系统作为讲解的基础,所以本文会讲解文章的存储和访问(但不包括文章的详情),因为最终的实现是通过MyBatis来完成的,所以,对于JdbcTemplate和JPA只做简单演示,MyBatis部分会完整实现对文章的增删
2021-10-21 15:38:13
488
转载 工作流workflow与状态机FSM的区别
都是流程的管理,工作流引擎和状态机到底区别在哪里。IntroductionWhen companies decide to implement a system that will help them manage business processes, their choice will probably lie between a workflow engine and a state machine. Though the behavior of the two systems seems t
2021-08-26 16:02:26
1399
原创 2021-06-28
一、wkt与geojson在GIS中描述点、线、面、多图等WKT与geojson分为点、线、面、几何集合四种:1、Point, MultiPoint2、LineString, MultiLineString3、Polygon, MultiPolygon4、GeometryCollection可以由多种Geometry组成,如GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))二、...
2021-06-28 19:51:32
77
转载 Kubernetes 工作流引擎:Argo(1)
https://www.qikqiak.com/post/argo-workflow-engine-for-k8s/
2021-04-23 15:35:51
238
原创 springboot 跨域解决全局方案:使用Filter
@ConfigurationpublicclassWebAppConfigurerextendsWebMvcConfigurerAdapter{@BeanpublicFilterRegistrationBeancorsFilter(){UrlBasedCorsConfigurationSourcesource=newUrlBasedCorsConfigurationSource();CorsConfiguration...
2021-01-08 11:47:43
224
原创 java8中被废弃的永久代及Metaspace
一、JVM 内存模型根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出StackOverflowError的错误,不过这个深度范围不是一个恒定的值,我们通过下面这段程序可.
2020-12-11 12:12:24
183
转载 JVM 面试题 68 问
1.JDK、JRE、JVM关系?Jdk (Java Development Kit) : java语言的软件开发包。包括Java运行时环境Jre。Jre (Java Runtime Environment) :Java运行时环境,包括Jvm。Jvm (Java Virtual Machine) : 一种用于计算机设备的规范。 Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需
2020-12-11 10:24:39
156
原创 json in mysql 5.7
mysql 5.7支持json字段,具体使用方法如下In version 5.7 you can do something like:SELECT JSON_EXTRACT(json_field, '$.name');and it will extract only thename keyfrom json object.Search all items with the ‘JavaScript’ tag:SELECT * FROM `table` WHERE JSON_CONT..
2020-10-28 15:27:52
375
转载 Java8中关于时间的新类型 LocalDateTime
从Java 8开始,java.time包提供了新的日期和时间API,主要涉及的类型有:本地日期和时间:LocalDateTime,LocalDate,LocalTime; 带时区的日期和时间:ZonedDateTime; 时刻:Instant; 时区:ZoneId,ZoneOffset; 时间间隔:Duration。以及一套新的用于取代SimpleDateFormat的格式化类型Da...
2020-04-30 15:41:11
1052
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
217
原创 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
1197
原创 CURL POST上传文件
curl "http://localhost/uri"-H"cookie: XXX"-F "key0=val0"-F"key1=val1"-F"key2=value2" -F"resourceFile=@/Users/XXX/YYY/20000930.log"-vv
2020-02-11 08:44:46
191
转载 Java动态代理模式:动态代理和cglib代理
一、代理模式介绍代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。简言之,代理模式就是设置一个中间代理来控制访问原目标对象,以达到增强原对象的功能和简化访问方式。代理模式UML类图举个例子,我们生活中经常到火车站去买车票,但是人一多的话,就会非常拥挤,于是就有...
2020-01-02 18:02:13
167
原创 2020我的工作目标
1. java/springboot开发能力进一步提升,了解更多的原理性知识。2. 架构能力和分析解决问题能力要上个台阶。3. 提高交际能力, 处事圆润一些。
2020-01-02 15:06:20
313
转载 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
210
原创 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
1095
转载 Java SPI机制探究
1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。整体机制图如下:Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程...
2019-11-13 14:20:51
138
原创 MAC上使用virtualenv创建python3的环境
mac上默认安装的是python2.7, 所以在terminal上输入python默认使用的是python2.7如果想使用python3,需要手动安装。步骤如下:1. 安装python3:https://www.python.org/downloads/release/python-374/选择一个版本下载安装,macOS 64-bit installer安装完成后, 在...
2019-07-23 17:05:35
371
转载 RestTempalate 基本使用
0. 目标在介绍如何使用RestTemplate之前,我们先抛出一些小目标,至少需要知道通过RestTemplate可以做些什么,以及我们要用它来干些什么简单的给出了一下常见的问题如下普通的Get请求获取返回数据,怎么玩? post提交表达的请求,如何处理 post请求中RequestBody的请求方式与普通的请求方式区别 https/http两种访问如何分别处理 如何在请求中...
2019-06-21 11:03:06
2271
转载 Docker入门介绍
2013年发布至今,Docker一直广受瞩目,被认为可能会改变软件行业。但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发。一、环境配置的难题软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?用户必须保证...
2019-03-28 15:09:43
108
原创 GITLAB-CI: gitlab-runner安装及注册
gitlab-runner的安装有多种方式,GitLab Runner can beinstalledand used on GNU/Linux, macOS, FreeBSD, and Windows. You can install it using Docker, download the binary manually or use the repository for rpm/...
2019-03-28 14:58:14
448
原创 GITLAB-CI: gitlab-runner等基本概念
gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成。中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括了测试,编译,部署等一系列自定义的内容。自动部署涉及了若干个角色,主要介绍如下 GitLab-CI 这个是一套配合GitLab使用的持续集成系统,是GitLab自带的,也就是你装GitLab的那...
2019-03-28 11:10:48
1187
转载 MySQL 三种关联查询的方式: ON vs USING vs 传统风格
看看下面三个关联查询的 SQL 语句有何区别?SELECT * FROM film JOIN film_actor ON (film.film_id = film_actor.film_id)SELECT * FROM film JOIN film_actor USING (film_id)SELECT * FROM film, film_actor WHERE film.film_id...
2019-03-12 18:21:09
1893
转载 Mysql索引失效的一些CASE, 工作中需要避免
转自:https://blog.csdn.net/wuseyukui/article/details/72312574案例所用的表结构、索引、与数据如下:索引失效与优化1、全值匹配我最爱2、最佳左前缀法则(带头索引不能死,中间索引不能断)如果索引了多个列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始 并且 不跳过索引中的列。正确的示例参考上图。错误的...
2019-03-11 15:58:43
1242
1
转载 JDBC与JDBCTemplate的关系
1.背景介绍Java程序员在以后的工作中很重要的一点就是得和数据库打交道,但是代码和数据库是两个不相干的.怎么使用代码对数据库进行操作呢,这个时候就用到JDBC。2.知识剖析什么是JDBC?①JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写...
2019-02-27 17:23:32
896
转载 ORM与JOOQ的关系
ORM全称是:Object Relational Mapping(对象关系映射),其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。举例来说就是,我定义一个对象,那就对应着一张表,这个对象的实例,就对应着表中的一条记录。JOOQ 是基于Java访问关系型数据库的工具包。JOOQ 既吸取了传统ORM操作数据的简单性和安全性,又保留了原生sql的灵活性,它更像是介于 ORMS和JD...
2019-02-26 19:30:48
345
原创 mysql offset,limit在offset较大时的优化
查某个表中的分页数据, 分页较深的情况会出现慢查询例如:SELECT * from tableA where mage_id = 1 order by id desc limit 1219060,10优化方法:SELECT a.id, a.mage_id, a.follower_mage_id, a.create_time, a.follow_source from tableA a ...
2019-02-21 15:27:17
916
原创 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
227
转载 MySQL的limit用法和分页查询的性能分析及优化
一、limit用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | `rows OFFSET offset ` (LIMIT offset, `length`)SELECT*FROM tablewhere c...
2019-01-28 16:03:25
185
转载 Tomcat 调优及 JVM 参数优化
Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你。对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU 的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU 的处理能力越强,系统运行速度越快。Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面...
2019-01-17 18:06:24
185
转载 一个困扰好久的问题:从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
2795
转载 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
1142
转载 聊聊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
405
转载 Java并发编程:深入剖析ThreadLocal
From:http://www.cnblogs.com/dolphin0520/p/3920407.html一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 这句话从字面上看起来很容易理...
2018-12-07 20:54:04
111
转载 JVM性能调优入门
JDK工具的使用。 调优策略。兵器谱jps列出正在运行的虚拟机进程,用法如下:jps [-option] [hostid]选项 作用 q 只输出LVMID,省略主类的名称 m 输出main method的参数 l 输出完全的包名,应用主类名,jar的完全路径名 v 输出jvm参数 jstat监视虚拟机运行状态信息,使用方...
2018-11-09 20:15:24
180
转载 JVM垃圾回收机制入门
1. 先看Java的内存存储结构假设你是一个普通的 Java 对象,你出生在 Eden 区,在 Eden 区有许多和你差不多的小兄弟、小姐妹,可以把 Eden 区当成幼儿园,在这个幼儿园里大家玩了很长时间。Eden 区不能无休止地放你们在里面,所以当年纪稍大,你就要被送到学校去上学,这里假设从小学到高中都称为 Survivor 区。开始的时候你在 Survivor 区里面划分出来的的“From...
2018-11-09 20:08:34
141
转载 视频压缩--ffmpeg的使用
首先需要下载ffmpeg.exe,下载后在D盘建一个文件夹,把这个程序移到文件夹中,然后按照以下步骤操作。1、在开始-->搜索中输入:cmd 按 enter 确认2、输入D: 按enter3、输入 cd ffmpeg 按enter4、输入压缩命令: 1)ffmpeg -i 123_ffmpeg.mp4 (压缩的文件更大更清晰,一般情况下不用) 2)ffmp...
2018-10-25 14:31:21
1913
转载 Spring AOP 之 理论篇
基本知识其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, 含义总有着各种莫名其妙的差别. 鉴于此, 我在本章的开头, 着重为为大家介绍一个 Spring AOP 的各项术语的基本含义. 为了术语传达的准确性, 我在接下来的叙述中, 能使用英文术语的地方,...
2018-09-28 19:26:58
152
Dive Into Python 程序源码
2009-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人