自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

松林羊的博客

个人站点:www.andus.top

  • 博客(63)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于Hexo-Ocean主题博客搭建

基于Hexo-Ocean主题博客搭建的改动记录

2019-09-26 21:11:50 2690 3

原创 MQTT协议基础学习

MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。

2023-11-06 17:25:08 332

原创 JAVA环境搭建

JAVA环境搭建

2022-12-01 10:19:35 785 1

原创 Axure9使用技巧(自用)

福利1、Axure9汉化及破解下载2、元件及原型资源(免费)页面面板1、页面可右键重复2、页面类型,可以为流程图,可以为页面3、可直接生成流程图,展示页面与页面间的关系4、拖动页面:按住空格,点击鼠标左键拖动页面5、回到页面原点:原型页面左上角点击圆点,回到原型页面0,0位置。注意,不能是搜狗输入法6、按住ctrl,鼠标滚动,进行页面缩放概要/大纲面板1、元件上下层级调整:方法①:概要/大纲面板中,调整元件顺序,第一个显示在最上面;方法②:上移一层:ctrl+];下移一层:ctrl

2021-07-14 00:36:34 2270

原创 java 读取excel(支持xlsx、xls格式, 支持合并单元格)

java读excel实现效果概念依赖代码实现测试代码ExcelReader.java 工具类实现效果将excel看成一个二维表,将数据存放在List<List>>中。[0,0]表示第一个单元格,[5,3]表示第6行,第4列数据,若空行或空列也会存在对应的下标位置。合并单元的值取最左上角单元格的值。每个子单元格的值与合并单元格的值保持一致。如:[0行,1行,0列,1列]为合并单元格,值为“AAA”。那么[0,0]、[0,1]、[1,0]、[1,1]的值都为“AAA”。可将某行为表头

2021-06-29 16:09:41 1772 1

原创 java创建excel(不用设置样式,支持xlsx、xls格式, 不支持合并单元格)

实现效果效果1:模板简单使用效果2:替换模板,按行追加数据效果3:替换模板,按列追加数据实现思路java中调整excel样式非常麻烦。参考freemarker,提供一个excel模板,打上标记,代码替换标记内容即可约定格式对于 ${*}模板, 将被替换为java中数据指定的内容,单个单元格单个内容替换。允许一个单元格内容存在多个${*}模板对于 ${*.*}模板 我们要求一行中 ${row.a} ${row.b} ${row.c} 属于同一个数据结构,不能有其他数据结构。下

2021-06-27 01:24:51 629 1

原创 Java URLDecoder.decode 加号变成空格

解决方法:先URLEncoder.encode一下,然后再URLDecoder.decode,如图:

2021-01-12 14:41:13 1794

原创 Java发送Https请求(跳过证书验证)-旧版

此代码已过时,请移步新版代码依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version> </dependency> <dependency> <groupId>org.apache.httpc

2021-01-05 09:53:01 505 1

原创 Java发送Https请求(跳过证书验证)-新版

依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version></dependency><dependency> <groupId>org.apache.httpcompone

2021-01-05 09:51:49 2767 1

原创 JPA映射关系

单向多对一场景一个顾客N个订单,一个订单属于1个顾客。// Order.class@JoinColumn(name="buyer_id")// 映射外键列名// 及时查询(默认):fetch=FetchType.EAGER、懒加载:fetch=FetchType.LAZY@ManyToOne // 映射单向多对一。publice Buyer getBuyer(){ return buyer;}测试保存 @Test public void persist() { Buyer b

2020-07-28 00:05:24 423

原创 正则表达式

一、正则表达式简介是什么?正则表达式(Regular Expression)是一种文本模式,包括普通字符(如,字母(分大小写)、数字)和特殊符号(称为’元字符’)。能干什么?使用单个字符串来描述和匹配一系列某个句法规则的字符串。二、语法? 通配符匹配0个或1个字符* 通配符匹配任意个字符^ 匹配输入字符串的开始位置[0-9] 匹配单个数字,[0...

2019-12-31 21:35:34 141

原创 Java多线程-synchronized

是什么synchronized是Java中实现线程同步的一种手段,底层是通过锁机制实现的。怎么用

2019-12-31 21:33:52 99

原创 Linux定时器crontab用法

初识定时器在Linux终端通过crontab -e命令,向文件中写入*/1 * * * * /home/ysl/tmp/SendMail.py(crontab表达式),即添加了一项每1分钟执行1次的定时任务。crontab表达式格式{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}...

2019-11-27 17:05:37 653

原创 Linux上Python3使用smtp发送邮件

实现功能使用Python+第三方邮件服务器(smtp.qq.com)实现邮件发送功能。代码实现#!/usr/bin/python# coding=utf-8import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerimport requestsimport jsonimp...

2019-11-27 15:49:31 1333

原创 JAVA多线程-Object.wait(),Object.notify(),Object.notifyAll()

初步理解wait()使线程停止运行,进入等待队列,会释放对象锁。notify()唤醒在此对象监视器上等待的单个线程。wait()与notify()Obj.wait(),与Obj.notify()必须与synchronized(Obj)一起使用,也就是wait()是针对已经获取了Obj锁进行操作。从语法角度来说就是Obj.wait(),Obj.notify()必须在、sync...

2019-11-18 21:05:24 366

原创 Java多线程-基础篇

基本概念线程程序中单独顺序的控制流线程本身依靠程序进行运行线程是程序中的顺序控制流,只能用分配给程序的资源和环境进程正在执行的程序一个进程可以包含一个或多个线程至少包含一个线程单线程程序中只存在一个线程,实际上主方法就是一个主线程多线程一个程序中运行多个任务目的:更好的使用CPU资源并行真正的同时,多个cpu实例或者多台机器同时执行一段处理逻辑。...

2019-11-08 21:24:19 182

转载 Docker,Docker Compose,Docker Swarm,Kubernetes(k8s)之间的区别

最近在学习Docker容器,了解到一些相关的技术,像是Kubernetes,Docker-compose,Docker Swarm,分不清这些东西之间的区别,特意去研究了一下,分享一下,适合刚入门学习容器的同学了解。DcokerDocker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Dock...

2019-11-01 11:42:15 446

原创 Vue SpringBoot实现Html和Markdown格式内容(含图片上传)保存到MySQL

实现功能1.本文代码实现了前端Markdown格式的博文保存到MySQL的功能。2. 包括文章中图片的上传,在用户选择图片后就将其传到后端并将图片的链接返回给前端,填入到指定的位置。遇到的问题由于Markdown编辑器原因,返回的图片路径不能有\与空格如果遇到第二次进入编辑页面不能显示文章内容,那么在下方getArticle()方法中,处理响应的最后一行加入// 解决第二次进入不能显示...

2019-10-24 20:45:43 6194 2

原创 JS监听浏览器地址栏URL变化

假设业务场景:视屏or图片只在首页展示。URL格式:http://localhost:4000/page/2/HTML中实现<body onhashchange="myFunction()"></body><script>function myFunction() { var href = window.location.href; var id...

2019-10-18 20:43:22 13399

原创 JS实现媒体查询功能

记录一下用JS实现媒体查询功能的代码。用JS实现遇到过window.οnresize方法失效的情况,用Jquery方式实现没问题。// 窗体变化监听window.οnresize=function(){ if(document.body.clientWidth <= 768){ }else if(document.body.clientWidth <= 900){ }el...

2019-10-18 20:28:32 2214

原创 SpringBoot应用部署到Glassfish上(dev环境)

需要将springboot打成一个war包,默认打成jar包。做如下修改:1.将pom.xml文件首部的jar改成war<groupId>com.ysl</groupId><artifactId>springboot</artifactId><version>0.0.1-SNAPSHOT</version>...

2019-10-17 16:21:29 1140

原创 Dockerfile使用-集成JAVA Python Redis Tomcat Nginx镜像,Based on Ubuntu18.04

镜像信息Based on ubuntu18.04Environmentjdk8 >> apt install -y openjdk-8-jdktomcat7 >> install dir:/opt/tomcat-7.0.96python3.7 >> install dir:/opt/Python-3.7.4nginx1.14 >&gt...

2019-08-22 22:38:03 1047

原创 Dockerfile笔记

Dockerfile是一个包含用于组合镜像的命令的文本文档。Docker通过读取Dockerfile中的指令自动生成镜像。docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。docker build -f /path/to/a/Dockerfile .如果构建成功,您可以指定存储...

2019-08-22 16:26:34 154

原创 JAVA操作CSV

记录一下java创建csv的代码。引入jar包<dependency> <groupId>net.sourceforge.javacsv</groupId> <artifactId>javacsv</artifactId> <version>2.0</version> &...

2019-08-14 11:16:25 317

原创 Windows10+Ubuntu18.04+双硬盘(SSD+HDD)安装双系统

操作步骤主要参考以下两篇文章,很不错http://www.360doc.com/content/17/1205/09/26037923_710047963.shtmlhttps://blog.csdn.net/lwplwf/article/details/79903450情况说明采用的Windows中引导Ubuntu的方式。Ubuntu的启动项:1024M(512M足以),挂载点...

2019-08-13 16:54:23 2066

原创 Centos7升级OpenSSH到OpenSSH_8.0p1版本

基础环境CentOS Linux release 7.6.1810 (Core)OpenSSH_7.9p1, OpenSSL 1.0.2k-fips 26 Jan 2017升级准备在打开ssh连接工具(如xshell)的同时打开文件传输工具(如xftp)。因为升级过程不能创建新的连接,以备手动上传文件需要。将要升级的软件包预先下载好,如本次的openssl-1.1.1c.ta...

2019-08-13 15:55:45 1896

原创 Redis(十)-主从复制+哨兵模式

是什么?即 Master/Slave模式。Master主写,Slave主读。当Master数据一有更新就根据配置和策略自动同步到Slave上。怎么用原则:配从(库)不配主(库)2.步骤:确定master的ip与port:slaveof master-ip master-port单台机器模拟时需要的配置拷贝多个redis.conf文件设置属性为:daemonize ye...

2019-08-11 22:58:25 129

原创 Redis(九)-消息订阅与发布

1. 定义Redis 发布订阅(pub/sub):是一种进程间消息通信模式——发送者(pub)发送消息,订阅者(sub)接收消息。2. 示意图来源:Redis发布订阅|菜鸟教程下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 publish命令发送给频道 channel1 时, ...

2019-08-09 16:23:40 144

原创 Redis(八)-事务

一次执行多个命令,本质是一组命令的集合。事务中的所有命令都会序列化,按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。watch key [key…]:监视一个或多个key。如果在事务执行之前这个或这些key被其他命令锁改动,那么事务会被打断。multi:标记一个事务块的开始unwatch:取消watch命令对所有key的监视exec:执行所有事...

2019-08-08 09:46:58 103

原创 Redis(七)-RDB&AOF

1. 使用建议如果只使用Redis的缓存功能(数据只存在与服务器运行的时候),可以不适用任何持久化仍然建议同时开启RDB、AOF备份。通常AOF文件备份的数据比RDB文件备份的要更加完整,用AOF来保证数据不丢失,作为恢复数据的第一选择;用RDB来做不同程度的冷备,在AOF文件都丢失或损坏不可用的时候,可以使用RDB进行快速的数据恢复。性能方面建议只在slave上持久化RDB文件,...

2019-08-01 11:06:43 124

原创 Redis(六)-持久化之AOF

1. AOF是什么AOF(append only file) :以日志的形式来将Redis执行过的所有写指令记录到文件中,且只允许追加文件但不可以更改文件。默认文件名:appendonly.aofflushall也会被当做写操作,记录进文件2. 如何启动AOF备份默认是关闭AOF备份功能的,将redis.conf中的appendonly no改为appendonly yes,即可...

2019-08-01 10:55:47 139

原创 Redis(五)-持久化之RDB

1. RDB是什么RDB(Redis Database):在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是术语Snapshot快照,它恢复时是将快照文件直接读到内存。默认文件名:dump.rdb2. RDB产生的过程Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程结束后,再用这个临时文件替换上次持久化的文件。 整个过程中,主进...

2019-07-30 23:37:47 164

原创 Redis(四)-配置文件解读

修改前将默认的配置文件(redis/redis.conf)拷贝一份单位# Note on units: when memory size is needed, it is possible to specify# it in the usual form of 1k 5GB 4M and so forth:## 1k => 1000 bytes# 1kb => 1024 b...

2019-07-29 19:18:32 113

原创 Redis(三)-五大数据类型+操作命令

常见五大数据类型string、list、hash、set、sorted setStringsting 是redis最基本的类型。是二进制安全的,即redis的string可以包含任何数据。如图片或者序列化的对象。单个string类型的value大小限制为512Mhash是一个键值对集合,类似java里的Map是一个string类型的key和value的映射表,适合存储对象。...

2019-07-27 23:33:32 185

原创 Redis(二)-入门基础知识+基础命令

单进程 默认16个数据库 命令: dbsize:查看key的个数 keys *: 查看当前库所有key keys k? : 查看以k开头的key flushall:清空所有数据库 flushdb: 清空当前库...

2019-07-22 19:42:01 161

原创 Linux(Ubuntu 18.04 LTS)使用参考记录

系统:ubuntu18.0.4 LTS1. 分区与挂载Linux新建分区https://blog.csdn.net/github_33809414/article/details/85208666/usr目录挂载到新分区https://blog.csdn.net/github_33809414/article/details/85207300/var目录挂载到新分区https://b...

2019-07-21 07:51:52 895 1

原创 Redis(一)-安装+HelloWorld

一、Redis简介Redis(Remote Dictionary Server: 远程字典服务器)本质是一个Key-Value类型的分布式内存数据库。整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理约8万次写操作,10万次读操作,是已知性能最快的Key-Value DB。Redi...

2019-06-30 17:55:33 289

原创 NoSQL概述

一. 为什么会出现NoSQL?1. 单机MySQL时代在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。单机MySQL 网站架构 - 上述架构下数据存储的瓶颈是什么? - 1.一个机器能存储数据量的总大小有限 - 2.数据库的索引与数据在同一个数据库,随着索引增加,效率反而降低 - 3...

2019-06-30 16:44:02 232 3

转载 JSTL关于c:forEach序号的问题

http://blog.sina.com.cn/s/blog_46cb81db0100gksn.html

2019-06-29 17:04:01 455

原创 maven简记

maven构建相关命令需要在pom.xml所在目录执行mvn clean 清理mvn compile 编译主程序mvn test-compile 编译测试程序mvn test 执行测试mvn package 打包maven坐标(定位项目)groupid: 一般是公司域名倒叙+项目名称artifactid: 模块名version: 版本maven仓库本地...

2019-06-27 21:45:18 117

原生android 密码管理app

一个用于保存账号和密码的app。主要用到的知识点:expandlistview父元素与子元素的长按事件及点击事件,Fragment的使用,litepal的使用,AES加密,自定义控件等。对于生活中特别重要的密码,可以对分组设置单独设置密码,将重要密码放入该分组,进行双重保护。注意:app卸载后密码信息也将丢失。

2017-12-26

java se 作业管理系统

java 控制台程序,很简单的应用(代码还是有1000左右),初学者可以学习借鉴。

2017-12-19

原生android常用开发模板

底部菜单使用BottomNavigationView github开源控件,底部菜单颜色及个数可随意扩展,且菜单可设置靠左。侧滑栏使用coordinatormenu github开源控件,及Fragment的使用。适合初学者。

2017-10-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除