自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我会java,但我不会python,所以得看书:《Python编程:从入门到实践》- 1

关键字实参,与位置无关,直接描述形参对应的值:function_name(type_1=‘type_01’, type_2=‘type_02’)编写函数时直接指定某形参的值,设置默认值:def function_name(type_1, type_2=‘type_02’)继承:class Son(father):子类需要在__init__中调用super().__ init__()列表:可以将任何东西加入列表中,命名通常为复数,用[]表示列表,用逗号分隔元素。

2023-07-09 15:48:34 410

原创 自编自导一个RPC框架之《一致性哈希负载均衡算法思考》

MurmurHashStrategy算法在哈希效率上表现较好,适用于需要快速计算哈希值的场景,如缓存和数据存储的负载均衡。但是,它的哈希值分布不如一致性哈希算法均匀。一致性哈希算法通常用于分布式缓存、分布式文件系统等场景的负载均衡。KetamaHashStrategy是一致性哈希算法的一种实现,具有较好的哈希均匀性和可扩展性,能够支持节点的增加、删除和失效检测,具有较好的容错性。FnvHashStrategy算法是一种简单的哈希算法,适用于对哈希算法效率和分布均匀性要求较低的场景。

2023-05-07 11:24:30 609 1

原创 JUC——补充篇

🕐 单例模式的双重校验锁🕐 消费者-生产者的虚假唤醒。

2023-04-23 09:38:27 401

原创 mybati-plus自定义sql:Invalid bound statement (not found)

mybati-plus自定义sql:Invalid bound statement (not found)

2023-03-09 13:09:52 306

原创 MySQL随手练——45道DQL题

MySQL随手练 / DQL篇

2023-02-22 15:42:43 626

原创 笔试:深圳中博(2023.2.7)两道算法题 <未通过>

笔试分两部分:一道填空题、一道编程题。语言自选,我选择的Java语言答案如有错误,希望指出来,编程题答案仅供参考,笔试时间紧张,写的比较垃圾,自己笔试后看感觉是很鸡肋。

2023-02-08 09:38:51 875 2

原创 idea 点击 trust project 失效 怎么解决?

gitee上拉下来的项目第一次打开,点击Trust Project按钮点烂了都无效,导致Git无法正常运行

2023-01-16 15:59:49 2940

原创 面试——I/O、泛型、反射、异常篇

🕐 IO流基本概念1、Java 的 I/O 大概可以分成哪几类操作?2、java 中 IO 流分为几种?3、既然有了字节流,为什么还要有字符流?4、编码与解码?操作系统中的IO。

2022-09-25 23:02:26 153

原创 面试——Java容器篇

🕐 Collection📦 ArrayList与LinkedList区别?📦 数组为什么比链表查询效率高?📦 双端链表和双向链表与双向循环链表📦 RandomAccess接口作用?

2022-09-25 23:01:39 341

原创 JDK 1.7 hashmap循环链表的产生(图文并茂,巨详细)

今天休息时间本来开开心心的刷着抖音,还以一种讥笑(姨夫笑)中透露着不屑一顾(羡慕)的心情看着手机屏幕中各种撒狗粮的视频,突然,我刷到了一个面试视频,我知道快乐的时间截至了……题目:JDK1.7 hashmap循环链表是怎么产生的?...

2022-08-03 11:09:14 2174 2

原创 面试——Java基础篇

面试——Java基础篇

2022-06-07 22:33:22 1107

原创 hashmap源码研读——put、get、resize方法

hashmap源码研读jdk1.8 hashmap类注释jdk1.8 hashmap类注释/** * Hash table based implementation of the <tt>Map</tt> interface. This * implementation provides all of the optional map operations, and permits * <tt>null</tt> values and the &

2022-04-25 17:36:29 207

原创 浅析一致性hash和hash槽

最近碰到一个redis面试题涉及到一致性hash和hash槽,刚好不太了解,在此总结一下。补充知识,不想了解可以跳过hash算法的缺点,一致性hash算法诞生什么是一致性hash一致性hash就是尽量在分布式节点增加、减少情况下,让请求命中原节点一致性hash——增加节点一致性hash——减少节点问题一:增加、减少节点,都会有槽移动到新节点,ip不一样了,那不会报错吗?到这里,让我们一起来看文章开头的那个面试题.........

2022-04-07 01:08:15 3971 3

原创 redis面试题总结

redis面试题总结常规问题什么是redis,为什么要使用它redis一般有哪些使用场景redis为什么快数据类型和数据结构redis有哪些数据类型谈谈redis的对象机制(redisObject)redis数据类型有哪些底层数据结构为什么要设计sds?一个字符串类型的值能存储最大容量是多少?为什么会设计Stream Stream用在什么样场景消息ID的设计是否考虑了时间回拨的问题持久化和内存Redis 的持久化机制是什么?各自的优缺点?一般怎么用?Redis 过期键的删除策略有哪些Redis 内存淘汰算法

2022-04-06 16:52:29 961

原创 RedLock详解

Redis 官方网站刊登的Redis分布式锁 Distributed locks with RedisA Distributed Lock Pattern With Redis为什么基于故障转移的实施还不够redis主从无法真正实现Redlockredis单实例中实现分布式锁的正确方式RedLock算法RedLock算法是否是异步算法?RedLock失败重试RedLock释放锁RedLock算法安全论据系统活性论据为什么基于故障转移的实施还不够redis主从无法真正实现Redlock官方认为:使

2022-04-06 16:07:36 3631

原创 制作Tomcat Dockerfile

制作Tomact Dockerfile一、下载jdk与tomcat二、编写Dockerfile三、构建镜像四、运行镜像,启动容器五、更新文件,实现部署一、下载jdk与tomcatlinux系统下目录:/home/dockerfile二、编写DockerfileFROM centosMAINTAINER MAOJINZHI<2509763868@qq.com>COPY readme.txt /usr/local/readme.txtADD jdk-8u65-linux-x64

2022-03-08 11:16:20 1307

原创 docker部署Nginx、Tomcat、ES和kibana

docker练习docker部署Nginxdocker部署Tomcatdocker部署ES和kibana通过这篇文章,你可以了解:1、docker部署Nginx2、docker部署Tomcat3、docker部署ES和kibanadocker部署Nginxdocker部署Tomcatdocker部署ES和kibana

2022-03-08 09:04:19 112

原创 dockerfile命令CMD与ENTRYPOINT:替换与拼接

# CMDvim testCMD # 写入 FROM centos CMD ["ls","-a"]docker build -f testCMD -t testcmd:1.0docker run $(docker images testcmd -q)# ENTRYPOINTvim testENTRYPOINT # 写入 FROM centos ENTRYPOINT ["ls","-a"]docker build -f testENTRYPOINT -t testentrypoint

2022-03-04 20:51:54 1194

原创 算法题积累 切面条

一、切面条一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?/** * 思路一:算弯道 * 不折 直线2 折点为0 * 折一次 直线2 折点为1(2^0) * 折两次 直线2 折点为3(2^0+2^1) * 折三次 直线2 折点为7(2^0+2^1+2^2) * 折四次

2022-02-13 19:40:46 353

原创 浅析Mybatis三种执行器

1、哪三种执行器package org.apache.ibatis.session;public enum ExecutorType { SIMPLE, //默认 REUSE, //复用 BATCH; //批量 private ExecutorType() { }}从枚举类ExecutorType可以看出三种执行器;第一个问题:为什么枚举类必须私有化构造器?唯一性:防止实例化造成命名冲突,统一由JVM加载的时候,实例化枚举对象将枚举类设计

2021-10-24 16:45:42 3195

原创 线程的工作内存与主内存 举例i++

工作内存:CPU寄存器和高速缓存(读取、计算、赋值)的抽象描述主内存:分配给java虚拟机进程的内存(计算机物理内存一部分)的一部分线程中i++运行时步骤1、将变量i从主存中拷贝到工作内存的高速缓存中2、高速缓存读取拷贝数据,进行+1操作3、将运算结果写入到工作内存4、将数据从工作内存中刷回主存(时机有操作系统定)i++线程不安全两个线程T1与T2同时操作i++,会出现的线程问题:线程T1操作i++,i执行1、2、3时;线程T2也可以操作1、2、3,两个工作内存中i都为1;这个时.

2021-10-22 14:59:23 342

原创 解决图片上传oss sdkjava.lang.ClassNotFoundException: org.apache.http.conn.ssl.DefaultHostnameVerifier

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/http/conn/ssl/DefaultHostnameVerifier] with root causeorg.apache.http.

2021-10-11 16:11:08 1395 1

原创 vue-admin-template-master @4.4.0设置baseUrl,自定义端口请求使用 springboot 后端数据

修改端口与默认访问路径修改端口修改VUE_APP_BASE_APIVUE_APP_BASE_API分dev与prod都改这样访问路径为http://localhost:8081标题

2021-10-09 16:16:50 1211

原创 springboot+shiro 出现ajax 200 4 parseerror 的错误

网上找到的一点线索:排查是不是前端问题:data:中的json 是不是规范,js语句是不是规范,dataType: 'json’是不是与后端返回的数据一致排查是不是后端问题:看后端能不能接收数据(如果不可以,检查请求路径是不是正确,检查重写ShiroFilterFactoryBean中setLoginUrl是不是正确(我就错在这里))...

2021-10-04 14:18:38 133

原创 关于springmvc controller 获取前端转过来的值为null的那些坑

做springboot+thymeleaf练习时,发现在前端用ajax(contentType : “application/json ; charset=utf-8”)传数据给后端硬是获取为null,用HttpServletRequest拿值为null、用@RequestParam获取为null、用@RequestBody获取直接报warning,说什么我传的参数token可能为null我是人快傻了,作为一个小白,心态炸裂。特在这里做个记录:引发这宗‘血案’的真凶:application/x-w

2021-10-02 23:44:17 1328

原创 jquery点击click事件和blur事件冲突如何解决

问题展现(“I want to register”点击会在同一页面会将这个“卡片”换成另一个“卡片 ”)当输入密码后立即点具有click事件的按钮“I want to register” 时,就会出现卡片换了,但提示(弹窗提示)还是出来,这里想click时,不会触发blur解决方案:先了解blur与click的共同点:都是在鼠标点击松开时触发因此,我们可以找一个方法让它们错开:为blur设置延迟把click改成mousedown,在鼠标点下时就触发,这样blur事件不会完成...

2021-10-01 22:42:40 584

原创 获取HttpServletRequest中网址信息

//http://localhost/user/login?username=123&password=1231324StringBuilder query = new StringBuilder(request.getRequestURL()).append("?"); if ("GET".equals(request.getMethod())) { //get请求 query.append(request.getQueryString()); } else if ("P

2021-10-01 11:14:06 172

原创 Linux CentOS 7中安装XXX(持续更新)

#上传文件rz命令安装yum -y install lrzsz安装JDK 1.8windows下‘下载’jdk 1.8:网盘下载提取码:mdlg一、前期准备1、卸载系统自带的OpenJDK以及相关的java文件#查看是否自带javajava -version#查看OpenJDK java文件rpm -qa | grep java#删除以下java文件(版本可能不一样)#java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64#ja

2021-09-28 15:42:13 153

原创 Maven中的Mybatis:熟悉mybatis的使用

MyBatis学习mybatis基本使用步骤1、创建Maven项目并在pom.xml文件中配置依赖与插件等信息2、编写dao接口、表的实体类、daoImpl,定义方法3、编写mybatis主配置文件,实现数据库连接,指定mapper文件4、封装创建SqlSession对象方法5、传统 Dao开发方式,通过操作mybatis主配置文件,在DaoImpl中执行sql语句解析步骤总结:传统 Dao开发方式的分析mybatis使用进阶减少接口实现类(daoImpl):jdk动态代理mybatis的sql执行流程ge

2021-08-22 17:49:09 524

原创 Mybatis(二):深入理解参数

一、#和$是占位符,用于参数值代替mybatis会使用preparedstatement把#{}的内容代替sql 语句中的?,preparedstatement更安全,更快$字符串替换,用于字符串拼串mybatis会使用Statement把sql 语句和${}的内容连接起来。主要用在替换表名,列名,不同列排序等操作二、从 java代码中把参数传递到 mapper.xml文件一个参数多个传参的方法可以传单个参数也可以在dao接口方法的参数列表中直接传(dao.querySelec

2021-08-22 17:48:33 152

原创 Mybatis:配置文件

MyBatis setting与别名settings别名settingssettings是 MyBatis 中全局的调整设置,它们会改变 MyBatis 的运行时行为,应谨慎设置 <settings> <!--该配置影响的所有映射器中配置的缓存的全局开关 默认值true --> <setting name="cacheEnabled" value="true"/> <!--延迟加载的全局开关 当开启时,所有关联对象都会延迟加

2021-08-22 17:48:00 177

原创 Mybatis(三):mapper.xml中的动态SQL

通过本篇文章你将看到以下知识:xml文件怎么处理<、>、<=、>=动态sql中的if、wherer、foreach标签使用foreach中collection使用自定义名字怎么处理重复使用的sql语句xml中的判断类符号使用对于xml文件中是禁止出现<号,那定义在xml文件标签中的判断类符号会使用实体符号去代替判断类符号实体符号>&gt;<&lt;>=&gt; =<.

2021-08-22 16:14:44 2195

原创 java怎么获取list中的实体类

直接上例子首先我们先创建一个实体类:package MVC_Test.com.mvc.model;/** * @Author: LanAn * @Date: 2021/7/11 0011 10:20 * @Description: */public class Emp { private Integer empno; private String ename; private String job; private Integer mgr; priv

2021-07-11 17:56:10 4030

原创 这些Oracle基础知识你有没有都get到

此系列文章,用于梳理Oracle基础知识,如文章有错误欢迎指出Oracle基础知识Oracle中的数据类型数据类型分类数据类型常见问题Oracle函数分类单行函数多行函数常见问题Oracle中的数据类型数据类型分类1. NUMBER     NUMBER( P)     整型,P是精度     NUMBER( P, S)    &nbsp

2021-06-28 22:38:28 413

原创 Oracle 游标、异常、存储过程、触发器

1、游标

2021-06-26 19:37:01 250

原创 初识Oracle PL/SQL

1、什么是PL/SQLPL/SQL也是一种程序语言,被称作支持SQL的程序语言(Program Language,是Oracle数据库对SQL语句的扩展,在普通的SQL语言中增加了编程语言的特点;数据操作和查询语句被包含在PL/SQL代码的过程性单元中,经过逻辑判断、循环等操作完成复杂的功能或者计算。2、PL/SQL优点使用PL/SQL可以编写具有很多高级功能的程序,虽然这些功能可以通过多个SQL语句来完成同样的功能,但是PL/SQL具有如下的优点:使一组语句功能形成模块化程序开发使

2021-06-25 23:37:33 165

原创 Oracle Top-N分析法

TOP-N分析法TOP-N分析法就是通过TOP-N算法从研究对象中得到所需的N个数据,并从排序列表中选取最大或最小的N个数据,这就是一个TOP-N算法。ROWNUM伪列(虚拟出来的列)Oracle中没有像MySql中limit函数以及SQLServer中的top关键字,但是它有ROWNUM伪列,数据插入的顺序决定了查询数据的顺序,也决定了ROWNUM的顺序。Oracle数据库中特有的,其它数据库中没有这种机制。rownum是行号,行号从1开始,以1递增。rownum只在DQL语句当中存在

2021-06-25 17:49:47 742

原创 初识Java JDK动态代理(AOP)

代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 百度百科

2021-06-20 22:57:35 135

原创 javaweb项目问题记录(二)

1、怎么向mysql中加入boolean类型数据MySQL有tinyint(1)类型,该类型只能存放0与1,与true与false相似,并且,当tinyint字段长度为1时,idea展示为boolean值String typeName=obj.getClass().getName();//java.lang.Boolean如果不想在idea中返回boolean值,可以改成tinyint(4)String typeName=obj.getClass().getName();//java.lang.

2021-06-18 21:08:01 97

原创 在网页加载时给json数据动态添加字段,导致在更改该值的时候无效操作

问题虽然处理了,但目前的前端无法解释,欢迎各位大佬指教。上代码:let info =new Vue({ el:"#user_info", data:{ itemData:[{id: '1', value: '香蕉',hasSelected:false}, {id: '2', value: '苹果',hasSelected:false},

2021-06-16 23:52:23 519

空空如也

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

TA关注的人

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