自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MYSQL以特殊符号分割的字符串,一行查询结果变多行查询结果

【代码】MYSQL以特殊符号分割的字符串,一行查询结果变多行查询结果。

2024-02-27 17:26:38 382

原创 Java并发编程 -- 一、进程和线程

一、进程与线程1.进程与线程1.1 进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器 等),也有的程序只能启动一个实例进程(例如网易云音乐、360 安全卫士等)1.2 线程一

2021-11-01 14:55:06 328

原创 Thymeleaf中对CSS引用失效问题

有时候就很简单,你应该写成这样<link th:href="@{/vendor/bootstrap/css/bootstrap.min.css}" rel="stylesheet">而不是这样<link rel="stylesheet" th:href="@{/vendor/bootstrap/css/bootstrap.min.css}">总之,就是让 th:href 在最前面。。。。...

2021-10-11 16:35:11 1067

原创 购买云服务器,绑定域名并发布项目至80端口,配置SSL证书发布至443端口

1.购买云服务器无所谓各位买哪家的,掏钱就完事了2.购买域名同上3.绑定域名到服务器我买的是腾讯云服务器,所以到域名的控制台,对购买的域名点击解析这样其实就完事了,就使用了http协议,访问该域名时的默认端口就是80。4.配置SSL如果配置SSL,需要申请SSL证书,点击那个按钮,按照提示操作即可。我的证书还在审核阶段。,所以目前只能使用http协议。如果申请下来,应该就可以使用443端口,使用https协议。5.发布项目我测试了一个项目,是用springboot打包的,上传至

2021-08-31 21:24:24 1118 1

原创 ubuntu配置java环境变量

sudo vim /etc/profileexport JAVA_HOME=/usr/local/java/jdk1.8.0_141export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport PATH=$PATH:${JAVA_PATH}sudo sour

2021-08-06 11:22:24 1817

原创 更换机器后,重新下载git无权限访问原gitlab中的仓库

1.需要重新在本地机器生成一份证书该证书中要填写的邮箱是要和你在gitlab中的邮箱是一样的。然后将生成的证书添加到gitlab中,这样才有权限访问仓库2.添加新证书按下面的博客来吧,要不就参照gitlab中给的步骤。https://blog.csdn.net/intelrain/article/details/82733876不要在意你原来的那个证书,如果原机器还用那么 千万不要删除。否则还需要重新添加,如果原机器不用了,可以删除掉。反正大概意思就是 一个邮箱的账户可以根据机器的不同有很多

2021-06-18 11:30:56 533

原创 SpringBoot整合redisTemplate时,多线程无法操作

1.我配置了一个redisTemplate@Configurationpublic class RedisConfig { /** * 生成操作Redis的bean--RedisTemplate,并将其注入到Spring容器中 * * @param factory redis连接工厂 * @return 配置好的RedisTemplate */ @Bean public RedisTemplate<String, Obje

2021-06-05 09:52:49 2118 9

原创 学相伴飞哥RabbitMQ笔记以及个人总结

一、什么是中间件?1.简介我国企业从20世纪80年代开始就逐渐进行信息化建设,由于方法和体系的不成熟,以及企业业务和市场需求的不断变化,一个企业可能同时运行着多个不同的业务系统,这些系统可能基于不同的操作系统、不同的数据库、异构的网络环境。现在的问题是,如何把这些信息系统结合成一个有机地协同工作的整体,真正实现企业跨平台、分布式应用。中间件便是解决之道,它用自己的复杂换取了企业应用的简单。中间件(Middleware):是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们

2021-06-03 22:59:57 1312 3

原创 springboot整合thymeleaf和spring-security的sec表达式没有生效

pom.xml中引入的是springsecurity5而不是4<dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity5</artifactId> <version>3.0.4.RELEASE</version></dependency>命名空间是

2021-04-24 10:09:02 221

原创 使用Maven打包SpringBoot项目并引入本地依赖的jar包

这个问题困扰了我好几个小时,在一片大佬的博客里看到的,大佬博客里说了好几种方法,在此我详细说明一种。1.在pom中引入spring-boot的打包插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-b

2021-04-09 15:55:25 1176

原创 useGeneratedKeys和keyProperty

<!-- useGeneratedKeys:仅适用于 insert 和 update)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法 来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系型数据库管理系统的自动递增字段), 默认值:false。说白了就是使用自增主键,增加的时候自动使用自增主键--><!-- keyProperty:使用主键自增之后,就无法拿到主键,但是需要使

2021-04-07 15:58:31 729

原创 原生JavaScript实现对html中table数据的排序

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <div class="table-middle"> <a href="javascript:void(0)" id="sort-middle-table-by

2021-03-23 21:00:03 312

原创 FeignClient中定义的callback,是熔断后执行的呢还是ribbon访问超时执行的?

答案是在使用feign开启熔断后feign: hystrix: enabled: true熔断后执行的,已经经过实验

2021-03-21 14:55:30 1073

原创 《Spring微服务实战》书中将配置服务器的licensingservice.yml改造为使用mybatis和mysql的方法

licensingservice改造pom.xml<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version></dependency><dependency>

2021-03-12 11:27:05 111

原创 mysql创建日期类型的字段

create table user(id int primary key,username VARCHAR(20),password VARCHAR(20),name VARCHAR(20),age int,sex int,birthday datetime not null default CURRENT_TIMESTAMP,created datetime not null default CURRENT_TIMESTAMP,updated datetime not null defa

2021-03-01 14:09:57 9096

原创 PageHelper基本使用

1.引入Maven依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version></dependency>2.进行配置在将Mybatis交由Spring管理时,在MyBatis中引入pageHelper的插件<

2021-02-23 17:04:46 258

原创 修改IDEA中project structure的artifacts也无法使tomcat重启生效的办法

删掉target和out两个文件夹。然后重新部署

2021-02-17 21:45:39 288

转载 Windows下Mysql5.7忘记root密码的解决方法

1、打开第一个cmd窗口执行 net stop mysql572、在第一个cmd窗口执行 mysqld --defaults-file=“C:\ProgramData\MySQL\MySQL Server 5.7\my.ini” --skip-grant-tables —注意路径(以你的实际情况为准)3、打开第二个cmd窗口执行 mysql -uroot -p 提示输入密码,直接回车(不用输入密码)4、选择数据库:use mysql;5、更新root的密码:update user

2021-02-13 22:51:35 154

原创 Win10使用EasyBCD安装Ubuntu20.04双系统(windows引导)

1.环境说明我的电脑是16年的神州z7sl7d3,boot的启动方式为legacy。所以给位仅供参考。win10系统是在I tell you 上下载的15年版本的win10专业版。先装的win10后装的ubuntu202.安装步骤和关键点分区之类的不在多提。这里只说明关键点。首先软件要使用easybcd2.2,注意这里要用这个版本,在网上下的2.4版本无法进行配置。如果有需要,请评论区评论,我发链接。然后去官网下载ubuntu20.04的64位安装包。将此安装包放到C盘的根目录下。然后,

2021-02-13 21:03:23 17040 5

原创 Centos7上编译GmSSL,并使用其Java接口

1.编译GmSSL将下载的包解压后,在GmSSL-master根目录执行:./configmakesudo make install如果未执行完成上述步骤,可以参考我另一篇博客中的排错方法https://blog.csdn.net/EEEEEEcho/article/details/113199686执行完之后运行gmssl,报错.。然后将/usr/local/lib64中的几个文件复制到/usr/lib64下再次运行成功。2. 编译java运行时需要的库进入到GmSSL的安装

2021-01-28 15:03:54 749

原创 Ubuntu20上编译Gmssl库并使用Java调用其提供的Java Wapper API接口

1.Gmssl库的安装因为我的ubuntu版本是ubuntu20,所以安装GCC时需要这样安装。拥有 sudo 权限用户身份或者 root 身份运行下面的命令:sudo apt updatesudo apt install build-essential这里提醒一下,执行这个update命令的时候,由于apt源的问题,会等很长一段时间。但是,千万不要更换源,千万不要更换源,千万不要更换源。别问为什么。然后安装build-essential时,也会等很长时间,但是不要换源。然后装好之后,使用g

2021-01-26 22:23:42 1325

原创 Mybatis缓存机制

Mybatis缓存Mybatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存,缓存何以极大的提升查询效率Mybatis系统中默认定义了两个缓存:一级缓存和二级缓存默认情况下,只有一级缓存开启,(SqlSession级别的缓存,也称为本地缓存)二级缓存需要手动开启和配置,它是基于namespace级别的缓存,也就是一个Mapper为了提高扩展性,MyBatis定义了缓存接口Cache,我们可以通过实现Cache接口来定义二级缓存一级缓存 @Test public

2021-01-17 16:35:02 121

原创 Java中的file.delete()方法无法删除文件

File mergefile = new File(mergeResult);mergefile.delete();如果出现了调用delete()方法也没有把文件删掉,那就好好检查一下你的代码里面是不是某个引用了该文件的流还没有关。。/dog

2021-01-09 14:31:20 690

原创 异或运算的特点

一个数和 0 做 XOR 运算等于本身:a⊕0 = a一个数和其本身做 XOR 运算等于 0:a⊕a = 0XOR 运算满足交换律和结合律:a⊕b⊕a = (a⊕a)⊕b = 0⊕b = b

2020-12-01 22:43:55 853

原创 使用Fiddler抓取夜神模拟器Android7.1版本中的app的包

1.Fiddler下载https://www.telerik.com/download/fiddler然后傻瓜下一步2.夜神模拟器下载https://www.yeshen.com/我下的是最新版的安卓7.1内核的,所有的坑也出在这3.配置Fiddler打开tools -> options勾选后之后,点击那个Actions选择Export Root Certificate To Desktop(不方便截图) 导出证书到桌面。然后再设置一下这个地方:之后重启Fiddler4.

2020-11-07 23:49:30 3454 8

原创 mysql创建数据库和数据库表时使用utf-8编码

1. 创建数据库默认使用utf8编码create database oamaster character set utf8 collate utf8_general_ci;2.创建数据库表默认使用utf8编码

2020-10-24 16:58:44 7758

原创 c++ DLL注入与卸载

#include<Windows.h>#include<stdio.h>void UnInjectDLL(int PID) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID); //使用CE找到的想要卸载的DLL的地址 LPVOID pRetAddress = (LPVOID)0x544B0000; //HMODULE hModule = LoadLibrary("KERNEL32.DLL")

2020-10-24 13:20:47 1619 1

原创 ElasticSearch7.9与MongoDB集群使用mongo-connector进行通信。

1.问题在上面已经搭建好了MongoDB的集群。https://blog.csdn.net/EEEEEEcho/article/details/109196275剩下的任务是使用ElasticSearch与MongoDB进行通信,也即实现实时同步。因为我是搭建的集群,所以我不用和mongod数据库进程通信,而是要和路由route进程进行通信,所以,要搞明白问题所在。通信所用的工具mongo-connector(一个年久失修的工具)2.ElasticSearch环境的搭建首先,去官网下载就行了,

2020-10-22 08:48:56 787 1

原创 Mongodb ReplicaSet + Sharding集群搭建

1. MongoDB概述1.1 序言MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库。 它使用 C++编写。MongoDB 包含以下特点:面向集合的存储:适合存储对象及JSON形式的数据。动态查询:Mongo 支持丰富的查询方式,查询指令使用 JSON 形式的标记,可轻易查询文档中内嵌的对象及数组。完整的索引支持:包括文档内嵌对象及数组。Mongo 的查询优化器会分析查询表达式,并生成一个高效的查询计划。查询监视:Mongo包含一个监控工具用于分析数据库操作性能。复制及

2020-10-21 13:52:55 404

原创 LeetCode 350. 两个数组的交集 II

看到一个Python大佬写的题解,使用collections.Counter,十分漂亮不得不记录下来给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。我们可以不考虑输出结果的顺序。class Intersect:

2020-10-19 17:43:01 95

原创 Java代理设计模式

class RealObject implements Interface{ //被代理对象 @Override public void doSomething() { System.out.println("Do something"); } @Override public void somethingElse(String str) { System.out.println("Something else " + str

2020-10-07 16:20:26 139

原创 解决Maven插件无法下载Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:2.5

首先检查一下你的IDEA中Maven的配置是否一致。如果这里没有问题,那多半就是仓库镜像的问题了,这里提供多个镜像,添加到maven的配置文件里即可。<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that ma

2020-10-03 14:27:17 1385

原创 Python破解Rot13密码

s = "Gur cnffjbeq vf 5Gr8L4qetPEsPk8htqjhRK8XSP6x2RHh"for i in s: asc = ord(i) if (asc >= ord("a") and asc <= ord('z')): asc = (asc - ord("a") + 13) % 26 + ord("a") print(chr(asc),end="") elif (asc >= ord('A') and asc

2020-09-28 13:38:58 333

原创 代码上传至github

在github中创建仓库然后打开本地的名为Test的项目,在项目中打开git然后输入以下命令git init //初始化仓库git add .(文件name) //添加文件到本地仓库git commit -m “first commit” //添加文件描述信息复制仓库的urlgit remote add origin + 远程仓库地址 //链接远程仓库,创建主分支git pull origin master --allow-unrelated-histories // 把本地仓库的变化

2020-08-27 18:47:26 120

原创 python异步协程爬虫的简单案例

1.协程初步协程就是一个函数,但是满足以下特征:1.有I/O依赖的操作,2.可以在进行I/O操作时暂停,3.无法直接执行它的作用就是对有大量I/O操作的程序进行加速Python协程属于可等待对象,可以在其他协程中被等待。说白了,就是在一个有I/O操作的线程等待I/O执行时,去切换下一个线程运行。小栗子import asyncio# async 标记函数是异步函数async def net(): return 11async def main(): # net() 没

2020-08-24 11:34:50 687

原创 Python多线程与多进程爬取豆瓣读书

大体思路是这样的每个分类用多进程处理,这里开3个进程,然后每个分类中的详细内容,在进程中开3个线程进行处理,因为不是CPU密集型,所以多线程还是高效的,下面只是一个范例,后续可以继续添加功能。看代码吧import requestsfrom bs4 import BeautifulSoupimport multiprocessingfrom concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor# 使用进程池处理大类,

2020-08-17 22:52:45 528

原创 Python的多线程与多进程

这个问题当时是在一个群里看到的,Python到底有没有多线程。群里甚至还有两个人因为这个玩意吵起来,要现实干仗了。233333333然后我就把那个乌烟瘴气的群退了。由此学习记录一下python中的多线程和多进程。1.Python中的GIL锁首先,要谈多进程,就要说一下这个锁的问题。GIL锁全名是,全局解释器锁(Global Interpreter Lock,缩写GIL),是计算机程序设计语言解释器用于同步线程的一种机制,它使得任何时刻仅有一个线程在执行,即便是在多核心处理器上,使用GIL的解释器也只

2020-08-17 22:49:12 333

原创 Django基础(一)

因为一些原因要学习Django,发现黑马的Django讲的很好(PS:非广告),于是将其课件中的一些重要东西记录下来。1. 简介Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,

2020-08-17 20:34:57 218

转载 Ubuntu下mysql5.7忘记密码解决

1.在终端输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf2.在文件内搜索skip-external-locking,在下面添加一行:skip-grant-tables3.重启mysqlsudo service mysql restart4.在终端输入命令mysql,进入mysql5.使用命令use mysql;切换到mysql数据库6.修改root密码UPDATE mysql.user SET authentication_string=pass

2020-08-15 10:07:22 340

原创 Ubuntu16.04 下搭建Redis主从服务器

在一台Ubuntu下搭建Redis主从服务器,主服务器可写可读,从服务器只能从主服务器读取。主从的概念⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1通过主从配置可以实现读写分离操作安装Redis下载wget http://download.redis.io/releases/redis-4.0.9.tar.gz解压tar xzf red

2020-08-13 21:40:40 315

空空如也

空空如也

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

TA关注的人

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