- 博客(91)
- 资源 (2)
- 收藏
- 关注
转载 windows kill pid(查看端口占用情况)
windows 程序异常,端口被占用时,需要结束进程释放接口时:netstat -ano|findstr "8070" 查看端口号占用tasklist | findstr "pid" 查看进程的映像名称 taskkill /f /t /im java.exe 杀掉进程(进程名)taskkill /f /pid 14352 杀掉进程(pid)原文地址:https://juejin.cn/post/6844903810868101134...
2020-11-26 20:29:41
1342
原创 Java程序优雅关闭的两种方法(程序停止前做一些善后工作)
java程序关闭时,往往需要做一些善后工作,称之为优雅关闭。这里介绍两种比较典型的方法:一、注册关闭钩子通过调用Runtime.getRuntime().addShutdownHook()方法,添加一个最后运行的线程。@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplicatio
2020-09-24 20:34:50
2817
1
原创 MySQL 创建唯一索引忽略对已经重复数据的检查
mysql在已经存在数据的表上创建唯一索引,直接创建会报错,这时,在创建唯一索引的时候加上关键字"IGNORE "即可。ALTER IGNORE TABLE 表名 ADD UNIQUE `索引名` (字段);注意,在5.7版本已经不再支持该参数,可以通过select version();语句查看当前版本...
2020-08-25 18:15:47
1040
原创 GitHub、GitLab设置SSH认证
前言使用git从GitHub上clone项目,有HTTPS和SSH两种认证方式,HTTPS方式每次操作都需要输入用户名和密码,SSH在同一终端只需认证一次。更加方便,本文介绍在windows上使用SSH方式进行GitHub认证。步骤1、生成密钥首先进行本地SSH公钥的生成,打开git bash终端或cmd命令行(本文使用cmd命令行进行演示),输入:ssh-keygen -t rsa -C "邮箱地址",一路回车即可。2、验证密钥如下图、成功会在用户/.ssh文件夹下生成两个密钥文件。3、
2020-08-25 10:42:49
2082
原创 docker教程(一)windows系统安装docker
一、下载安装 Docker for Windows下载地址:Docker Desktop,成功安装Docker Desktop后,cmd中(已安装git可以在Git bash中)输入docker --version,打印出版本信息,表示Docker for Windows安装成功。二、docker简单使用实例1、下载示例项目通过命令行终端(cmd)或者Git,从GitHub克隆示例项目:git clone https://github.com/dockersamples/node-bulle
2020-06-30 17:17:09
1175
原创 linux下文件的打包和压缩
本文目录一、文件压缩的原理二、linux常见的压缩指令三、常用实例总结:重点内容:tar命令zip命令gzip命令bzip2命令 xz命令一、文件压缩的原理 简单来说,压缩技术就是在存储时将文件里面没有使用的空间利用起来,主要有以下两种情况。存储时去掉没有用到的空间。假设我们只是存储一个数字 1 ,二进制表示数字1只需1个bit是1就可以表示(1=1*2^0),但是为...
2020-04-29 16:03:24
476
原创 接收json或x-www-form-urlencoded类型参数
@RestController@RequestMapping(value = "public")public class ReceivePostRquest { /** * 接收 application/json;charset=UTF-8 类型的数据 * @param data **对象** * @return */ @Request...
2019-12-05 17:39:44
1974
原创 CURL 发送POST请求(带header和json或XML参数)
curl是一个命令行工具,通过指定的URL来上传或下载数据,并将数据展示出来。curl中的c表示client。格式curl http://ip:port/service/name/op -X POST -H "Content-type:application/json" -d ' json参数 '参数参数内容-H请求头-d内容-X请求协议-v...
2019-11-14 14:53:24
9823
原创 一篇文章学会Git
git是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)(Linux之父)创作,于2005年发布。最初目的是为更好地管理Linux内核开发。Git 在本地磁盘上就保存着所有有关当前项目的历史更新,处理速度快;Git 中的绝大多数操作都只需要访问本地文件和资源,不用实时联网。
2019-11-14 10:48:13
410
原创 form-data请求返回500(Could not parse multipart servlet request; nested exception is java.io.IOException)
问题描述:接口采用post请求,参数以表单形式提交,数据格式是application/x-www-form-urlencoded没有问题,数据格式用form-data时报错如下:{ "timestamp": 1571629285428, "status": 500, "error": "Internal Server Error", "exception": "...
2019-10-21 14:53:29
899
原创 问题记录
区块链项目1、向activemq推消息报错:Caused by: javax.jms.JMSException: Error while attempting to add new Connection to the pool很明显是向activemq连接池添加新连接失败,排查过后,发现是配置没有读进来:原来是同事多加了一个冒号,这样相当于默认值为空,当该配置没有读到的时候,不会报错(待验...
2019-05-21 11:03:42
2208
原创 面试系列之单例模式
一、单例模式单例模式是最常用的设计模式之一,常常在面试中被面试官要求手写。1、什么是单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。比如我们在系统启动时,需要加载一些公共的配置信息,对整个应用程序的整个生命周期中都可见且唯一,这时需要设计成单例模式。如:spring容器,session工厂,缓存,数据库连接池等等。2、如何保证实例的唯一2)由类本身进行实例化3)保证实例...
2019-03-12 16:19:33
586
原创 数据库索引原理及优化
数据库索引是每个程序员必知必会的内容,也是面试官最喜欢问的知识点之一,MySQL数据库是我们日常工作中最常用的数据库。MySQL支持诸多存储引擎,而各种存储引擎中索引的实现也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。本文将只关注最长用的BTree索引。一、索引相关的计算机原理文件系统及数据库系统普遍采用B-/+Tree作为索引结构,只有对计算机组...
2019-03-01 17:26:11
467
原创 面试系列之网络相关
一、请详细介绍一下TCP协议建立连接和终止连接的过程?1、建立连接:三次握手(1) 第一次握手:建立连接时,客户端A发送SYN包(SYN=1)到服务器B,并进入SYN_SEND状态,等待服务器B确认。(2) 第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=x+1),同时自己也发送一个SYN包(SYN=1),即SYN+ACK包,此时服务器B进入SYN_RECV状态。(3...
2019-02-25 16:08:17
309
原创 Java并发编程之详解工具类CountDownLatch
CountDownLatch是一个在java1.5被引入同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。countdownlatch在Java开发中应用场景及其广泛,同时也是面试中的高频考点。每一个Java程序员都应该熟练掌握,在本篇文章中,我将会从以下几方面对其进行详细讲解:一、根据源码刨析CountDownLatch工作原理1、实现原理2、源码解析2.1、C...
2019-01-17 14:32:12
473
原创 Java 8常用日期时间操作
旧的 Java 日期 API 也就是 Java 8 之前的日期 API 之烂是公认的。一方面在于它设计分工上不明确,往往一个类既能处理日期又能处理时间,很混乱;另一方面,在某些年月日期的数值映射存储违反人们的正常认知,如 0 对应月份一月、11 对应月份十二月等。常用 //获取当前时间并格式化 DateTimeFormatter format = DateTi...
2018-12-24 15:49:52
350
原创 Java类型转换中 (String)、toString、String.valueOf()区别
1、(String):强转,类型不匹配的时候会报类型转换异常。2、 toString :值为空的时候会报空指针异常。3、 String.valueOf() : 不会报上述两种异常、很多人推荐使用,但会出现逻辑问题,我们来看源码:可以看到如果对象为空,返回的是“null”,而不是null,如果后面用 str==null 进行判断会得出错误结果。 ...
2018-11-23 15:28:56
510
原创 csdn新版MarkDown使用说明
目录:一、基本语法二、生成列表,表格三、生成注释,数学公式,甘特图四、生成UML图标五、生成FLowChart流程图六、导出与导入 一、基本语法@[TOC](这里写自定义目录标题)## 合理的创建标题,有助于目录的生成直接输入1次<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成1级...
2018-11-23 14:48:51
469
原创 使用网络文件系统NFS实现Linux系统间文件共享
一、NFS简介1、NFS (Network File System/网络文档系统)是C/S(客户机/服务器) 架构,可以实现Linux 系统之间的文档共享 (Linux 和Windows 间的文档共享需采用SAMBA 服务);注意: NFS 只是一种文档系统,本身没有传输功能,是基于RPC协议才能达到两个Linux系统之间的文档目录共享;2、RPC(远程过程调用)它的...
2018-09-05 17:00:15
896
原创 java基础之常用 JVM 参数详解
控制参数-Xms设置堆的最小空间大小,默认物理内存的1/64(常见:-Xms512M)。 -Xmx设置堆的最大空间大小,默认物理内存的1/4(常见:-Xms2G)。 -XX:NewSize设置新生代最小空间大小。 -XX:MaxNewSize设置新生代最大空间大小。 -XX:PermSize设置永久代最小空间大小,默认为物理内存的1/64(常见:-XX:PermSize=128M)...
2018-09-04 11:33:50
381
原创 Java基础之详解jvm
一、JVM内存结构1、方法区(Method Area)别名Non-Heap(非堆)、永久代(Permanent Generation)、持久代(PermGen),各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、以及编译器编译后的代码等数据(jdk1.7的HotSpot中,已经把原本放在方法区中的静态变量、字符串常量池等移到堆内存中)。 注:在Java 8里...
2018-09-04 10:26:57
345
原创 Java io实现读取文件特殊内容进行替换
最近公司在做一个项目其中一个需求是读取文件中的特殊字符在其后进行添加或删除字符操作,本来想直接使用randomAccessFile按行读取,读取到特殊字符就进行添加或删除操作,但是randomAccessFile会覆盖后边的内容,虽然可以使用临时文件的方式解决,但是感觉很古怪,权衡之后用如下方式实现:public static void delAccessNumber(File source...
2018-08-22 17:19:59
1659
原创 Java基础之详解Java IO
Java IO基本概念Java IO:即Java输入/输出系统,区分Java输入和输出的方法:把自己当成程序, 当你从外边读数据到自己这里就用InputStream/Reader, 向外边写数据就用OutputStream/Writer。Stream:Java中将数据的输入输出抽象为流,流是一组有顺序的,单向的,有起点和终点的数据集合.就像水流。按照流中的最小数据单元又分为字节流和字符流...
2018-08-22 10:48:43
466
1
原创 为宋发声
最近看纪录片《河西走廊》,以朝代为时间线的叙事,却唯独跳过了宋朝,很多人弹幕发问,我虽知道这是因为宋时河西走廊不属于宋朝,而是属于西夏,但这却真实的反映出很多人对宋的不了解,大多数人对宋的印象只是宋朝是中国历朝历代最“憋屈”的王朝。 就拿我对宋的认识来说吧,我对宋朝的认识大体分为三个阶段,最开始我是从影视作品中的岳飞了解宋朝的,当时我只知道宋朝奸臣当道,尤其...
2018-08-08 22:38:27
424
转载 快速搭建一个本地的FTP服务器(windows系统)
快速搭建一个本地的FTP服务器 如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试。第一步:配置IIS Web服务器1.1 控制面板中找到“程序”并打开1.2 程序界面找到“启用或关闭Windows功能”并打开1.3 上面两步也可以简化为一步:按【Win + R】快捷键打开运行对话框,输入“optionalfeatures”后,按回...
2018-08-03 10:31:41
1230
原创 oracle存储过程实现判断表是否存在并插入数据
CREATE OR REPLACE PROCEDURE CCOD.license_detail (monthstr IN STRING, day1 IN STRING, day2 ...
2018-07-18 16:30:14
6872
原创 Java 基础之详解 Java 反射机制
什么是 Java 的反射机制? 反射(Reflection)是Java的高级特性之一,是框架实现的基础,定义:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 一般而言,当用户使用一个类的时候,应该先知道这个类,而后通过这个类产...
2018-07-10 20:08:55
305
原创 java实现获取月份的天数
/** * <p>Description: 获取月份的天数</p> * @param date 月份 * @return List<String> * @author wangjs * @date 2018年7月4日下午2:56:41 */ public List<String> getMonthDays(String d...
2018-07-04 15:03:05
3127
原创 Oracle数据库使用总结
1、删除字段值为空的数据delete from 表名 where 字段名 is null2、去重查数据select distinct(字段名) from 表名3、分组查数据select 字段名,count(*) from B_20180622 where 条件 group by 字段名4、截取已有字段值插入其它字段update 表名 set 字段名=substr(原字段值,INSTR(原字段值,...
2018-07-04 11:45:28
205
原创 mysql小技巧
1、explain用法显示了mysql如何使用索引来处理select语句可以获得select语句使用的索引情况、排序的情况以及连接表等等。可以帮助选择更好的索引和写出更优化的查询语句。除此以外,explain 的extended 扩展能够在原本explain的基础上额外的提供一些查询优化的信息,这些信息可以通过mysql的show warnings命令得到使用方法:在select语句前...
2018-06-27 14:56:44
192
转载 MyISAM和InnoDB的主要区别和应用选择
InnoDB: 支持事务处理 不加锁读取 支持外键 支持行锁 不支持FULLTEXT类型的索引 不保存表的具体行数,扫描表来计算有多少行 DELETE 表时,是一行一行的删除 InnoDB 把数据和索引存放在表空间里面 跨平台可直接拷贝使用 InnoDB中必须包含AUTO_INCREMENT类型字段的索引 表格很难被压缩MyISAM: 不支持事务,回滚将造成不完全回滚,...
2018-06-27 14:39:37
191
原创 ssm实战(三)linux安装环境(jdk+resin)并部署项目
一、前期准备1、安装rzsz命令 :yum install -y lrzsz报错:错误:Cannot find a valid baseurl for repo: base解决方法如下(修改dns配置)vi /etc/resolv.conf在此文件最后加入:nameserver 8.8.8.8如果没有vi编辑器可用:echo "nameserver 8.8.8.8" >>/etc/re...
2018-06-21 10:17:53
1391
原创 ssm实战——解决使用@responsebody注解,返回数据乱码和直接返回json数据(提示信息alert出的是对象)
项目中使用@RequestMapping注解后,返回值解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。再加上Spring中解析字符串的转换器默认编码是ISO-8859-1因此会出现两个问题:返回数据乱码和直接返回json数据(提示信息...
2018-06-04 14:58:08
1237
原创 ssm实战——SpringMVC异常java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonProcessingException
出现此异常,在pom.xml中添加如下依赖解决: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.7.4</version&g
2018-06-04 10:21:48
2579
转载 ssm实战——EL表达式不解析
使用EL表达式时,遇到了页面直接显示“${me.value}”,不解析的情况。查找资料原因是:在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持。刚好我使用Maven创建的webapp项目,web.xml里就是2.3版本的:<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,...
2018-05-31 17:17:22
1060
原创 ssm实战(二)文件上传和下载
上篇文章演示了搭建ssm项目,这篇文章在此基础上实现上传和下载一、pom文件加入上传所需依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3...
2018-05-29 20:41:48
1265
原创 ssm实战(一)项目搭建
1. 新建maven项目2. 编写pom文件,maven引入如下jar包 <!-- 包含Spring 框架基本的核心工具类,依赖其它jar包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifa...
2018-05-29 15:23:04
455
转载 使用MyBatis自动创建代码
MyBatis属于一种半自动的ORM(object relation mapping) 对象关系映射框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。 使用自动生成有很多方式,可以在eclipse中...
2018-05-28 10:46:58
266
原创 使用spring boot 实现发送邮件总结
最近在学sprin boot,总结一个发送邮件方法:可以发送普通邮件,带附件(可以是多个),带静态资源,使用模板的邮件难点:使用thymeleaf读取配置文件中的中文1.编写pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs...
2018-04-17 18:13:27
1324
sqlite3.exe
2017-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人