自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

辉之素狂

天雨流芳

  • 博客(58)
  • 资源 (7)
  • 收藏
  • 关注

原创 Bitmap位图大法

Bitmap是位图的意思,使用位数字表示数据的状态,可以对大量数据进行快速的查找,统计。面试过程中很多都会涉及到大量数据少量内存来进行判断该元素是否存在?判断某一个ip重复次数最多,进行排序找出前100的数据等问题其实这一类问题用位图可以解决,还有的方法就是读取部分后写入,其实所有的方法都有点分而治之的思想。但是今天不讲分治法,只讲Bitmap思想和遇到问题怎么解决。原理:什么是bit,一个字节=8bit,使用二进制表示,一个字节能表示的范围为:0000 0000~...

2020-11-03 16:15:36 713

原创 使用django-admin生成后台项目示例

简单使用django-admin创建管理后台,开发之前准备要安装Anaconda,安装Anaconda主要是为了方便引用里面开源库,不安装也可以,(如果用不到没必要安装,可以考虑安装Miniconda)使用IDE是Pycharm,由于小辉j经常使用IDEA以及Android studio,使用pycharm就很容易就上手了。由于今天开发使用的Python的包是Django,所以先下载包,在pycharm里面就点击Setting ->Project:xxx ->Project I.

2020-11-01 15:46:00 618

原创 多注解自定义参数校验

好久之前更新了单个注解参数校验以后。偷懒了好久,今天就把多个注解自定义的参数校验写了一下,思路是一样的,只是一个注解包含的字段把它分解成了多个注解,类似于java-valid自带的不同功能的校验注解一般,自带的主要适用于不为空,数字型范围之类的校验,对于该属性包含几个值,集合元素个数的限制等都要自定义实现。下面我们这几肝一下:(打工人的觉悟,肝就完了)我把原先的注解分成了四类@Checked //主要用来标记方法或者类是否是校验的@CheckLength// 校验长度的,集合大小的...

2020-11-01 15:43:22 745

原创 自定义一个注解校验接口参数

这段时间封装了很多的sdk,有一些sdk要求请求参数做验证,由于封装sdk肯定是用到第三方的依赖越少越好,所以自己不才写了一个注解的校验,本版本校验没有给出自定一点message,如果要可以自己加上,修改一下即可。下面就说一下这个怎么实现的吧:一:注解类:注解类代码如下:package com.blog.annotation.one;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;

2020-08-19 22:33:46 500

原创 JSON工具类(FastJson,Gson,Jackson)

最近看到很多微信公众号推送的文章里面都提到放弃使用FastJson,要更换其他的两个可以参考下面的封装,仅供参考,如要使用请自测后使用,一:FastJson工具类:FastJsonUtil代码如下:import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;import lombok.extern.slf4j.Slf4j;import java.lang.reflect.Parameterize

2020-07-01 10:40:04 950 1

原创 操作系统之-页面置换算法(java代码模拟)

一:页面置换算法简介在进程运行过程中,若其所要访问的页面不在内存而需把它们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应将哪个页面调出,须根据一定的算法来确定。通常,把选择换出页面的算法称为页面置换算法(Page-Replacement Algorithms)。置换算法的好坏,将直接影响到系统的性能。一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面换出,或把那些在较长时间内

2020-06-15 15:50:03 4249

原创 (偶尔一刷)求一个集合里面和为某个数的子集个数

例如6 281 1 2 3 25 26输出:4代码:import java.util.*;public class Main { public static int[] numbers; public static Set<String> resultSet = new HashSet<>(); public static void main(String[] args) { Scanner scanne.

2020-05-27 14:34:54 366 1

原创 Redis分布式锁(看门狗)

1、锁住对象,并且设置一个过期时间(业务逻辑操作时间一定小于超时时间)原先能想到的就是这样的一个方案然后代码实现如下:public static boolean lock(String key, Long expireTime) { final long expires = Objects.nonNull(expireTime) ? expireTime : 10L; return (Boolean) redisTemplate.execute((RedisCallback) conn

2020-05-27 13:37:51 8714

原创 Java自动装箱和拆箱浅析

自动装箱和拆箱基本说明数据类型 字节大小 默认值 包装类 范围 byte 1 0 Byte -2^7 ~ 2^7-1 short 2 0 Short -2^15 ~ 2^15-1 int 4 0 Integer -2^31 ~ 2^31-1 long 8 0 Long -2^63 ~ 2^63-1 float 4 0.0 Float 3.

2020-05-27 11:29:18 141

原创 使用synchronized小坑

一般使用synchronized的时候,主要是用在方法上,代码块上,当使用在代码块的时候一般锁的都是类或者对象,但是有的人会去锁封装的常量。这个时候去锁这个封装的常量就会有问题了,我们来写个简单的demo来看看什么问题。错误使用案例:public static void print(Integer num) { synchronized (num) { try { ...

2020-04-11 21:36:41 250

原创 SpringBoot请求参数校验和接口参数校验

小辉是写接口的一个小菜鸟,今天就看到了一段代码,里面判断参数是否为空长度是多少,格式对不对等就是一堆判断,然后代码中就很多判断,或者单独写了判断方法,如果请求类不复用,或者复用但是判断都一样的话可以优先使用请求层校验,或者接口层校验。请求层就是在Controller就判断,接口层就是在Service判断。对于不复杂的场景这些校验其实够了。一:常用注解这个包下面的注解,是不是很熟悉呀?...

2020-03-28 14:56:20 2393

原创 knife4j(swagger的升级版)使用

目前很多的后台都开始使用swagger来写文档接口了,但是swagger有很多限制:1、swagger不支持头部自定义加入参数,如果是头部有token等之类参数要放入时swagger就无法调试接口了,只有看的份了。2、swagger对application/json请求的类型的确实很友好,但是对于表单类型的application/x-www-form-urlencoded就很不友好了,你使...

2020-03-24 20:21:50 2985 1

原创 Linux安装docker-compose安装

网上安装的方法有两种一种就是下面的命令,另外一种就是安装通过安装python,然后使用pip安装,如果环境中有pip的可以参看https://www.jianshu.com/p/f323aa0416da第一种安装方法:先执行:拉取docker-compose文件curl -L "https://github.com/docker/compose/releases/download...

2020-03-17 14:39:31 734

原创 Spring的事务使用

大家好,今天小辉就讲一下Spring的事务。事务百度上的解释是这个事务解释很明确哈就是要做的或所做的事情,在数据库中其实就是你要执行的语句,你要执行多少条语句,这些语句顺序怎样执行的你都可以通过事务来控制,事务还有一个特性就是可以后悔,对已经执行的语句进行回滚,(小辉开车中:想拥有这个特性呢)。转回来 ,Spring 事务其实就是对数据库事务的支持了。Spring 事务的隔离级别和数据库...

2020-01-05 12:59:28 600

原创 六种两个线程交替打印(0A1B2C....)方法(目前自我认知6种)

一:六种方法题目:编写程序实现两个线程一个线程输出0、2、3…51,另外一个线程实现A...Z, a...z,(0A1B2C....49x50y51z)很多地方都可以见到类似的笔试题或者面试题,今天小辉以自己认知的范围内列举了如下6种方法,如果你们还有其他的方法留言给小辉,小辉立马学习改正。1:使用synchronized & wait & notifypubli...

2019-12-31 15:33:55 610

原创 Disruptor购物案例(秒杀)

一:Disruptor简单说一说Disruptor 是一个 Java 的并发编程框架,大大的简化了并发程序开发的难度,在性能上也比 Java 本身提供的一些并发包要好。Disruptor原理:采用了一个数组,循环使用这个数组,从而形成了环。里面有一个序号管理器,使消费者和生产者之前快速正确地传输数据。RingBuffer中每个数据的序号,用于跟踪ringbuffer中任务的变化和消费者的消...

2019-12-13 16:07:28 761

原创 压缩文件工具类ZipUtil(批量文件操作)

一:FileInputStream,BufferedInputStream,BufferedImage,FileChannelFileInputStream是IO的,可以说是单线程阻塞的,并且是直接读取磁盘,性能不怎么友好,Buffered开头的:buffer是缓冲的意思,就是有一个缓冲区,实际上是一个容器,一个连续数组,默认数组大小是8192。FileChannel:国内大多翻译成“...

2019-12-11 15:59:42 2371

原创 MySQL同步修改sql和触发器去同步

同步是指把一个表数据值同步到另一个表中,一般都会连表来修改值格式:JOIN可以是JOIN,LEFT JOIN, RIGHT JOIN, INNER JOINUPDATE表名 1JOIN||LEFT JOIN||RIGHT JOIN ||INNER JOIN表名 2 ON条件SET表名 1.x =表名 2.x,表名 1.y =表名 2.y例...

2019-11-20 15:08:20 654

原创 Java使用LDAP代码

一、导入证书cmd运行命令:(管理员权限运行哦)(蓝色的是不可修改的的,其他对应替换就好了)1、导入命令:keytool -import -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -keypass changeit -alias ca_test-file C:\Users\Desktop\...

2019-11-12 18:04:26 1589

原创 Java使用证书ssl连接域服务器设置

域服务器采用的是windowsserver 2016版本,由于要新增修改密码和部门所以要证书才能操作,但是生成了证书以后导入到jdk证书库也不行,后面发现要在域服务器设置一下开启AD域证书服务,生成证书可以参考这个博客:生成证书1、打开域服务器的服务器管理,点击本地安全策略2、点击公钥策略,双击打开证书服务客户端-证书注册策略3、选择启用4、点击启用后如果安装了A...

2019-11-12 10:02:31 692

原创 Java中Class类方法使用浅析

Java中Class类方法使用浅析1、 public String toString() 源码:isInterface() ? "interface " : (isPrimitive() ? "" : "class ")) + getName(); 例如: System.out.println(User.class.toString()); Syst...

2019-11-06 17:41:15 873

原创 获取一个类方法属性和反射调用

一:获取类方法属性和反射调用写了一个demo:import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util....

2019-11-05 16:30:11 212

原创 Java中Objects、Collections、Arrays的方法讲解

一、Objects1、compare:比较两个对象是否相等2、equals:比较两个对象、数字、字符串、是否相等,如果是实例化对象最好重写equals方法,因为它就是调用equals方法。3、deepEquals:该方法其实就是在Objects.equals方法基础上修改调用Arrays.deepEquals方法可以算是深度比较。4、hash:调用了Arrays.hashCode方...

2019-10-25 16:09:05 474

原创 HttpServletResponse和 ResponseEntity下载文件预览图片

直接上菜,然后在点评一波:import org.springframework.http.*;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletResponse;import java.io.*;import java.net.URLEncoder;@R...

2019-07-31 22:40:54 5210 3

原创 Java函数式编程案例(JDK8新特性)

虽然现在jdk13都快出来了,但是最主流最稳定还是JDK8吧,JDK8也有很多新特性,一般新特性是对以前旧版本的优化或者衍生出的用法,我个人认为这个JDK8的函数式编程很有用,不仅可以优化代码还可以提高效率。通过看了书籍《Java 8函数式编程》自己提取出了对自己目前有用的一些操作,如果读者感觉不能满足你的需求可以看看书,顺便可以看一下《Java 8 Action》里面也有一些介绍。下面我就先上我...

2019-07-30 17:55:01 384

原创 JSON数据转化实体、List(Gson,FastJson,jackson,Json-Lib四种)

目前前后端分离是越来越趋势化了,前后端交互一般都是用json数据格式,前端传一堆json数据过来,我们转化就成了一个问题,下面就根据转化为实体类和List相关做了一个案例:首先使用的jar版本是:基本用的都是最新的版本: <dependency> <groupId>net.sf.json-lib</groupId>...

2019-07-01 23:23:53 1141

原创 Arrays使用asList方法的坑

话不多说:直接上代码:import java.util.Arrays;import java.util.List;/** * @author yh128 * @version 1.0.0 * @ClassName JavaUtilLearn.java * @Description 基础练习 * @Param * @createTime 2019年06月11日 09:37:0...

2019-06-11 11:25:21 717 1

原创 Mysql数据表和表数据复制

数据表复制使用下面的写法复制时候会把db2的结构和索引复制过来,但是数据是不会复制过来的CREATE TABLE IF NOT EXISTS db1.aLIKE db2.a使用下面的写法复制时候会把db2的结构数据都复制过来,但是索引不会复制过来CREATE TABLE db1.a SELECT * FROM db2.a赋值数据可以在后面加条件过滤复制CREATE TABL...

2019-03-08 10:57:10 5310

原创 mysql8.0.1 报错1055

今天执行SQL语句等后面都会报一个错误:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent o...

2019-01-31 17:01:25 2886 4

原创 Apache安装(1)-apr找不到,make错误等问题

一般服务器系统已经自带了Apache的一些Apache的东西了,但是他们不完整,所以我们安装就报APR找不到。下面有解决步骤,综合各个网站自己实践确认得出的哦:1.移除系统自带的不完整的APR相关的信息命令:yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs...

2019-01-31 14:27:30 2472 1

原创 SQL语句优化——结合书籍论坛小结

刚开始碰到一个旧系统里面的一条SQL语句,查询要200多秒,一看就是left join了很多表,并且索引使用有问题,条件连表之后再判断等问题。通过查看了mysql高性能和mysql语句优化书籍和论坛做一下小结并且记录一下这些知识点。1.在SQL语句前面加上explain 运行就可以查看到相关属性参数对于这些参数我把重要的提及一下,其他的可以百度一下explain对应的属性。这是我下面没...

2019-01-15 20:02:09 4765 4

原创 spring data使用操作mongodb数据库 springboot

在IDEA里面使用新建一个maven项目,项目的结构是如图所示:(注意:springboot 项目中所有的组件必须位于application同级或者子包下才会被扫描到,不然就会报上面的错!)导入相关的jar包1、加入jar包依赖 &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupI...

2018-09-12 14:14:59 5988 1

转载 mysql数据库命令集合笔记

/* Windows服务 */-- 启动MySQLnet start mysql-- 创建Windows服务sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SH...

2018-09-10 17:06:12 363

原创 Java使用MongoDB数据库进行增删改查,使用密码账户操作

1、MongoDB数据库用户的创建由于MongoDB安装默认的账户是没有密码的,是对所有ip 都开放的。我选择了新建一个用户来访问数据库,首先直接点击bin目录下的mongo.exe启动数据库使用admin数据库,新建一个用户use admin //使用admin数据库db.createUser({user:"ceshi",pwd:"123456",roles:["root"]})...

2018-09-10 15:26:51 5670

原创 Navicat for mysql连接MySQL8.0出现的1251错误,mysql8.0安装

(1)mysql8.0离线安装由于安装mysql8.0以后,都是采用的是离线安装,方便高效嘛。下载mysql-8.0.12-winx64.zip解压放在要安装的目录下面使用cmd命令模式把路径切换到刚才解压的目录下的bin路径下输入命令 mysqld --initialize -insecure 回车以后过个三四十秒钟应该安装成功了再数据命令mysqld --install 安...

2018-09-03 16:49:00 4098

原创 mysql高级【6】:mysql用户、角色的管理(单用户多角色等)

 讲了这么多可以发现很多的操作都是基于root(最高权限的用户)用户的,但是有的用户是新增的,不可能所有的人都有最高权限嘛,就好比一个公司,市场经理肯定没有审批项目经理的请假的权限吧,项目经理也没有删除公司人员信息的权限吧,等等,其实除了最高权限的管理员,很多的用户和角色都是只有操作使用到或者相关连的权限。这样可以保证系统的安全性。mysql数据库也是这样的,有的用户可能只有查看数据的权利,有的用...

2018-08-31 16:37:33 2596

原创 mysql高级【5】:mysql事件

 mysql中使用事件那么事件的线程应该是开启的,查看开启线程的命令是: show processlist ;event_scheduler开启事件才能执行的,如果没有开启开启:set global event_scheduler  = on;关闭:set global event_scheduler  = off;线程开启了那么我们来操作事件。新建一个表:下面事件的操...

2018-08-30 20:02:48 450

原创 mysql高级【4】:mysql触发器

在学习之前确定自己的mysql的版本如果使用最新的就没有下面的限制:在MySQL5.7.2版本之前,每个表最多可以定义六个触发器。(1)BEFORE INSERT - 在数据插入表之前被激活触发器。(2)AFTER INSERT - 在将数据插入表之后激活触发器。(3)BEFORE UPDATE - 在表中的数据更新之前激活触发器。(4)AFTER UPDATE - 在表中的数...

2018-08-30 17:40:47 506

原创 mysql高级【3】:mysql视图详解

mysql数据库里面的视图的创建很简单的,一般没有任何要求直接创建就可以这么写:1.普通视图create view 视图名称 as  select语句;如:CREATE VIEW ceshi1 AS SELECT * FROM user GROUP BY user_age; 2.可更新视图什么是可更新视图呢?这里根据...

2018-08-29 15:18:08 468

原创 mysql高级【2】:mysql游标、异常错误处理、存储函数

由于都是简单的使用,所以我直接把三个知识点都写入了一个例子里了,使用的数据库是上一次博客新建的数据库https://blog.csdn.net/qq_26584263/article/details/821166671、问题:有个用户表,新增的时候如果存在id已经存在了那么就返回 “用户id已存在!”,查询全部数据的名字和年龄段字符串,年龄段为童年: 0岁—6岁少年: 7岁—1...

2018-08-28 17:39:59 866

spring data mongodb

spring boot项目,使用springdata来操作数据库mongodb

2018-09-12

mybatis增删改查案例

使用mybatis来操作数据库,项目是maven创建的,使用的配置文件类型是configuration

2018-05-17

echarts地图扩展案例(云南地图面积)

echarts地图扩展案例,根据echarts官网上面香港人口地图扩展做参考做的,地图json数据已经上传

2018-05-10

echarts中国各个身份json数据打包

echarts扩展地图中国各个省份的地图的json数据打包,地图最小到县区级

2018-05-10

JDK7,8,9的中文文档

JDK1.7,1.8,1.9的中文文档打包下载,免去各个网站下载

2018-05-08

java爬虫(查成语应用程序)

java爬虫,根据爬取的成语所做的一个应用程序,对于刚学习爬虫的可以看看,当一个学习例子

2018-02-08

使用SpringMVC进行数据的传送,数据来自mysql数据库 (1)没有使用hibernate

使用SpringMVC进行数据的传送,数据来自mysql数据库 (1)没有使用hibernate

2017-06-26

空空如也

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

TA关注的人

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