- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 EasyExcel工具类(开箱即用)
EasyExcel依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.6</version></dependency>导入读取和写入导出Excel文件(.xls和.xlsx)创建Excel操作的工具类,将所有操作方法放进去统一管理/** *
2020-08-13 16:09:41
9849
8
原创 Redis常用数据类型命令
Redis支持的数据类型1: string(字符串)2:hash(哈希)3: list(链表)4:set(集合)5:zset(有序集合)Stringstring 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。(一个key最大能存储 512MB)String常用命令命令描述SET key value设置指定 key 的值GET key获取指定 key 的值GETSET key value将给定
2020-07-27 10:31:01
275
1
原创 CAS无锁机制原理解析
CAS基本概念CAS是英文单词Compare And Swap的缩写是一种无锁算法,像一种无阻塞多线程争抢资源的模型CAS机制当中的3个操作数:V 内存地址A 旧的预期值B 要修改的新值一个线程更新内存地址的一个变量的时候,当变量的预期值A和内存地址V当中的实际值相同时,就会认为没有其他线程修改过,就将内存地址V对应的值修改为B,反之则认为有其他线程修改过,放弃此更新操作,重复尝试获取内存地址值,直至修改成功为什么使用CAS在多线程高并发编程的时候,最关键的问题就是保证临界区的对象的安全访问
2020-06-15 10:44:24
737
1
原创 JAVA线程池基础知识解析
线程池是什么?线程池是一种集中管理多线程的容器,线程使用完不会销毁,会先储存在线程池中,在处理过多任务时会将任务添加到队列中,然后在创建线程后自动启动这些任务。为什么要使用线程池?1:减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2:可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。线程池工作流程创建完线程池后并不会立即创建线程, 而是等到有任务提
2020-06-11 15:52:50
230
原创 HashMap面试相关知识
数据结构java7:数组+链表(头插法)java8:数组+链表+红黑树(尾插法)Java7叫Entry在Java8中叫Node。hash 算法求得这个位置的时候,马上就可以知道对应位置的元素就是我们要的,不用遍历链表/红黑树,大大优化了查询的效率。//根据key通过hash算法获取对应的下标位置(获取key的hash值)static final int hash(Object key) { int h; // 先拿到key的hashCode值; 2.将hashCode的高16
2020-06-05 15:16:50
285
翻译 Session应用笔记
Session是什么?Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session为什么要使用Session?Session比Cookie使用方便,Session可以解决Cookie解决不了的事情【Session可以存储对象,Cookie只能存储字符串】。Session常用APIlong getCreationTime();//【获取Sessi
2020-06-02 11:38:34
173
翻译 Cookie应用笔记
Cookie是什么?基本概念:网页之间的交互是通过HTTP协议传输数据的,而Http协议是无状态的协议。无状态的协议是什么意思呢?一旦数据提交完后,浏览器和服务器的连接就会关闭,再次交互的时候需要重新建立新的连接。服务器无法确认用户的信息,于是W3C就提出了:给每一个用户都发一个通行证,无论谁访问的时候都需要携带通行证,这样服务器就可以从通行证上确认用户的信息。通行证就是CookieCookie的流程:浏览器访问服务器,如果服务器需要记录该用户的状态,就使用response向浏览器发送一个Co
2020-06-02 11:37:49
125
原创 RabbitMQ下载与安装教程
RabbitMQ和Erlang下载(windows)注:请参考RabbitMQ和Erlang版本对应关系安装RabbitMQ之前必须先安装Erlang环境RabbitMQ官网下载址:http://www.rabbitmq.com/install-windows.htmlErlang官网下载地址:http://www.erlang.org/downloads...
2020-05-08 16:18:03
10341
2
原创 最新RabbitMQ与Erlang的版本对应关系
如需查询最新版本对应关系请点击:官网最新对应版本如需查询更老版本对应关系请点击更多版本对应关系
2020-05-08 09:08:58
6672
原创 纯css渲染单选框、复选框
HTML<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><meta content="width=device-width, initial-s...
2020-03-13 13:41:00
243
原创 H5发送短信按钮
HTML代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>倒计时按钮</title> <style> /* 发送按钮禁止样式 */ .sentBtn.disabled { backgro...
2020-03-05 16:03:29
540
3
原创 Ubuntu解压文件命令
一:.tar格式(只负责打包,并不负责压缩,打包前后文件大小不变)tar -cvf demo.tar dirname //将目录打包tar -xvf demo.tar //解包到当前目录下tar -xvf demo.tar -C /opt/ //解包到指定目录下.tar.gz格式(占用cpu少,压缩效率高)tar -zcvf demo.tar.gz dirname /...
2020-03-03 11:55:27
543
原创 Ubuntu安装mysql5.7及配置远程访问
1:更新镜像资源(可选)sudo apt-get update2:通过镜像资源下载mysql5.7数据库sudo apt-get install mysql-server-5.7sudo apt-get install mysql-client-5.7sudo apt-get install libmysqlclient-dev3:查看mysql服务端口信息(记得防火墙开启3306...
2020-03-03 11:00:18
442
原创 Ubuntu16切换多版本的JDK配置
在自己的服务器上部署不同的项目做测试,由于不同的项目所用jdk版本不同,所以要在ubuntu上安装不同版本的jdk,当运行不同的项目就切换对应版本的jdk安装jdk8sudo apt install openjdk-8-jre-headless //安装jresudo apt install openjdk-8-jdk-headless //安装jdk...
2020-03-02 10:18:15
240
原创 MySQL常用命令语句收藏
一:数据定义语言DDLcreate,alter,drop--数据定义语言DDL(create,alter,drop)-- 一、数据库相关的DDL-- 1.创建数据库CREATE DATABASE mybase;-- 2.创建数据库并指定字符集CREATE DATABASE mybase1 CHARACTER SET UTF8;-- 3.查看所有数据库SHOW DATABASES...
2020-01-21 14:26:26
140
原创 面试:java-跳出多重循环的三种方法
1:使用(break)标记方式public class Demo{ public static void main(String[] args){ here: //在循环外面建立一个标记用于break跳出多重循环(注:here命名自定义) for(int i = 0; i < 100; i++) { for(int j = 0; j < 100; j++) {...
2019-08-26 16:35:56
346
原创 java-static关键字使用情形
static修饰符使用情形静态导包修饰类(静态内部类)修饰方法(静态方法)修饰代码块(静态代码块)修饰成员变量1:静态导包(较少使用)com.demo.utils包是我自己的测试工具包package com.demo.utils.StringUtil;public class StringUtil { public static boolean isBlank(St...
2019-08-22 13:52:03
115
原创 java-default修饰符使用情形
default使用情形switch语句中使用default接口中使用default修饰具体实现方法注解中使用default添加默认值1:switch语句使用defaultint num = 9; String film; switch (num){ case 1: film = "速度与激情1"; break; ...
2019-08-22 10:36:55
871
原创 java-final修饰符使用情形
final常见三大使用场景修饰类修饰方法修饰变量(成员变量、局部变量)1:final修饰类被final修饰的类,其功能和其他类一样,区别就final修饰的类是不能被其他类继承。注:1:fianl是不能用来修饰接口和抽象类的,否则会报错2:final类不允许被继承(意味着该类的设计永久不需要得到改变,不需要被拓展)3:final类中的所有成员方法都会被隐式地指定为final方...
2019-08-21 18:52:00
331
原创 docker容器基本命令使用(Ubuntu16环境)
1:docker搜索镜像文件docker search 【镜像文件名称】 //用于查询docker公共容器下有哪些镜像文件可以拉取(下面就拿nginx来举个栗子)root@iZbp1hh7ckvf1bzchy4otwZ:/# docker search nginxNAME DESCRIPTION ...
2019-08-15 14:29:57
471
原创 Ubuntu16安装redis,redis基本信息
redis安装1:输入sudo apt-get install redis-server2:验证会否安装成功:ps -ef | grep redis 以下结果则安装成功redis 24512 1 0 16:01 ? 00:00:01 /usr/bin/redis-server *:6379root 24582 24454 0 16:42 pts/1 ...
2019-08-09 16:46:43
498
2
原创 Linux查看版本、文件大小、文件查找命令
1:查看系统版本信息cat /etc/issue(简单)cat /etc/lsb-release(具体)uname -a(查看linux的内核版本和系统是多少位)2:查看文件和文件夹大小信息ll -h 会显示所有文件和文件夹大小和其他信息(注:对于文件夹的大小,显示只有4k)du -h --max-depth=0 查看当前文件夹使用内存大小信息du -h --max-depth...
2019-08-01 10:48:38
908
原创 Ubuntu16安装jdk8,自动配置环境变量
1:输入sudo apt install openjdk-8-jre-headless安装jre。输入java回车验证jre是否安装成功。2:输入sudo apt install openjdk-8-jdk-headless安装jdk。输入javac回车验证jdk是否成安装功。...
2019-08-01 09:31:25
597
1
Everything_1.4.1.877_x64-Setup.rar
2020-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人