- 博客(37)
- 收藏
- 关注
原创 docker-compose部署项目
docker使用命令 docker version 确定服务器是否安装了docker使用命令 yum list installed | grep docker 查看是否已安装docker列表如果无返回结果,则进入下一步安装Dockeryum -y install docker使用命令systemctl start docker启动docker,注意启动成功也不会返回提示信息,直接下一步查看docker的服务状态。启动:systemctl start docker 开机
2022-04-12 15:56:40
722
原创 SQL语句解析(alibaba-druid&metadata)
alibaba-druidgithub源码地址:https://github.com/alibaba/druid引入pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid-version}</version> </dependency>maven中央仓
2022-04-12 14:33:43
1354
3
原创 jvm垃圾回收浅谈
jvm垃圾的概念在内存中有一个对象,但没有任何引用指向他。多对象之间互相循环引用,但没有其他引用指向这些对象如何找到垃圾reference count (引用计数)对引用的次数进行计数,有几次引用就记为几,当引用次数为0时,记为垃圾。问题:循环引用,但是并没有栈空间内其他引用指向这个循环引用中的对象,循环引用中的引用计数都为1,但其实他们都属于垃圾,就会产生内存泄漏。root searching(根搜索算法/根可达算法)根对象指的是当前线程中的正在使用的局部变量、class
2021-12-21 17:17:38
302
原创 tkmybatis + postgresql jsonb类型数据新增
pom.xml//tkmybatis依赖<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version></dependency><dependency> <groupId>tk
2021-12-06 15:00:37
916
原创 SpringBoot项目集成Redis
pom<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>application.ymlspring: redis: host: 127.0.0.1 port: 6379 password: pass
2021-11-25 17:35:06
84
原创 Spring项目启动时初始化数据的两种方法
一@Componentpublic class ServletContextInit implements ServletContextAware { /** * spring 启动时加载 */ @Override public void setServletContext(ServletContext servletContext) { TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
2021-11-24 15:36:03
1038
原创 ELK学习笔记
ElasticSearch安装搭建步骤见博客: https://blog.csdn.net/weixin_43887814/article/details/112474285为什么ElasticSearch.yml是9200端口,但是项目中链接要配置9300?9200作为Http协议,主要用于外部通讯9300作为Tcp协议,jar之间就是通过tcp协议通讯ES集群之间是通过9300进行通讯kibana链接elasticSearch配置9200es主键?es中默认将id作为主键,数据同步至_
2021-09-06 14:45:30
182
原创 数据结构、算法第二节:数组
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。这个定义里有几个关键词,理解了这几个关键词,就能彻底掌握数组的概念了。第一个是线性表。线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。第二个是连续的内存空间和相同类型的数据。正是因为这两个限制,它才有了一个堪称“杀
2021-07-12 16:00:35
107
原创 数据结构、算法第一节:复杂度分析
大 O 复杂度表示法算法的执行效率,粗略地讲,就是算法代码执行的时间。下方这段代码很简单,意为计算1 + 2 + 3 +…+ n的和public void cal(int n) { int sum = 0; for (int i = 1; i <= n; i++) { sum = sum + i; }}假设每行代码执行的时间都一样,为 x第二行定义变量,执行一次,定义for循环和循环内部各执行n次,就是2n,那么这段代码的总执行时间就是:(2n + 1) * x尽管我们不知
2021-06-30 18:14:12
235
2
原创 远程debug调试
一个方法让测试环境的断点直接停留在自己本地的idea~写上测试环境的ip地址,端口要写一个服务器没有被占用的端口,随便写一个就行将生成的这句话复制下来,贴在启动jar包的命令中间java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8080 demo.jar重新启动java程序,在本地打上断点,然后使用debug启动。这时候打开程序断点就会停留在自己的idea了~注意,不要长时间卡着不动,调试完
2021-06-21 15:29:14
120
原创 Java数字转换大写
public class NumberUtils { /** * 单位进位,中文默认为4位即(万、亿) */ public static int UNIT_STEP = 4; /** * 单位 */ public static String[] CN_UNITS = new String[]{"个", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万"
2021-06-21 15:10:22
722
原创 线程池异步处理
业务类代码import java.util.concurrent.CompletableFuture;/** * 在获取列表数据的同时,异步处理数据状态,下次刷新列表后状态显示正确,不影响表格返回速度 */public ResultData<List<Data>> listByUserId() {//查询数据库或缓存中的数据列表List<Data> dataList = mapper.listByUserId();//线程池异步处理,dataList
2021-06-21 15:05:50
559
1
原创 Linux搭建redis
官网下载或者使用下方命令下载安装包wget http://download.redis.io/releases/redis-6.0.6.tar.gz下载成功后,解压tar -zxvf redis-6.0.6.tar.gz进入redis目录下cd redis-6.0.6#安装make如果make报错,可能是因为gcc没有安装或者gcc的版本问题,输入下方命令yum -y install gcc automake autoconf libtool makeyum ins.
2021-01-13 17:05:51
229
2
原创 Linux安装postgresql
官网下载压缩包,地址:下载将下载好的压缩包放至服务器,解压tar -zxvf postgresql进入解压后的文件夹cd postgresql运行configure./configure如果这一步报了这个错,说明系统已经安装了readline包configure: error: readline library not foundIf you have readline already installed, see config.log for details on t
2021-01-11 17:11:59
275
原创 Linux安装部署elasticsearch
官网下载压缩包,地址:下载下载完成后,将压缩包放至服务器。通过命令解压tar -zxvf elasticsearch-7.10.1-linux-x86_64.tar.gz进入config文件夹cd config编辑elasticserach.yml配置文件vim elasticserach.yml将文件中的network.host注释放开 然后将ip修改为0.0.0.0下边的http.port注释放开 保存并退出.进入elasticsearch中的bin目录
2021-01-11 16:41:30
1337
原创 Linux安装minio文件系统
wget https://dl.minio.io/server/minio/release/linux-amd64/minio赋予权限 chmod +x minio启动命令:./minio server /home/minio/data (/home/minio/data 为你存放静态文件的目录)后台运行命令:nohup /minio server /home/minio/data > /home/minio/data/minio.log 2>&1 &访问地址,http.
2021-01-11 16:14:58
617
原创 java获取两个日期之间的所有日期
/** * 获取两个日期之间的所有日期 * @param beginDate 开始日期 * @param endDate 结束日期 * @return 日期集合 * @author junyi.liu */public static List<String> getAllDatesBetweenTwoDates(String beginDate,String endDate) { List<String> days = new ArrayList<>
2020-09-28 16:16:27
458
原创 同一个接口有两个或两个以上实现类时,如何注入
如果有一个接口,但有多个实现类,应如何注入?例,有一个TestService接口,代码如下:public interface TestService { void run();}此时有两个实现类实现了这个接口。实现类一:@Service("TestServiceImpl")public class TestServiceImpl implements TestService { @Override public void run() { System.out.println
2020-09-28 16:06:48
6593
原创 EasyExcel导入
导入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.6</version></dependency>Controllerimport java.text.ParseException;import org.springframework.
2020-07-29 16:47:04
902
2
原创 EasyExcel导出
导入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.6</version></dependency>导出Controllerimport javax.servlet.http.HttpServletResponse;/** * 导出数
2020-07-29 14:29:57
172
1
原创 DateUtil Java时间工具类
import java.text.ParseException;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.*;/********************************创建标记********************************* * * 修改时间: * 修改人: * 修改描述: *********************************
2020-07-29 13:29:35
457
2
原创 记一次使用list删除元素
常见list遍历方法普通for循环遍历增强for循环遍历迭代器遍历普通for循环List<String> list = new ArrayList<>();list.add("1");list.add("1");list.add("1");list.add("2");list.add("3");for (int i = 0; i < list.size(); i++) { if ("1".equals(list.get(i))) { list.r
2020-06-23 15:57:36
169
1
原创 关于三次握手与四次挥手小结
三次握手过程第一次握手:客户端给服务器发送一个 SYN 报文;第二次握手:服务器收到 SYN 报文之后,会应答一个 SYN+ACK 报文;第三次握手:客户端收到 SYN+ACK 报文之后,回应一个 ACK 报文;服务器收到 ACK 报文之后,三次握手完成,建立链接。作用为了确认双方的接收与发送能力是否正常;指定自己的初始化序列号,为后面的可靠传送做准备。为何必须三次握手,不...
2020-03-17 14:28:22
136
1
原创 HashMap小结
为什么使用HashMap.HashMap是数组加链表结构(散列桶),存储的内容是键值对(key-value)映射HashMap采用是的数组加链表,可以在查询和修改方面继承了数组的线性查找和链表的寻址查找HashMap是非synchronized,效率快HashMap可以接受空的键值对(equlas方法需要对象)HashMap中的负载因子和容量实际容量 = 负载因子 x 容量,也就是...
2019-12-03 10:54:19
120
1
转载 为什么wait()方法要放在同步块中?
转载地址:https://blog.csdn.net/JAVAziliao/article/details/90448820 某天我在***的时候,突然有个小伙伴微信上说:“哥,阿里面试又又挂了,被问到为什么wait()方法要放在同步块中,没答出来!”...
2019-06-10 10:48:10
873
1
原创 Nginx和tomcat集群
什么是nginx?我们可以了解到Nginx是一个http服务器。是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支撑10万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。Nginx能干什么?...
2019-06-04 16:29:50
227
2
原创 maven项目的搭建步骤
在eclipse中配置maven一:引入apache-maven路径二: 配置指定 setting.xml 配置文件项目完成后会默认从中央服务器(阿帕奇)下载需要的jar包。配置完成后,新建一个maven project改变jdk 和编译版本等此时maven项目已经搭建成功,然后就可以新建包测试框架,maven项目不需要导入jar包,通过在pom.xml里面配置导入jar...
2019-03-30 09:47:05
178
1
原创 SSM框架搭建
SSM(spring springMVC MyBatis)框架搭建第一步:导入jar包第二步:导入配置文件配置文件详细代码:mybatis-config.xml:&amp;amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;amp;quot;1.0&amp;amp;amp;amp;quot; encoding=&amp;amp;amp;amp;quot;UTF-8&amp
2019-03-03 23:15:53
139
1
原创 Ajax
jquery ajax方法使用之前先引入: <script type="text/javascript" src="jquery-1.8.0.js"></script>再使用ajax方法发送请求: $(function(){ //页面加载事件 findAir(); //加载findAir方法 }); function findAir(){...
2019-02-22 19:59:44
110
1
原创 SSH搭建
上篇文章写了Hibernate简单查询的几个步骤,现在把SSH和spring结合做一个整合。首先还是导入jar包和配置文件。项目启动会先去找web.xml配置文件,所以先来看web.xml...
2019-01-17 17:02:14
147
1
原创 Hibernate入门
首先修改hibernate配置文件&amp;amp;amp;amp;amp;lt;hibernate-configuration&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;session-factory&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;!-- 连接数据库基本配置 地址 用户名 密码 账户 --&a
2019-01-12 11:31:19
136
1
原创 JDBC连接数据库步骤
一、导入jar包二、加载驱动:Class.forName(“驱动的路径”);三、获取数据库连接对象 Connection con=null; con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "user", "123");jdbc:oracle----表示用jdbc连接Oracle数据库;...
2019-01-12 10:58:28
14738
1
原创 验证码
随机输出验证码,并输入验证,失败五次退出##随机输出验证码,然后输入,对比成功,进入,对比失败,重新输出新的验证码,失败五次之后退出。String str="123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; //定义验证码字符串 char[] c=new char[4]; //定义一个存放随机数的字符串 验证码长...
2018-12-05 17:14:31
182
1
原创 ArrayList 与 LinkedList 区别
ArrayList 与 LinkedList 区别ArrayListArrayList 有明确下标,所以查询速度较快,但是增删速度较慢,因为增 删 元素会导致其他元素下标移动LinkedListLinkedList 没有明确下标,所以查询速度较慢,增删速度较快例如输出结果为毫秒差值为16ms现在来看LinkedList相同的代码 只把ArrayList换成了...
2018-12-04 11:05:31
394
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人