理解HashMap

2019-03-15
阅读 16 分钟
9k
HashMap是基于哈希表实现的Map接口实现类。这个实现提供所有的map相关的操作,允许使用null的键和null的值。(HashMap与Hashtable大致是一样的,只是HashMap是不同步的,且它允许你null的键和值。);另外,HashMap内部元素排列是无序的。

FastDFS入门一篇就够

2019-02-22
阅读 18 分钟
107.1k
完整安装流程 下载的包都存放在~/caibh/fdfs-package目录下。 下载libfastcommon、fastdfs、fastdfs-nginx-module: {代码...}  安装 libfastcommon {代码...} 安装 fastdfs {代码...} 安装好后,程序是在/usr/bin目录下: {代码...} 而配置文件是在/etc/fdfs目录下: {代码...} 但是这些配置文件是不全的,而且都是模...

JVM的栈上分配

2018-11-09
阅读 3 分钟
9.9k
Java的对象一般都是分配在堆内存中的,而JVM开启了栈上分配后,允许把线程私有的对象(其它线程访问不到的对象)打散分配在栈上。这些分配在栈上的对象在方法调用结束后即自行销毁,不需要JVM触发垃圾回收器来回收,因此提升了JVM的性能。

Intellij IDEA下Spring Boot热切换配置

2018-08-08
阅读 2 分钟
16.5k
1.项目加入依赖spring-boot-devtools2.IDEA按ctrl+alt+s——Build,Excution,Deployment——Compiler——勾选Build project automatically3.IDEA按ctrl+shift+a——输入registry——Compiler——勾选compiler.automake.allow.when.app.running

SpringBoot使用Proguard混淆代码

2018-07-02
阅读 3 分钟
18.3k
项目使用Gradle做构建,使用的框架是SpringBoot、Mybatis、Mybatis Plus,sql都写在mybatis的xml文件中。

Mysql一条快速插入测试数据的sql

2018-06-16
阅读 1 分钟
2.3k
(SELECT dval FROM sys_dept ORDER BY RAND() LIMIT 1)用来从sys_dept表随机抽取一个dval的值作为sys_project的外键

我的springboot+vue前后端分离权限脚手架

2018-06-11
阅读 5 分钟
39.1k
Biu,boot和vue的连读而想到的名字。一个基于Spring Boot和Vue的Web开发脚手架,整合和最基础的RBAC权限控制,包括:菜单权限、按钮权限、接口权限。

mysql性能测试工具:sysbench

2018-06-10
阅读 8 分钟
9.4k
mysql性能测试工具:sysbench 安装 我的环境是centos7 {代码...} github下载:[链接] 解压: {代码...} 进入解压后的目录,安装: {代码...} hello world {代码...} 如何使用命令 初接触该工具最好先看看帮助,学习如何使用sysbench命令。sysbench --help {代码...} 上面显示,sysbench命令后面依次跟选项、测试名、命令...

MySQL的Linux环境设置

2018-06-09
阅读 4 分钟
3.3k
MySQL的Linux环境设置 关闭selinux 查看selinux状态: {代码...} 在配置文件中设置关闭selinux: {代码...} 将SELINUX=enforcing改成SELINUX=disabled 系统IO调度模式改为deadline 查看当前模式: {代码...} 如果默认已经是deadline就不需要改。修改: {代码...} 重启系统 上面两点都是需要重启系统后才生效的: {代码.....

MySQL主表存储以逗号分隔id时的增删改查操作

2018-05-18
阅读 5 分钟
4.1k
案例1:查询系统用户(993318396439445506)关联的产品关联的应用 {代码...} 难点: app表通过一个字段products维护所有关联的产品id的集合。如:2 或 4,11,12 实现: {代码...} 片段理解1:假设products=1,17 --> CONCAT(',',products,',') --> ,1,17, 片段理解2: {代码...} 拆分来理解: {代码...} 以上sql会产生...

Shiro用starter方式优雅整合到SpringBoot中

2018-04-19
阅读 16 分钟
66.6k
网上找到大部分文章都是以前SpringMVC下的整合方式,很多人都不知道shiro提供了官方的starter可以方便地跟SpringBoot整合。本文介绍我的3种整合思路:1.完全使用注解;2.完全使用url配置;3.url配置和注解混用,url配置负责鉴权控制,注解负责权限控制。三种方式各有优劣,需考虑实际应用场景使用。

SpringBoot代码方式注册Bean

2018-02-02
阅读 4 分钟
11.5k
写JavaFX时需要动态切换数据源,因此产生这个需求。 工具类,用于在代码中获取spring的上下文: {代码...} 下面这个类展示如何实现代码方式注册Bean: {代码...} 调用DatabaseService的类中可以拿到动态注入的JdbcTemplate: {代码...}

RabbitMQ快速安装配置指南

2017-10-03
阅读 2 分钟
5.4k
RabbitMQ快速安装配置指南 官网的安装教程由于需要解释原理很多废话,这里总结一下在CentOS7环境下的安装配置过程。如需理解原理,请看官网原文的安装指南或翻译 1. 安装RabbitMQ server {代码...} 2. 启动RabbitMQ server {代码...} 3.调整系统限制 调整操作系统允许打开文件的最大数量 {代码...} hard limit方式设置每...

RabbitMQ安装指南

2017-10-03
阅读 8 分钟
8.4k
Fedora系统自带有rabbitmq-server,但是版本很旧。 所以最好就是从PackageCloud或者Bintray下载.rpm文件来安装. 可以在 Fedora package 找到对应每个系统版本的rabbitmq-server。

GitBook关联GitHub

2017-10-03
阅读 3 分钟
17.3k
想用GitBook的客户端写文档,但是发现不能登录GitBook的帐号,主要目的是想把工作成果保存到网络上避免放在自己电脑上丢失。于是我采用折衷的办法,用GitBook在本机写作,然后把文章保存在GitHub。

Centos7安装Node.js

2017-09-24
阅读 1 分钟
3.5k
Enterprise Linux (RHEL and CentOS) users may use the Node.js and npm packages from the EPEL repository. Install the appropriate epel-release RPM for your version (found on the EPEL repository homepage), then run:

Nginx入门

2017-09-24
阅读 9 分钟
4k
其中baseurl部分,需要替换实际的参数:“OS” 换成 “rhel” 或 “centos”, “OSRELEASE” 换成 “6” 或 “7”由于我用的是centos7,所以baseurl=http://nginx.org/packages/centos/7/$basearch/

理解分布式id生成算法SnowFlake

2017-09-20
阅读 23 分钟
125k
分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。 概述 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: 1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0 41位,用来记录时间戳(毫秒)。 41位可以表示$2^{41}-1$个数字, 如果...

区分Python的redis客户端:hiredis、hiredis-py、redis-py

2017-09-18
阅读 2 分钟
10.1k
由于学习《Redis实战》用的是Python,需要按Python的redis客户端库。被几个库搞得有点晕,在此区分一下。 区分hiredis、hiredis-py、redis-py redis官网Github:[链接],这里会看到两个项目: hiredis --> 是一个C语言的redis客户端库 hiredis-py --> 是Python语言包装了hiredis的redis客户端库 Andy McCurd的Gith...

发现一个共享单车的逻辑Bug

2017-09-10
阅读 1 分钟
3.5k
本文只从业务逻辑角度讨论问题,并非针对具体的共享单车公司。 事情是这样的,我在8月31日骑行共享单车回家,并把单车停放在家门口,并确认是锁上的。 到今天(9月10日)再次有需要使用共享单车,打开app结果傻眼了,欠费120多元(我余额12元)。 仔细看是31日的行程产生了130多元的费用。 我第一时间找客户了(只能发文...

CentOS安装Python3

2017-09-05
阅读 1 分钟
2.4k
1)官网下载源码,如:Python-3.6.2.tgz2)解压:tar -xzvf Python-3.6.2.tgz3)进入解压后目录:cd Python-3.6.24)安装pip3依赖的模块:yum install -y openssl openssl-devel5)在Python-3.6.2目录下执行配置检查:./configure6)在Python-3.6.2目录下执行安装:make && make install

不折腾会死:CentOS7访问小米路由(Samba服务)

2017-08-29
阅读 3 分钟
9k
由于之家里电脑之前是用win10的,访问小米路由(1T硬盘版)只需要按win + r输入\\192.168.31.1即可访问到小米路由硬盘中的目录和文件。但是最近系统换成CentOS,想继续像以前那样访问小米路由,于是折腾了一番,以下是笔记。

不折腾会死:CentOS7安装JDK

2017-08-28
阅读 2 分钟
4k
很多人在CentOS下安装JDK,都会先删除原来系统自带的OpenJDK,其实不用这样做;很多人在配置JDK时都在/etc/profile下配置,其实也不是最优雅的方式。

不折腾会死:CentOS7更新Firefox浏览器

2017-08-28
阅读 2 分钟
9.3k
1) rpm -qa | grep firefox查询已安装的旧版firefox2) rpm -e firefox-45.4.0-1.el7.centos.x86_64 删除旧版firefox如果提示错误:error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied),是因为权限不够,加上sudo命令并输入密码sudo rpm -e firefox-45.4.0-1.el7.centos.x86_64

不折腾会死:CentOS7装Chrome

2017-08-28
阅读 1 分钟
10.2k
在使用sudo命令过程中出现cai is not in the sudoers file. This incident will be reported.的错误提示,意思就是我的cai用户名没有sudo权限。因此需要添加权限:

Windows安装Jekll

2017-07-15
阅读 3 分钟
7k
一直想弄个自己的个人博客,于是研究了一下Github Pages。发现很多人都推荐使用Jekyll这个工具来生成静态页面的博客。踩了点坑,在这里记录下来。

Gradle复合构建

2017-07-11
阅读 4 分钟
11.9k
简单地说,Gradle的复合构建就是一个构建包含了其它构建。Gradle的复合构建跟多项目构建很相似,唯一的区别是多项目构建引入的是单个project(引入的java依赖可以使用),而复合构建引入的是一个完整的构建(除了引入的java依赖,引入的task也可以使用)。

解决vue-cli element-ui打包报错Unexpected token: operator (>)

2017-06-20
阅读 4 分钟
18.5k
报错说有一个错误在打包后的文件中:assets/js/0.498ce690b229694d8858.js,错误的原因是:Unexpected token: operator (>),即:不能识别操作符(">"大于号)源文件出错地方是:element-ui/src/mixins/emitter.js第2行第0列打包文件出错地方:assets/js/0.498ce690b229694d8858.js第3947行第32列

VMmware安装VMware Tools问题解决

2017-04-07
阅读 1 分钟
5.7k
安装完在/user/src/kernels果然多了内核相关的目录:/3.10.0-514.10.2.el7.x86_64但是这个新安装的更错误提示里面的版本不对。因此重新安装vmware-tools还是会报同样的错。

使用Gradle整合SpringBoot+Vue.js-开发调试与打包

2017-04-06
阅读 11 分钟
26.8k
我是做Java后台开发的,一般做Java的要做网页都是用jsp,但我并不喜欢在jsp代码中使用jstl标签,我一直想找一个Java能用的前后端分离的解决方案。目前确定比较好的组合是:前台页面用Vue.js,后台用SpringBoot。但是Vue.js在网上能找到的都是需要Node.js环境进行打包的,这使得不懂Node.js的Java程序员望而却步。