自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

原创 linux常用命令

1.文件操作进入相对目录:cd name进入绝对目录:cd /usr/local进入操作目录:cd查看当前操作目录: pwd创建文件夹: mkdir name删除文件夹: rm -ir fileDir删除文件:rm -i fileName2.日志操作动态查看日志:tail -n 20 filename(tail -f filename)筛选日志: cat -n runne...

2018-11-05 14:19:38 326

原创 MySql-索引的使用

【代码】MySql-索引的使用。

2023-01-10 10:07:17 221

原创 java获取微信基本信息

JAVA获取微信基本信息

2022-09-06 10:53:16 395

原创 RestTemplate与OkHttpClient的使用

RestTemplate restTemplate = new RestTemplate(new OkHttp3ClientHttpRequestFactory(new OkHttpClient().newBuilder() .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .writeTimeout(30,TimeU

2022-02-08 17:48:35 1105 1

原创 使用UNIAPP开发APP教程-02使用uniapp上传头像,照片及视频

选择头像function chooseAvatar(){ return new Promise((resolve, reject) => { uni.chooseImage({ count: 1, //默认9 sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有 sourceType: ['album'], //从相册选择 camera 从相机上传 默认二者都有 success: function (..

2021-08-20 16:45:48 641

原创 使用UNIAPP开发APP教程-03使用uniCloud开通阿里云存储上传文件

接上一篇文章,我们学废了创建UNIAPP项目及调试。这一篇我们创建一个uniCloud项目,创建过程见链接项目创建好以后,我们开通阿里云空间。接下来我们编写上传脚本function fileUploader(filePath) { const random = parseInt((Math.random()*100000).toString()); const time = new Date().getTime().toString(); const arr = filePath.split(".

2021-08-20 11:15:30 1101

原创 JAVA常用小技巧

生成6位验证码String.valueOf((Math.random() * 9 + 1) * Math.pow(10, 5)).substring(0,6)校验手机号String phone = "13838384381"boolean isPhoneNumber = phone!=null&&phone.matches("^[1]\\d{10}$")简单密码校验String password = "a1r8pm9"boolean isPassword = passwor

2021-06-16 10:08:58 75

原创 Map原理解析02----实现一个类似HashMap的容器类

背景在上一节Map原理解析01----数组与单链表我们了解了数组及单链表。这一节基于数组和单链表我们将要实现一个类似HashMap的Container容器类。该类应该具有以下特点:可以存储(put)KEY-VALUE键值对元素可以根据KEY获取(get)对应的VALUE值支持遍历元素支持获取容器中元素的总数支持从容器中根据KEY删除(remove)元素怀着这五个目的我们进行相应的实现实现import java.io.Serializable;import java.util.*;

2021-05-28 15:14:14 126

原创 mysql通过操作binlog日志恢复数据

1.背景由于公司业务需要,项目有一个每日通过推广实现返现功能。在测试环境进行测试的时候修改了定时任务执行时间为2s,实际生产环境中为为定时每天晚上2点。由于开发不慎导致部署到生产的执行时间为2s一次。污染了大部分的生产数据。由于平时频繁的更新,运维也没有做到部署前备份数据的操作。因此需要通过binlog日志恢复数据2.binlog日志基本常识binlog日志,即二进制日志文件。记录着mysql的所有sql变更操作。一般对于该日志文件我们主要用途有2个。一是增量备份(可以通过binlog日志来恢复数据)

2021-04-08 10:42:56 450 2

原创 MYSQL常用高级查询

使用mysql查询附近的人-- 其中$lng是你的经度,#$lat是你的纬度-- 表user_location必须有记录lng,latSELECT lng,lat,(POWER(MOD(ABS(lng - $lng),360),2) + POWER(ABS(lat - $lat),2)) AS distanceFROM `user_location` ORDER BY distance LIMIT 100使用时间进行数据统计及求和-- 统计某天用户注册量select date_fo..

2021-03-30 11:56:01 143

原创 MYBATIS返回map驼峰转换

1.自定义CustomWrapperimport org.apache.ibatis.reflection.MetaObject;import org.apache.ibatis.reflection.wrapper.MapWrapper;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Author: sir.li * email: [email protected]

2021-03-18 13:54:18 496 1

原创 自定义ThreadFactory

为了查阅日志输出,一般创建线程池我们都需要使用自定义线程工厂,给DEMOimport java.util.concurrent.ThreadFactory;import java.util.concurrent.atomic.AtomicInteger;public class NamedThreadFactory implements ThreadFactory { private static final AtomicInteger poolNumber = new AtomicInte

2021-03-11 16:15:11 743

原创 使用UNIAPP开发APP教程-01框架搭建

背景作为之前对前一篇放弃mui框架转战uniapp的填坑,借着最近几个月公司不忙,因此用uniapp写了一个外包项目,初夏APP。该APP主要包含功能有活动报名,商品购买,动态发布,聊天以及分享等。由于之前客户开发的APP出现过资金被盗刷的现象。因此在这次开发前,专程提出要对项目的数据做到安全。奔着多收了2w的RMB。因此在设计之初,引入了RSA加AES加密的功能。主要技术本人是后端JAVA出生的全栈(手动滑稽),因此在选型的时候放弃了uniCloud开发。原因是目前虽然uniCloud可做云服务端和

2020-10-19 18:12:38 2859

原创 使用yum进行安装docker-ce

如果已安装doker,卸载。yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docke..

2020-10-15 10:39:05 4365

原创 REDIS工具类使用

引入pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>配置单机版本#redis配置spring: redis: #redis数据库索引(默

2020-09-15 11:50:19 257

原创 ubuntu go卸载,安装以及版本升级

1.检查是否安装GOgo version2.卸载旧版本(不存在可以忽略这一步)对于使用sudo apt-get install golang-go 安装的go语言使用如下命令sudo apt-get remove golang-gosudo apt-get remove --auto-remove golang-go两条命令,依次执行。卸载完成后重复第一步对于使用wget安装,其实就是将前面安装Go的东西全部删除# 删除go目录(使用go env查看GOROOT的目录)sudo

2020-08-13 10:09:22 6751

原创 JdbcTemplate工具类DbCriteria

import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.ObjectSerializer;import com.alibaba.fastjson.serializer.SerializeConfig;import com.alibaba.fastjson.serializer.SerializeWriter;import org.springframework.beans.BeansException

2020-08-06 19:17:02 235

原创 JAVA中的冒泡排序,选择排序与快速排序

废话不多说了,上代码public static void main(String[] args) throws Exception { int length = 200000; long startTime = System.currentTimeMillis(); int[] bubblingArr = createArr(length); bubblingSort(bubblingArr); long bubblingTi

2020-08-06 11:29:27 130

原创 AES加密java端实现

在使用RSA完成敏感信息获取AES钥匙后,我们需要对数据传输进行AES加密,话不多说上AES核心加密代码。如需要Spring框架或者Netty框架的配置及使用,私聊联系我1.代码import org.bouncycastle.jce.provider.BouncyCastleProvider;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.nio.charset.StandardChars

2020-07-31 20:01:42 370

原创 使用shell脚本打包运行java环境

背景目前团队刚组,环境部署一片混乱。本来想搭建 jks+docker+gitlab+maven 组件一套自动化部署的。但是这块任务并未交给我做。我对同事搭建的服务也确实不满意。部署麻烦,每次都是半个小时。我都不想说啥。一直给我说k8s。2个月了连个日志收集都还做好。反正为了自己方便花了1个多小时搭建了一个临时环境和shell脚本。准备工作jdk运行环境gitlab安装maven安装项目编写脚本#!/bin/bashDEPLOY_PATH="/home/micro-pool/"APP

2020-07-09 10:59:40 518

原创 java实现INT自增主键

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.atomic.AtomicInteger;import java.util.stream.Collectors;public class SnowIdUtils

2020-06-18 18:47:08 1918

原创 java实现简单时间轮

背景闲来无聊,想去捣鼓一个redis的java内嵌版本,因此定义一个简单时间轮。为后续做准备。思路定义时间轮顶层接口定义抽象接口任务实现时间轮接口代码实现定义时间轮顶层接口public interface IWheel { /** * 添加任务 * @param task 任务对象 * @return taskId 任务编号 */ String addTask(ITask task,Integer delayedTime);

2020-05-29 17:38:43 2941 2

原创 EhCache使用实例

先直接上代码,后续有时间进行更新。<properties> <java.version>1.8</java.version> <ehcache.version>3.8.0</ehcache.version> <fastjson.version>1.2.62</fastjson.version></properties><dependency> <groupId&

2020-05-25 17:37:07 164

原创 java8基于okhttp发送请求

1.引入依赖<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.6.0</version></dependency>2.代码实现import okhttp3.*;import org.slf4j.Logger;import org.slf4

2020-05-22 14:30:27 419

原创 15位自增Id与11位不重复Id

背景由于使用推特的雪花算法,导致Long类型数据返回前端精度丢失,因此顺手自己定义了一个15位自增长ID生成方法和11位不重复Key代码废话不多说,上代码。public class SnowUtils { private static final int minNum = 1024; private static final int strMinNum = 100; private static final AtomicInteger bigAtomic = new Atom

2020-05-15 23:41:39 1058

原创 Map原理解析01----数组与单链表

背景说到HashMap,估计作为一个java从业者,大家应该都不陌生。其实早在两年前就有面试官问我HashMap的实现及原理了。当时作为一个从业不到两年的我,很流利的回答了原理是数组加链表。但是何为数组何为链表,HashMap初始化究竟做了那些事情等等,其实我根本讲不清楚讲不明白。这件事其实也一直耿耿于怀我心中。每当有点时间的时候,我都会尝试性的去看看hashmap的源码,但是鉴于实力水平及个人...

2020-05-11 01:08:22 310

原创 mysql+mycat搭建双主双从

1.准备工作准备4台的linux虚拟机:172.24.60.91 master1172.24.60.92 master2172.24.60.93 slave1172.24.60.94 slave2安装mysql,教程点这里,建议安装mysql最新的mysql8,默认支持utf-8全格式(utf8mb4)详见综合性能也优于mysql5.7。详见2.配置数据库master1与mas...

2020-04-24 20:46:30 238

原创 mui架构app-终章(我是怎样决定放弃mui)

背景接mui上一篇文章,时间间隔大概有一年半了。写这一篇博客算是为mui收尾。mui对于app的编写确实是一个不错的框架,简洁的css,下拉刷新,上拉加载都还挺不错的。用了这么久了,对于优点和缺点我结合自己经验做一个总结吧。优点实现了js+html+css混编app优秀的上拉刷新和下拉加载webview解决了单页面应用切换页面卡顿不流畅等问题想一想这个框架的优点差不多就这些了吧,严格...

2020-04-18 17:11:25 1038

原创 redis-cluster集群安装

背景构建汉城APP的时候,大量使用到了Redis缓存。现在缓存单机数据已经破G了。虽说对于现有用户量毫无压力。但考虑到现在时间多多(目前全职维护该项目中),在搞完了Mysql读写分离和mongo的高可用之后。准备对Redis下手了先说说redis-cluster是个什么东西,这玩意实现了两个功能,第一个就是高可用,啥是高可用。就是服务除了问题,用户无感知。还有一个功能就是实现了水平扩展,那啥是...

2020-04-18 12:59:14 261

原创 mongDB分片集群搭建及应用

背景MongoDB作为文档型数据库,以及其优秀的nosql机制。加上资讯、商品描述、评论等数据模型较多,且结构复杂,为了分摊mysql数据压力,这些详情内容将根据主键走mongo查询,为保证数据查询效率高且快。因此数据迁移时选择了mongoDB分片集群。并采用hash插入及查询。有效的分担了mysql数据库的压力同时由于采用hash方式做分片主键。也充分的提高了分片集群的性能...

2020-04-10 19:14:27 152

原创 mongDB复制集搭建及使用

1.简介Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。  下图是一个典型的Mongdb复制集,包含一个Primary节点和2个Secondary节点 ...

2020-04-09 18:03:57 491

原创 MongoDB常用命令合集

数据库基本操作

2020-04-09 15:31:47 191

转载 java类生命周期

一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段jvm(java虚拟机)中的几个比较重要的内存区域方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息、常量、静态变量以及方法代码的内存区域,叫做方法区常量池:常量池是方法区的一部分,主要用来存放常量和类中的符号引用等信息。堆区:用于存放类的对象实例。栈区:也叫java虚拟机栈,是由一个一个的栈帧组成...

2020-01-02 13:43:15 81

转载 java对象生命周期

java对象的生命周期由以下几个部分组成1).创建阶段(Created)2).应用阶段(In Use)3).不可见阶段(Invisible)4).不可达阶段(Unreachable)5).收集阶段(Collected)6).终结阶段(Finalized)7).对象空间重分配阶段(De-allocated)创建阶段通过以下的几个步骤来完成对象的创建过程1).为对象分配存储空间;...

2020-01-02 13:36:32 181

原创 at java.net.SocketInputStream.socketRead0(Native Method)

1.背景现在的Java EE 系统通常都依赖于远程服务,需要通过网络请求获取远程服务。不管是使用什么协议(HTTP,HTTPS,JDBC 等)请求远程服务,Java VM最终都将委托给Socket去实现。首先会通过connect方法与远程服务建立连接,连接建立成功后就可以 write/read 与远程服务实现数据通信。Socket.connect()、Socket.write()、Socket...

2019-09-26 18:39:00 8981

原创 centos stream安装MongoDB

1.配置yum源vim /etc/yum.repos.d/mongodb-org-4.0.repo2.添加以下内容[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/gpgcheck=0enable...

2019-09-23 10:17:46 122 1

原创 我们是年轻的一代,应该拥有理想和目标

https://www.bilibili.com/video/av51735112?spm_id_from=333.338.b_5f5f626f667169.7

2019-05-11 00:28:26 168

原创 阿里云CentOS STREAM 64位下安装MySQL8

1.查看MySQL官网中下载YUM源rpm安装包地址:https://dev.mysql.com/downloads/repo/yum/2.下载mysql源安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm3.安装mysql源yum localinstall mysql57-commu...

2019-04-24 16:50:08 287 1

转载 CentOS使用yum安装Redis

1.安装redis/*** 1.直接yum 安装的redis 不是最新版本,也有可能没有yum源导致不成功*/yum install redis /*** 2.从官网安装最新的redis* * 1).先安装Remi的软件源,官网地址:http://rpms.famillecollet.com/* 2).使用命令安装最新版本的redis:*/yum install -y ht...

2019-04-24 15:16:45 166

原创 Maven一些常用插件

1.打包不取消注释插件&lt;!--生成doc jar包--&gt;&lt;plugin&gt; &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; &lt;executions&gt;

2019-01-08 14:27:01 124

空空如也

空空如也

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

TA关注的人

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