- 博客(70)
- 收藏
- 关注
原创 二分查找优化
二分查找在顺序查找时时间复杂度为O(logn),是一种高效的查找算法传统二分查找public class BinarySearch { public static void main(String[] args) { int[] arr = new int[]{1, 2, 3, 4, 5}; int i = binarySearch(arr, 0); System.out.println("i = " + i); } public
2020-09-20 18:13:06
1121
1
原创 MyBatis源码剖析(1)配置文件的加载
自此开启MyBatis源码分析,理解大神的架构,写在开头,以此纪念,2020年9月12日08:53:34一、MyBatis的简单使用1. 配置文件主配置文件mybatis_config.xml以及从配置文件db.properties,其中db.properties为数据连接的一些信息。mybatis_config.xml:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybat.
2020-09-12 12:17:59
237
原创 关于TCP的三次握手与四次挥手的探索
三次握手所有图片引用自:https://blog.csdn.net/qq_38950316/article/details/81087809三次握手的过程首先,客户端向服务器发送一个带有SYN的请求,请求连接。其次,服务器接收到请求,回复客户端SYN + ACK,证明自己有接收的能力客户端接收到服务器发来的请求,证明了自己有接收和发送的能力,以及证明了服务端有发送的能力,此时再发送给服务器一次请求,让服务器证明自己有发送的能力。问题:为什么要进行三次握手?三次握手就是要保证双方
2020-06-16 22:24:09
199
原创 关于JsonFormat格式化时间的问题
在model中使用@JsonFormat注解时,发现格式化出来的时间是不对的。原因就是时区的问题,@JsonFormat默认的时区是Greenwich Time, 默认的是格林威治时间 ,把时区改了就好了,改成咱们中国对应的时区GTM+8。@JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss", timezone = "GMT+8")private Date...
2020-03-12 23:42:32
1325
原创 Java并发编程(一)线程的创建方式
Java并发编程(一)线程的创建方式现成的创建方式共有三种,三种各有各的优点,各有各的特色。在项目中可根据自己的需求灵活的进行选择。实现方式一实现方式一采用的是实现Runable接口来执行多线程,但是有一个弊端就是执行的run方法是没有返回值的,也不可以抛出异常。public class ThreadOne implements Runnable { private int a...
2020-03-10 20:48:33
168
原创 关于代码上传到github中.gitignore生效的解决办法
最近在代码上传到github中时,明明文件中带有.gitignore文件,并且里面也配置了忽略的文件,但是并没有生效,查阅资料找到了解决办法,原来在被忽略的文件不应该加入到git仓库中,如果加入到了仓库中,那么就算在.gitignore中设置也无法被忽略。情况一:刚创建项目,还没有添加到仓库。那么此时就不要将待忽略的文件加入到git库中,即可解决。情况二:项目已经全部添加到了git库中,此...
2020-03-01 22:39:47
477
原创 关于git中拉取代码超时的问题
因为我科学上网了,所以导致拉取或者提交代码超时,这时候要想正常使用git,就必须使用代理了。可以使用全局代理或者部分代理来解决这个问题。选择其中一个即可git config --global https.proxy [http://127.0.0.1:1080](http://127.0.0.1:1080/)git config --global https.proxy [https:...
2020-02-26 20:33:09
6180
原创 MyBatis中使用SQL函数的问题
问题描述在MyBatis中xml中,拼接SQL函数会报错例如使用DATE_ADD函数。解决办法<![CDATA[`in_time` <= DATE_ADD(#{inTime},INTERVAL 1 DAY) AND in_time >= #{inTime}]]>...
2020-02-18 23:16:40
4430
原创 HashTable、ConCurrentHashMap、Collections.synchronizedMap原理
HashTableHashTable是快速失败的,在使用Iterator进行遍历的时候,不允许修改容器中的值。但是为什么HashTable是线程安全的呢,因为在HashTable内部,给每个方法都加上了同步锁Synchronized,也就是悲观锁,每次只能确保一个线程对HashTable进行操作,其它线程是都需要排队的,虽然它支持高并发,但是,他的并发度是不够的,很容易造成大规模阻塞。那么...
2020-02-16 22:57:09
681
原创 Redis安装教程
此次安装是在Centos上安装,并非Windows平台第一件事就是去下载源码包,官方网站https://redis.io/download ,也可以去我的网盘下载链接:https://pan.baidu.com/s/1IsbBuvMDdDkVm736CjzLHg提取码:0ahw解压安装包tar -zxvf redis-4.0.14.tar.gz移动安装包到/usr/local下...
2020-02-16 00:43:33
106
原创 快速失败(fail-fast)和安全失败(fail-safe)
何为快速失败?快速失败是一种机制,他的特性就是在遍历java集合时候,不允许进行值的修改,否则会抛出ConcurrentModificationException 异常,那么实现原理是什么呢?以HashMap举例,在HashMap内部维护了一个变量,midCount,这个值在每次进行增删的时候会进行自增,当遍历集合的时候,每次通过next获取到值之前,都会判断这个值和可是遍历之前的值是否相同,如...
2020-02-15 15:45:35
260
原创 C盘无法拓展的解决方案
前些日子遇到了一个问题,c盘空间快要爆掉了,想要扩展C盘空间,却发现无法扩展,即使存在空闲的磁盘空间,C盘扩展卷的按钮也还是灰色的经过多番搜索,找到了一种解决方案,总结一下过程首先需要下载一款软件,名称叫做DiskGenius下载地址http://www.diskgenius.cn/download.php ,下载免费版本即可,绿色版,解压开直接使用即可。步骤一分出来一个空闲的分区,里...
2020-02-14 21:49:13
3252
原创 悲观锁与乐观锁
准备从以下脑图中的内容来总结悲观锁与乐观锁含义什么是悲观锁与乐观锁?**悲观锁:**悲观锁就是在一个线程在拿到数据后,每次都做出最坏的打算,总以为别人会修改当前数据,所以对当前收据进行加锁,只有在当前线程释放锁后,其它线程才可以使用数据。期间其它线程一直被阻塞。**乐观锁:**乐观锁每次都是做出最好的打算,认为其它线程不会修改当前数据,当前线程只有在修改数据的时候才会去进行一下对比,...
2020-02-14 17:11:55
194
原创 HashMap源码系列-HashMapput()全过程
public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node...
2020-02-13 23:18:04
196
原创 HashMap源码-HashMap的构造方法
无参构造方法/** * Constructs an empty <tt>HashMap</tt> with the default initial capacity * (16) and the default load factor (0.75). */public HashMap() { this.loadFactor = DEFAULT_LOAD_F...
2020-02-13 14:51:01
174
原创 HashMap源码系列-HashMap的属性
HashMap的属性public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { // 序列号 private static final long serialVersionUID = 362498820763181...
2020-02-13 12:19:26
196
原创 Python基础语法(1)
基本语法仅指出本人不熟悉的部分输入输出同一print函数打印多个数据print(1,3,4,5)# 结果1 3 4 5逗号相隔会使用空格隔开打印print打印多行数据print("""aaaabbbbbbcccccc""")# 结果aaaabbbbbbcccccc会自动打印出换行数据类型和变量Python支持的基本数据类型整数浮点数。除了标准的浮点...
2020-02-04 08:22:29
145
原创 Python入门
学习目的最近突然心血来潮,想学python,真实的目的就是结合树莓派做开发了。初步打算做一套智能家居,因为之前有java作为我的基础,所以应该学起来是比较快的。我一个java程序猿也来蹭一蹭Python的热度吧,见识一下python的强大之处!!!Python介绍python是荷兰计算机大师“龟叔”又称吉多 Guido van Rossum 在1989年的圣诞节期间开发出来的编程语言,据说理...
2020-02-03 20:58:16
122
原创 MySQL入门基础知识
本文章参考掘金小册,https://juejin.im/book/5bffcbc9f265da614b11b731MySQL的 C/S 架构说起C/S架构模型,程序猿们应该最熟悉不过了,常见的模型有B/S模型,C/S模型。C/S架构解释Client/Server模型,即客户端-服务器模型。我们的mysql就分为客户端和服务器,当我们需要使用mysql时。需要经历以下步骤开启mysq...
2020-02-03 12:23:29
218
原创 关闭power-designer背景网格线
有没有人像我一样,看见pd的背景网格线很难受,很想将它kill掉经过我的多番查询,找到了解决方案,找到工具栏,Tools > Display Preferences
2020-02-02 10:20:12
622
原创 mysql的msi安装方式
MySQL的安装(msi方式安装)我们常见的mysql服务器都是安装在类Unix系统中(Centos发行版),也有的安装在Mac中,但是由于本人过于穷,买不起Mac,所以选择安装在了windows中,我过几天会总结一篇如何在centos系统中安装mysql。无论安装在哪里,切记,一定要记住安装目录。扩展知识:类Unix系统包括 FreeBSD、Linux、macOS、Solaris等,而Li...
2020-02-01 23:16:40
924
原创 Vue的标签属性label中字符串拼接变量
问题问题描述:Vue的标签属性label中字符串拼接变量问题解决<el-form-item :label="`参数${(index + 1)}类型`" v-for="(item, index,) in props.row.params"> <span v-text="item"></span></el-form-item>结果展示...
2020-02-01 20:55:09
18321
1
原创 csp题目 2019-03-01(大中小)
csp题目 2019-03-01(大中小)解答(java)在下面有可复制的代码import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 输入一...
2020-01-30 23:42:32
172
转载 mybatis拼接like语句
转载 原文链接:https://blog.csdn.net/m0_37897396/article/details/80237920<!-- ******************** 模糊查询的常用的3种方式:********************* --> <select id="getUsersByFuzzyQuery" parameterType="User...
2020-01-28 18:11:47
3864
原创 mysql字符集核心概念
mysql中的字符集与排序规则二话不说,先来看一张图想必这张图大家在建立数据库的时候都见到过,而且见到的时候可能对字符集还有一点熟悉,但是对这个排序规则不是很熟,不知道是干嘛用的,我今天建立数据库的时候也是这样的,于是我就停了下来,搜了搜资料,把这个弄懂了。字符集什么是字符集?字符集就是字符的集合,例如熟知的有ASCII字符集、Unicode字符集、GB2312字符集,每个字符集包含的...
2020-01-05 08:49:36
158
转载 日期格式化的BUG
转载 程序猿DD 原文地址:http://blog.didispace.com/something-about-YYYY-MM-dd/昨天在v站上看到这个关于YYYY-MM-dd的使用而出现Bug的帖子(v2ex.com/t/633650)非常有意思,所以拿过来分享一下。在任何编程语言中,对于时间、数字等数据上,都存在很多类似这种平时一切OK,特定时间、特定环境出问题的情况。出现这种问...
2020-01-03 21:44:47
298
原创 个人2019总结
2019马上就要过去了,这次就来总结一下我2019年的收货与失败。也算当了两年的程序员了,目前为止,我对程序员这个职业真的是又爱又恨,我也不知道当初高考结束为啥选择了这个行业,可能是因为工资高,初始工作每月1w、2w,年薪百万?到目前为止真的没有体验过这些感觉,一直对这些满怀着希望,一直抱着希望在前进。自己感觉这一年已经够努力的了,偶尔和朋友开玩笑说,我要是高中拿出这种劲头学习,可能我现在就是...
2019-12-31 11:37:43
455
1
原创 数据表的连接方式
目录表的连接方式1、前言2、连接方式内连接外连接全连接自然连接交叉连接3、总结表的连接方式1、前言最近在做项目,挺累的,但是还是少不了接着进行知识的总结,无论如何都挡不住我学习的心。接下来说正题,表的连接。多表之间的连接在项目中还是挺常用的。我们做项目无论如何都不可能只进行单表之间的CRUD,科普一下,我们平常总说的CRUD全称是什么C ------ Create(增)R ------...
2019-12-15 00:22:47
539
原创 一条sql是如何执行的
目录一条sql是如何执行的1.sql执行的底层原理mysql的底层架构组件介绍示例2.sql语句的执行顺序3.总结4.参考资料一条sql是如何执行的对于一名程序猿来说,了解sql是如何执行的是必要的的知识,基本上已经成为了程序猿的日常操作,无论是搞大数据的、搞web开发的、搞人工智能的、搞运维的……。但是有些程序猿虽然会写sql语句,却写不出来高效的sql,究其原因是什么,就是对底层不是很了解...
2019-12-14 00:44:07
419
原创 搭建私人博客
目录使用docker教你搭建私人博客一、前言二、环境三、安装步骤1. 安装docker2.准备docker-compose.yml3. 拉镜像4. 登录wordpress进行配置5. 开启wordpress对https的支持四、其他问题1. wp-postview统计2. 其它统计使用docker教你搭建私人博客一、前言这个搭建私人博客可以说折腾了三回了,我的博客是放在阿里云服务器上的,但是...
2019-12-11 08:51:07
331
原创 远程无法连接redis的问题
问题描述:远程无法连接centos中的redis,错误类型(can’t connect to redis-server)分析思路:centos上的redis限制了远程连接,只能进行本地连接解决方案:修改redis的配置文件,以我的centos为例,我将redis装在了/usr/local下,进入到此目录,然后进入到redis的目录,可以看到下面有一个配置文件叫做redis.conf,就是...
2019-11-29 20:02:48
926
原创 springboot配置数据库遇到的问题
启动报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasourcecould be configured.问题分析:原因是我在maven中导入了oracle的jdbc依赖,但是并没有在application.yml中配置datasource,因此就会报这个错误...
2019-11-29 19:44:30
170
原创 Shell编程(一)
1、Shell编程介绍什么是shell编程?shell编程就是对linux命令的罗列,并且带有逻辑的代码。shell是一种过程式的、解释执行的脚本语言,并且具有一般高级语言所具有的像变量、数组、选择、判断、循环等。要想掌握shell编程,就必须熟练使用linux的命令、管道、I/O重定向等,说白了就是对各个命令的结果做操作来完成我们所需要完成的功能。shell的解释与执行需要依赖于linu...
2019-11-28 11:12:50
109
原创 阿里云短信服务的使用方法
本人个人博客地址https://www.lightingsui.com介绍最近由于项目的业务需要,想使用验证码登录系统,所以要找一个短信平台,第一目标就是阿里云的短信服务平台,说实话,之前在阿里云买过很多东西了,例如云ECS服务器、云mysql、SSL证书、域名,那就再次为阿里云做出点贡献吧,我的钱不是通过淘宝送给马云的!!!这里我直接给出阿里云短信服务的地址:https://www.al...
2019-11-28 09:51:01
3299
原创 mysql创建用户时遇到的问题(密码不符合标准)
问题描述1819 - Your password does not satisfy the current policy requirements出现问题的原因出现这个问题是由于mysql默认的密码策略较高,我设定的密码过于简单,因此,我的想法就是修改mysql的默认密码等级。问题的解决使用语句SHOW VARIABLES LIKE 'validate_password%';得到...
2019-11-27 22:11:46
1525
原创 Centos7忘记mysql的root密码解决方案
由于走上了程序猿的这条路,导致记忆力急剧下降,随时有失忆的风险,这不,今天打算使用装在Centos7上的mysql数据库,连接的时候竟然把密码给忘了,因此出现了此篇文章。。。首先,编辑/etc/my.cnf文件。vim /etc/my.cnf在此处添加skip-grant-tables重新启动mysqlsystemctl restart mysqld这时就不需要密码就能登录到my...
2019-11-27 21:58:59
448
2
原创 springcloud部署时候的遇到的问题
本人博客地址:https://www.lightingsui.com在网关处遇到的问题,启动网关时报错:Caused by: java.lang.ClassNotFoundException: com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect解决办法:ClassNotFound,就是因为项目中少了...
2019-11-27 21:39:26
327
原创 Centos安装oracle的过程详解
Centos安装oracle的过程详解主机环境:CentOS Linux release 7.7.1908 (Core)Oracle版本:Oracle 12c Release2安装过程参考 https://blog.51cto.com/10316297/2140427?source=dra ,但是在安装过程中,可能会遇到下面的问题,接下来对下面的问题进行介绍1、已拒绝X11转移申请...
2019-11-26 15:21:29
455
原创 jdk源码剖析 —— HashMap
本人博客地址:https://www.lightingsui.com读本篇文章您将收获到的东西:HashMap的数据结构。HashMap的构造函数如何实现的。HashMap扩容的原理。HashMap的put原理。HashMap的get原理。1、HashMap的简单介绍HashMap的java程序猿的编程生涯中用到的还是蛮多的,我们既然用它用的这么多,那就要了解它的底层原理,要知...
2019-11-25 17:09:24
209
原创 Nginx的安装
Nginx的安装我们安装的是nginx的二进制源码包,所以首先就是要获取到nginx的二进制源码包,这里我给大家提供了一个nginx 1.16.0的安装包,大家可以免费下载,网盘链接如下链接:https://pan.baidu.com/s/1t2Dn7hUozYfEQBprJcSZbw提取码:g3xd首先将下载下来的安装包存放在/tmp下(大家放在哪里都行,我就将安装包放在/tmp下了...
2019-11-23 19:06:37
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人