- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 redis为什么使用跳跃表而不是树
主要是从内存占用、对范围查找的支持、实现难易程度这三方面总结的原因,简单翻译一下:1、它们不是非常内存密集型的。基本上由你决定。改变关于节点具有给定级别数的概率的参数将使其比 btree 占用更少的内存。2、Zset 经常需要执行 ZRANGE 或 ZREVRANGE 的命令,即作为链表遍历跳表。通过此操作,跳表的缓存局部性至少与其他类型的平衡树一样好。3、它们更易于实现、调试等。
2024-02-15 16:12:28
2158
原创 云服务器如何快速部署访问静态页面(个人网站博客等)
可以使用SecureCRT,本地远程连接到服务器(需要用户名与密码,ip等),公网id(或域名,需要备案与配置)+nginx配置的端口访问。云服务器ecs下,配置ip、端口所有人都可访问。项目可放到/var/www/html下,需新建。传完文件权限设置777。
2024-01-30 20:18:55
917
原创 文件上传json.JSONException: write javaBean error,multipart.MultipartFileResource, fieldName : resource
excel文件上传报错write javaBean error解决
2023-05-31 19:31:05
979
2
原创 Git push失败,remote: Gogs: Internal error,remote: error: hook declined to update
git push失败网络问题
2023-05-30 16:32:02
994
原创 gradle构建报错: org.gradle.api.GradleException: Processing failed-MVN_HOME environment variable not set
Build报错显示:解决方案:1,ide的Terminal中输入:…为自己的本地maven路径launchctl setenv MVN_HOME /Users/.../apache-maven-3.6.2 2,重启ideFile-Invalidate Caches/Restart-Just Restart
2022-02-28 13:52:51
1340
原创 sql查询多条相同字段不同数据如何合并为一条,方便复制且安全
需求:需要通过主键id更新某些字段,但是暂时不知道这些id,所以先要通过查询到这些所有的id。我的查询主键的sql:select id from a where age > 20;结果:然后我们要去根据这些id,更新。但是这些如果一个一个复制的话,太麻烦,而且容易出错。所以需要把这些多条id合并为一条,放在一个框里面,直接去复制使用。解决方案sql:select GROUP_CONCAT(id) from a where age > 20;结果:我们就可以直接复制使用了
2021-10-26 17:46:44
10040
原创 救赎之旅--单边李
今年的冬天,将会是一个寒冷的冬天。前段时间,睡觉,被钢琴(或是电子琴)声音吵醒,仔细一听,大概是某个合租的室友在练习。刚开始的几天,我并没有觉得什么,一周也就练习两三次,但是慢慢地,我听不出来他的成果,甚至不知道在谈些什么,最多的便是do、ri、mi.、fa…很有顺序的玩弄,他完全可以挑自己喜欢的流行音乐。我对他的学习方向的选择,表示惋惜,古典音乐是需要更多的成本的。我以为这样很难坚持下去。同时我也开始抱怨,身居陋室,为什么还想成为伟大的钢琴家呢?只有一墙之隔(假墙)的隔壁情侣,有一次吵架了,女生哭着,
2021-10-24 23:54:49
173
原创 JVM类加载过程
类加载的概念JVM把.class文件的数据加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。类加载的过程Java虚拟机中类加载的全过程,即加载、验证、准备、解析和初始化这五个阶段;类的个生命周期如下:1,加载阶段(引入)通过类加载器:1)通过一个类的全限定名来获取定义此类的二进制字节流。2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。3)在内存中生成一个代表这个类的java.lang.Class对象
2021-10-20 22:45:31
255
1
原创 mysql多条新增字段sql合并为一条新增
如下,同一张表,有4条分开的新增字段的sql,alter table a add column column1 tinyint null default null comment 'column1:0否,1是' after xx;alter table a add column column2 tinyint null default null comment 'column2:1员工,2运营' after xx;alter table a
2021-10-09 14:31:19
2338
原创 mysql事务隔离级别之锁实现原理,脏读、不可重复读、幻读出现原因及解决方案
mysql事务隔离级别原理观看了很多网上的博客,挺令人伤心,很难想要的答案,一:所需知识1,mysql中的锁1.1,读锁(共享锁)规则:若事务1对数据对象A加上读锁,则事务1只能读A;其他事务只能再对A加读锁,而不能加写锁,直到事务1释放A上的读锁。作用:这就保证了其他事务可以读A,但在事务1释放A上的读锁之前不能对A做任何修改。1.2,写锁(排他锁)规则:若事务1对数据对象A加上写锁,则只允许事务1读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到事务1释放A上的锁。作用:防止任
2021-10-08 23:02:47
822
原创 VsCode编辑器C++环境快速搭建,只需4步
1,下载vscode官网:https://code.visualstudio.com/Download2,vscode的扩展商店中搜索C++和Code Runner3,配置终端运行打印4,复制代码,点击运行#include <iostream>using namespace std; int main (){ double* pvalue = NULL; // 初始化为 null 的指针 pvalue = new double; // 为变量请求内存
2021-09-26 15:21:45
302
原创 Java静态代理和动态代理的区别
我们来使用代理实现下简单的日志功能。我们要在调用一个接口方法的时候给他记录日志的功能。静态代理:静态代理关键在代理对象和目标对象实现共同接口,并且代理对象持有目标对象的引用。接口:public interface DemoService { void doSomeThing(String name);}实现类:class DemoServiceImpl implements DemoService { @Override public void doSomeThin
2021-08-23 01:56:44
734
原创 idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效
报错如图:网上有很多类似解决方案,思路一般都是把1,检查idae关于maven的配置。2,检查setting.xml文件是否配置阿里镜像仓库,3,已经拉取的jar包删除后重新拉取。这三种方法都尝试,还是无法解决问题。。。解决方案:其实很简单。。profile中,勾选自己的选项,刷新,重新import依赖,我们再去执行maven的compile命令,问题解决!!原理,在setting.xml中,看是否配置了默认的私人仓库(公司搭建的仓库),如果没有的话,需要手动勾选。如下,我的
2021-08-11 18:23:47
5251
原创 B+树为什么比B树强大?
我们先来看看他们的图形结构:B树如图一个三层的b树,查询元素(主键)29查询过程1,第一次磁盘IO,把9所在节点读到内存,把目标数29依此和17、35比较,17<29<35,找P2指针对应的磁盘块3;2,第二次磁盘IO,还是读节点到内存,在内存中把29依次和26、30比较,同理找到P2指针对应的磁盘块8;3,第三次磁盘IO,跟第二步一样,然后就找到了目标29。//如果查找非叶子结点的关键字26,则只需要IO两次,直接返回。B+树B+树:同样查询查询元素29查询过程IO情况
2021-08-11 00:46:04
831
原创 idea新版本“import项目”的按钮在哪里?
之前使用的2017、2018左右的版本,在file下就有import的选项,我们可以选择导入固定的项目管理工具,如gradle或者maven的类型。但是使用了2020.3,却在file下找不到import项目的按钮了,如图:那么,新版本的import在哪里呢?我们选择一个项目之后,就会让你选择项目管理工具的类型了!:...
2021-08-03 21:21:40
6687
原创 JVM垃圾回收器(Hotspot)
JVM垃圾回收器发展与对比GC回收算法:1,引用计数法无法解决互相引用的场景。2,可达性分析算法,从gcRoots集合出发,查找引用链,实际上,不会愣头青的去查询所有执行上下文和全局的引用位置,因为垃圾收集过程必须停顿所有用户线程(原因是根节点集合的对象引用关系还在不断变化),而是使用准确式垃圾收集,是使用一组称为OopMap的数据结构,一旦类加载动作完成的时候, HotSpot就会把对象内什么偏移量上是什么类型的数据计算出来,在即时编译过程中,也会在特定的位置记录下栈里和寄存器里哪些位置是引用。
2021-07-26 23:50:37
528
原创 Java8Stream数字和NULL如何排序
caseList<Persion> list=new ArrayList<>(); list.add(new Persion(null,"a",2)); list.add(new Persion(null,"b",2)); list.add(new Persion(null,"c",3)); list.add(new Persion(null,"d",3)); list.add(new Persion(
2021-07-15 21:42:09
830
原创 Spring注入报错Cannot resolve symbol
Spring使用@Autowired或@Resource注入其他接口的时候,显示Cannot resolve symbol…使用option+回车快捷键,并没有import的选项解决方案,当前包下查看gradle或maven是否引入了这个包的依赖,我是因为service包引入了这个包的依赖,而这个包却没有,导致查询不到这个资源:在build.gradle中:dependencies { 加入此包的坐标 compile("AAA-api:${AAA_api_version}")}问
2021-07-11 17:13:22
2288
原创 Java异步编程的常用方式(一:使用)
Java异步编程到底怎么玩?(一:使用)1.显式使用线程和线程池实现异步编程A.线程同步任务,主线程先执行1,然后执行2,共耗时4秒public class AsyncTest { //任务1 public static void method1(){ try { Thread.sleep(2000); }catch (Exception e){ e.printStackTrace(); }
2021-07-11 13:06:19
432
原创 sql新增字段语法报错:‘,‘ or PARTITION expected, got ‘COMMENT‘
我的sql:ALTER TABLE a add COLUMN `custom_id` bigint not null default 0 after `is_delete` COMMENT '自定义格式id' ;发现显示comment关键字报错:’,’ or PARTITION expected, got ‘COMMENT’解决方案:把after 关键字放到commen关键字后面:ALTER TABLE a add COLUMN `custom_id` bigint not null defau
2021-06-23 11:18:12
2251
原创 gradle引入的jar版本无法修改
拉取最新代码后,发现最新代码报错,一看原来是jar包(本项目子系统)版本不对,但是全局竟然也搜不到这个版本号。处理方案:1>设置中检查是否使用本地下载的gradle1.1如果不是,则换成自己本地下载的gradle,重新编译1.2如果是,则进入本地gradle目录,删除cache文件,重新编译...
2021-06-18 15:11:06
816
原创 Java的Mock测试到底怎么使用
Java的Mockito测试如何使用由于种种原因,我们暂时无法从数据库、或者依赖其他系统的接口中,无法获取到测试数据,我们难以对自己的接口顺利进行测试,所以我们可以使用Mockito测试框架来Mock所需要的数据,测试我们的代码。简单方法使用1.测试方法是否被调用 @Test public void verifyAccount(){ Account mockAccount = mock(Account.class); mockAccount.set
2021-06-16 20:58:22
1838
原创 Maven Or Gradle?究极实测对比,孰强孰弱一看便知!
Maven Or Gradle?究极实测对比,孰强孰弱一看便知!我们习惯了使用Maven构建工具,现在市面上大多数也都是使用的Maven,但是Gradle的出现,究竟哪个更好用哪个更有优势呢?下载安装与配置maven官网:Maven官网maven配置环境(MacOS系统):// 输入命令vim ~/.bash_profile//打开后配置环境变量,点i为输入,复制下面两句,MAVEN_HOME,换成自己下载的路径export MAVEN_HOME=/Users/…/apache-maven
2021-06-14 16:13:36
7128
2
原创 idea中Lombok无法使用处理方法
1.检查idea设置中安装插件2.检查导入lombok依赖坐标gradle:maven:3.Library中检查是否成功下载jara>右侧构建工具dependencesb>项目目录栏最下放的External Library问题1.如果idea设置中下载不到插件,建议使用老版本idea,新版本可能不兼容lombok插件2.如果idea设置中搜索不到lombok插件,可以去lombok官网下载和自己版本相对应的lombok版本zip包,然后导入lombok官网对应的lo
2021-06-14 13:19:44
4713
原创 Java开发利器:建议使用Lombok插件
Java开发利器:建议使用Lombok插件lombok官网地址:lombok官网lombok是一个java库,提供了一组注解可以更快生成java对象中的一系列方法。1.引入依赖//maven<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency> <groupId>org.projectlombok</groupId> <a
2021-06-05 14:05:59
132
原创 java报错:idea下载源码RuntimeException: Cannot reconnect
下载源码的时候报错:解决方案:Perferences-Maven-Importing-VM Options for importer添加参数:-Djava.net.preferIPv4Stack=true实测有效。
2021-06-05 13:05:27
653
原创 后端Java-MacBookM1芯片新电脑后端环境常用软件安装详细步骤
1.idea安装官网地址:idea官网建议使用m1适配的老版本ideaPoJie姿势:激活方法2.JDK1.8jdk使用的是zulu的,百度网盘地址:链接: M1芯片jdk1.8百度网盘地址 密码: 5kwpjava -version3.mavenmaven官网地址:maven官网配置maven环境变量:// 输入命令vim ~/.bash_profile//打开后配置环境变量,点i为输入,复制下面两句,MAVEN_HOME,换成自己下载的路径export MAVEN
2021-06-04 23:17:57
5974
4
原创 Java编译报错:无法将类XX中的构造器XX应用到给定类型
报错如图:实体类:编译的时候报错。。。下载的最新版本idea,2021.1.1不对啊,老版本都没问题的突然想到虽然有lombok的依赖包,但是插件是不是也需要更新一下呢,然后-----lombok插件竟然找不到而且我有lombok的依赖,idea没有提示任何错误尝试去官网下载,然后安装—竟然也不行原来-------------官网搜索出来的所有lombok没有一个最新版本idea支持的官网上的都是191*,201*,181* 等等,就是找不到211*。也就是说,最新版
2021-05-25 22:01:28
15644
6
原创 Java报错ClassNotFoundException:com.sun.tools.javac.code.TypeTa
解决方案:1,检查lombok版本过低,建议1.16.102,JDK版本是否正确,建议正版1.8
2021-05-13 17:54:40
564
原创 Maven本地仓库、阿里云镜像中央仓库设置
阿里云镜像中央仓库maven文件夹下,conf/setting.xml中找到mirrors标签中,复制粘贴下面的 <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/publ
2021-04-11 19:55:26
310
原创 live template 配置
自定义快捷键注释模版,想在哪里打就在哪里打!如模版:/** * * @param * @return * @author 单边李 * $date$ **/记得将idea 重新启动哦!
2021-04-07 20:15:11
210
原创 Hibernate(一)环境搭建,快速入门,原理介绍
hibernate:冬眠。冬眠似乎是快乐的事情。可惜程序员何时才能安稳的入眠呢?作为开源的重量级(相对于MYBATIS)的DAO层框架,似乎已经被我们遗弃,都去使用了更轻量级的mybatis,可惜有些老系统依然使用的是冬眠,正如我们…但是自从我用了一下,感觉还挺香!!那么他相比较mybatis好用吗?我们今天来一起探究一下。如何快速配置环境1,引入hibernate所需要的jar包maven:<!--hibernate相关包--><dependency> <
2021-04-02 21:05:48
641
原创 hibernate报错ClassCastException:ArrayList cannot be casttoLong
报错如图:hibernate中批量操作使用in 关键字时,in (:param) 为一个集合,去setParameter的时候需要使用setParameterList。例如批量update操作:String hql = "update model1 set age=:age where name in (:names)";org.hibernate.Query query = getSession().createQuery(hql); query.setParameterList
2021-03-17 19:15:47
455
原创 Echarts报表3D内容所必须依赖的js文件
链接:https://pan.baidu.com/s/1qA2V9K2yXrr64PnhyL2Omg提取码:john拿走不谢,求大佬点个赞
2021-03-15 22:52:09
424
原创 Windows和Linux常用命令对比
一.文件/目录操作操作WindowsLinux切换目录cdcd显示目录里的内容dirls/ll显示目录结构tree文件或目录重命名ren a bmv创建目录md 目录名mkdir 目录名创建文件echo a > 1.txttouch 文件名删除目录rd a(删除当前目录下的空文件夹);/s /q删除所有rm [-r所有]拷贝文件copy a x:\bcp a b移动文件move a x:\new
2021-03-15 22:23:09
438
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人