- 博客(40)
- 收藏
- 关注
原创 自定义注解并进行使用
import org/*** 定义一个切面处理@LogExecutionTime注解 注释的方法* 切面 = 切入点 + 通知* 拦截被注解标识的方法,然后对这些方法进行增强,比如:日记,事务,安全等/*** 环绕通知: 处理所有被 @LogExecutionTime 注释的注解* 定义切入点和通知,应用于带有@LogExecutionTime注解的方法* @param joinPoint 表示正在执行的连接点* @return。
2023-11-14 20:15:54
194
原创 ElasticSearch知识笔记
ElasticSearch笔记Typora1. Kibana操作ES# 1. 索引index的相关操作# 查看es中的索引类型GET /_cat/indices?v# 创建索引PUT /products# 指定索引的分片信息PUT /orders{ "settings": { "number_of_shards": 1, "number_of_replicas": 0 }}# 删除索引DELETE /emsDELETE /products
2022-04-27 19:23:12
2782
原创 如何在Docker中简单配置Kafka
如何在Docker中简单配置Kafka编辑器: Typora1.在 docker 中拉取 kafka 和 zookeeper 镜像[root@VM-24-5-centos ~]# docker pull wurstmeister/kafka[root@VM-24-5-centos ~]# docker pull wurstmeister/zookeeper2. 启动 zookeeper[root@VM-24-5-centos ~]# docker run -d --name zookee
2022-04-20 09:22:48
7755
1
原创 Stream流的学习笔记
stream的学习笔记知识来源于: Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合详细的图解请查看上文,该部分代码是方便自己查阅使用package com.jd.code.day3;import java.util.*;import java.util.stream.Collectors;import java.util.stream.IntStream;import java.util.stream.Stream;/** * stream不存储数据,.
2022-04-15 18:01:47
221
原创 CountDownLatch、CyclicBarrier和Semaphore的区别
CountDownLatch、CyclicBarrier、Semaphore1. CountDownLatchCountDownLatch 是一个同步工具类,用来协调多个线程之间的同步。这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。CountDownLatch 的作用就是 允许 taskNum 个线程阻塞在一个地方,直至所有线程的任务都执行完毕。在文件分片下载的操作中,多个线程分别执行各自的下载任务,使用 CountDownLatch 等待下载完成再进行文件
2022-03-19 01:18:00
431
原创 文件分片下载 -- 防丢失校验
文件分片下载防丢失/篡改校验使用MD5进行加密案例public class Test05{ public static void main(String[] args) throws Exception { String origin = "D:/liumingshan3/Desktop/els.zip"; String target = "D:/liumingshan3/Desktop/els2.zip"; File file1 =
2022-03-15 09:27:07
549
原创 MySQL笔记详解
MySQL– 2021文章目录MySQL@[toc]1.介绍1.1 mysql的特点1.2 SQL语言的组成1.3 非关系型数据库2. 数据库操作2.1 数据库的常用操作(DDL)2.2 数据库表的操作(DDL)2.3 数据库的基本操作(DML)2.3.1 数据插入:insert2.3.2 数据修改:update2.3.3 数据删除:delete2.4 MySQL约束2.4.1 主键约束2.4.1.1 添加单列主键2.4.2 非空约束(not null)2.4.3 唯一约束2.4.4 默认约束2.4.
2022-02-18 23:03:30
838
原创 RequestBody、RequestParam、PathVariable区别
RequestBody、RequestParam、PathVariable区别@RequestBody接收的是请求体里面的数据@PostMapping("/dept/add")public boolean addDept(@RequestBody Dept dept)# 主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);- 如果前端传递的数据无法存储在数据库可以加上RequestBody- 而RequestParam接收的是key-value里面的参数#
2021-12-29 16:55:07
765
原创 RandomAccessFile短点续传
RandomAccessFile短点续传1. 什么是短点续传?# FTP(文件传输协议的简称)(File Transfer Protocol、 FTP)客户端软件断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载未完成的部分,而没有必要从头开始上传下载。用户可以节省时间,提高速度。2. RandomAccessFile类2.1 读写的函数package co
2021-12-25 22:24:50
724
原创 SpringBoot实现AOP详解
SpringBoot实现AOP详解1. Spring框架实现AOP首先我们知道Aspect(切面) === Advice(通知) + PointCut(切入点)Advice(通知): 业务逻辑中一些附加操作称之为通知,可分为前置,后置,环绕,异常,最终。PointCut(切入点):配置通知应用于项目中的具体哪些操作1.1 类 implement xxAdvice接口1.2 xml进行配置<!-- 配置aop切面 --><aop:con
2021-11-20 16:54:33
8563
原创 Spring的事务管理详解
Spring的事务管理详解1、自定义的事务管理器1.1 编程式事务通过在业务层中注入事务管理器对象。然后通过编码的方式进行事务的控制具体的配置<!-- 使用DruidDataSource生成数据源,然后将其注入到spring容器中 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" v
2021-11-17 17:47:06
774
原创 MyBatis知识点
MyBatis三层架构MyBatis 框架 MyBatis 是一个优秀的基于 java 的持久层框架,内部封装了 jdbc,开发者只需要关注 sql 语句本身,而不需要处理加载驱动、创建连接、创建 statement、关闭连接,资源等繁杂的过程。 MyBatis 通过 xml 或注解两种方式将要执行的各种 sql 语句配置起来, 并通过 java 对象和 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java对象并返回。
2021-10-13 12:20:54
110
原创 Linux目录结构
Linux目录结构1. Linux的目录结构root : 该目录为系统管理员目录,root是具有超级权限的用户。bin ->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统以来的一些文件库。usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。lib->usr/lib: 这个目录存放着系统最
2021-10-13 12:17:39
121
原创 Exception
Exception之前一直记不住异常处理try { int a = 1 / 0;} catch (Exception e) { // e.getMessage() 获取的是异常信息, String message = e.getMessage(); System.out.println("message = " + message); // 打印异常链信息 e.printStackTrace();}=========================
2021-10-13 12:14:10
93
原创 ArrayList、LinkedList、HashMap分析
ArrayList、LinkedList、HashMap分析1. ArrayList 分析案例ArrayList<Integer> list = new ArrayList<>();list.add(1);list.add(2);源码// 默认容量大小为10private static final int DEFAULT_CAPACITY = 10;// private static final Object[] EMPTY_ELEMENTDATA =
2021-10-12 15:55:34
321
原创 SpringAOP代理模式详解
SpringAOP1. 主要内容2. 代理模式代理模式在Java开发中是一种比较常见的设计模式,设计目的旨在为服务类与客户类之间插入其他功能,插入的功能对于调用者是透明的,起到伪装控制的作用,如租房的例子:房客、中介、房东,对应于代理模式中即:客户类、代理类、委托类(被代理类)为某一个对象(委托类)提供一个代理(代理类),用来控制对这个对象的访问。委托类和代理类有一个共同的父类或父接口,代理类会对请求做预处理,过滤,将请求分配给指定对象。生活中常见的代理情况:租房中介、婚庆公司等
2021-10-04 09:55:41
229
原创 MongoDB常用操作
MongoDB常用操作1. 基本命令# 选择切换数据库:use articledb# 插入数据:db.comment.insert({bson数据})# 查询所有数据:db.comment.find();# 条件查询数据:db.comment.find({条件})# 查询符合条件的第一条记录:db.comment.findOne({条件})# 查询符合条件的前几条记录:db.comment.find({条件}).limit(条数)# 查询符合条件的跳过的记录:db.comment
2021-10-03 17:23:19
100
原创 JWT详解
JWT详解1. 介绍JWT简称 JSON Web Token,也就是通过**JSON形式作为Web应用中的令牌**,用于各方之间安全地将信息作为JSON对象传输,在数据传输的过程中还可以完成数据加密、签名等相关处理。2. 流程图2.1 认证流程首先,前端通过Web表单将自己的用户名和密码发送到后端的接口。这一过程一般是一个HTTP POST请求。建议的方式是通过SSL加密的传输(https协议),从而避免敏感信息被嗅探。后端核对用户名和密码成功后,将用户的id等其他信息作为 JW
2021-10-02 11:06:21
3823
原创 Swagger2的使用解析
Swagger2的使用解析1. 依赖<!--swagger2依赖--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version></dependency><!--swagger2官方UI-->
2021-09-27 09:25:38
263
原创 Java 过滤器Filter 监听器Listener 拦截器Interceptor 全局异常处理Exception 详解
过滤器 (Filter)1. 主要内容2. 过滤器2.1 介绍Filter即为过滤,用于在Servlet之外对Request或者Response进行修改。它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Fiter的完整流程: Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。在一个web应用中,可以开发编写多个Filter,这些Filter组合起来称之为一个Fiter链。
2021-09-26 23:20:48
659
原创 IDEA清理无用的jar包
学习内容:1、 Maven本地仓库越用越大,删除无效版本文件从各个maven库下载下的jar越来越多,同时由于网络或其他问题导致jar没下载下来,徒留一堆无用非jar文件。另外还有许多自己本地打包的无效版本等等。现使用如下代码直接将不包含jar包的版本下文件统统删掉。public class DeleteUselessRepository { private static String MAVEN_PATH = "D:\\E_DISK\\LocalRepository";
2021-09-17 17:30:41
3996
原创 Redis 五大数据类型操作
学习内容:1、 String 字符串类型# 命令: keys get set incr(+1) decr(-1)# ===========================================127.0.0.1:6379> keys *(empty array)127.0.0.1:6379> get key1(nil)127.0.0.1:6379> set key1 "hello"OK127.0.0.1:6379> get key1"hello
2021-09-09 12:00:07
95
原创 Java利用反射获取注解中的值详解
学习内容:1、 默认你已经掌握了反射的基础直接看代码例子!package com.liu.reflection;import java.lang.annotation.*;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Type;/** * @author lms * @date 2021-09-08 - 14:28 * 使用反射获取注解里面的信息
2021-09-08 15:01:35
496
原创 Docker部署SpringBoot项目(mysql)
学习目标:学习如何在docker上部署springboot项目学习内容:1、 默认大家已经在docker上安装好了mysql,并且也已经在mysql上添加了项目所需要的sql数据信息。2、 设置SpringBoot项目的相关信息,具体看图中的步骤信息!接下来设置maven中的配置信息将jar包上传到虚拟机中的某个位置(自己能记得住的地方)然后使用在当前目录下使用vim Dockerfile生成一个文件,在里面编写FROM java:8ADD crm.jar /crm.jar
2021-09-07 23:29:59
581
原创 failed to copy files Error processing tar file 的解决方法
学习内容:DockerFile构建镜像[root@lms tomcat]# docker build -t mytomcat:0.1 .Sending build context to Docker daemon 186.5MBStep 1/15 : FROM centos ---> 300e315adb2fStep 2/15 : MAINTAINER lms<1132601565@qq.com> ---> Running in 518a2a24a366Removi
2021-09-07 17:19:59
2978
原创 Java函数式接口及Stream流
学习内容:1、Function//函数式接口:就是只定义一个抽象方法的接口public class FunctionTest { public static void main(String[] args) { // 匿名内部类,函数有一个输入值和一个输出值,输入输出值的类型由我们进行指定 Function<String, String> function = new Function<String, String>() {
2021-09-05 17:45:17
131
原创 lambda表达式的演变之路
学习内容:1、 lambda表达式的演变接口的实现类静态内部类局部内部类匿名内部类函数式接口(lambda表达式)/** * @author lms * @date 2021-09-01 - 21:43 * lambda进化操作 * 函数式接口的定义: * 1.任何接口,如果只有一个抽象方法,那么他就是一个函数式接口 * 2.对于函数式接口,我们可以通过lambda表达式来创建该接口的对象 */public class LambdaTest { // 3.静态
2021-09-01 22:35:37
118
原创 Java设计模式之适配器模式
学习时间:1、 适配器模式问题导入:当前有一个笔记本,无法接入以前的网线,为了实现上网的功能,我们可以利用一个适配器实现网线和电脑之间的连接,从而让笔记本实现上网的功能。适配器类public interface Adapter { // 适配器有一个实现上网的请求 public void handlerNet();}适配器实现类public class AdapterImpl implements Adapter { // 将网线插入到适配器中 pr
2021-08-31 23:44:33
103
原创 Java设计模式之单例模式
学习内容:1、 单例模式饿汉式// 单例模式的,饿汉式方式,这种单例模式是可以使用的,但缺点就是可能造成内存的浪费// 因为有可能创建了这个类,但是在整个项目的运行过程中可能并没有使用到创建的当前对象class SingleH{ // 1.要实现单例模式,需要设置构造器私有化,禁止外部使用new创建实例对象 private SingleH(){ } // 2.使用静态方式创建本类内部的对象 private static final Single
2021-08-31 23:20:23
90
1
原创 Redis的持久化机制
Redis的持久化机制Redis的持久化机制:RDB,AOF,混合式。RDB是快照文件,反映的是Redis在某一时刻的数据状态,缺点是当数据继续变化时,RDB无法持久化新的数据变化。AOF记录的是所有的操作日志,当从AOF持久化文件中恢复数据到REDIS时,会依次执行所有日志记录,但是缺点是多条hset或者set记录仅有最后一条能反映最终状态,因此中间状态有浪费内存之嫌,当然可以通过设置rewrite的阀值,压缩多余的中间状态记录。混合式,从redis4.x引入,是比较推荐的持久化方法,先用RDB
2021-08-16 11:43:55
80
原创 Error:Resource punkt not found. Please use the NLTK Downloader to obtain the resource
Error:Resource punkt not found. Please use the NLTK Downloader to obtain the resource直接按照如下的步骤进行操作即可,在编辑框输入: punkt
2021-03-13 23:47:20
286
原创 TensorFlow2.0之mnist在GAN中的实现
我这个是在TF2.0的版本上实现的,废话不多说,相信大家都知道了什么是gan。生成器网络:生成虚假的图片数据判别器网络:用来判别虚假图片的网络两个网络的目的都只有一个,就是打败对方,然后不断的成长,这就是对抗的原理。还是直接导入相关的工具包# 导入相应的包import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, Sequential, optimizersfrom P
2020-10-03 13:02:21
827
3
原创 基于神经网络实现的对心脏病结构化数据集的实战
基于神经网络的结构化数据的可视化处理主要最近接触的知识点涉及到了结构化数据的处理,所以特地在网上找了一个关于心脏病的结构化数据的例子,从而进行学习,理解。废话不多说,直接看下面的代码以及图片数据。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import
2020-09-28 23:35:07
1181
原创 RNN 机场乘客人数预测
RNN 机场乘客人数预测目标:使用循环神经网络,根据机场乘客流动的数据进行预测某个月份时间的人员数目`import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltimport pandas as pdfrom tensorflow import kerasfrom tensorflow.keras import Sequential, layers, optimizers`...
2020-09-26 11:56:04
1234
4
原创 tf2.0不降版本也能完美解决module ‘tensorflow’ has no attribute ‘contrib’的问题
tf2.0不降版本也能完美解决module ‘tensorflow’ has no attribute 'contrib’的问题看图tf2.0版本更改我在学习的过程中,发现了大佬们写的项目都是在1.0版本的基础上搭建的,所以在学习他们的项目的时候遇到了非常棘手的contrib模块(2.0中被弃用),看到网上所有人的解决方法都是讲2.0版本降到1.0版本(个人不想降,所以就尝试找其他的代替),最后发现,只要将cell = tf.contrib.rnn.BasicLSTMCel用cell =
2020-08-26 09:37:54
38479
22
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人