lx18854869896
码龄7年
关注
提问 私信
  • 博客:14,054
    14,054
    总访问量
  • 29
    原创
  • 65,821
    排名
  • 196
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-12-06
博客简介:

lx18854869896的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    265
    当月
    5
个人成就
  • 获得251次点赞
  • 内容获得0次评论
  • 获得200次收藏
创作历程
  • 29篇
    2024年
成就勋章
TA的专栏
  • Java
    1篇
创作活动更多

仓颉编程语言体验有奖征文

仓颉编程语言官网已上线,提供版本下载、在线运行、文档体验等功能。为鼓励更多开发者探索仓颉编程语言,现诚邀各位开发者通过官网在线体验/下载使用,参与仓颉体验有奖征文活动。

367人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

maven 学习笔记:20241024

所以执行 mvn clean 这个生命周期其实是执行的生命周期背后的clean插件,而 mvn clean:clean 也可以实现编译文件全清楚就是这个原因,第一个clean是插件的前缀,而冒号之后的是插件的目标,一个插件可能有多个目标。存放依赖包的地方,通过maven坐标(生成项目时定义的groupId,artifactId,version等)来寻找相应的依赖包,分为本地仓库和远程仓库,项目的依赖包maven会首先在本地仓库寻找,如果本地仓库有就直接使用,没有就到远程仓库寻找,并下载到本地仓库使用。
原创
发布博客 2024.10.26 ·
649 阅读 ·
12 点赞 ·
0 评论 ·
17 收藏

HashMap源码还是相对来说好理解一点

如果数组对应元素不为空,拿该元素与新元素比较 如果hash相同,并且地址值相同,或者 hash值相同并且equal()为true,就替换元素,这里可以看到先判断地址值,这个效率应该还是高一些。原来这个方法是有返回值null,put方法调用内部的putVal()方法 该方法有5个参数,除了key,value,还有个 hash(key)的参数,这个地方应该就是取hash值了。3,get()还是那几个判断条件,hash值相同,地址值相同,或者equals()为true,就认为是同一个元素,找到就返回。
原创
发布博客 2024.08.14 ·
311 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

JDK安装及自带工具使用

5,配置环境变量 vi /etc/profile JAVA_HOME=xx/jdk/bin 如有 export PATH 字样则在之前添加 PATH=$JAVA_HOME:$PATH,若没有则是 export PATH=$JAVA_HOME:$PATH。/usr 日常使用的程序和文件存放目录,比如 /usr/bin /usr/sbin /usr/lib /usr/tmp 等目录作用等同于系统的响应目录,是自己本地需要的程序和文件。/proc 虚拟目录,是系统内存的映射,可以直接访问这个目录获取系统信息。
原创
发布博客 2024.08.11 ·
409 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

java基础I/O

3.4 字符流通常一次会读取多个字符,比如一行字符,CopyLine.java 就是按行读取写入的例子,一串带有行终止符的字符称为一行。用了缓冲流呢,每次读取8192个字节,回来复制一下,write(int i)复制时呢就是一个字节一个字节复制的,write(byte[8192],0,len)就是每次复制8192个字节,当然最快。IO流代表的是一个数据输入的源或者输出的目标地址,可以是硬盘,内存,网络或者什么其他的电子设备,而IO流的类型也很多比如最简单的字节或者字符,或者其他更高级的对象。
原创
发布博客 2024.08.07 ·
1500 阅读 ·
23 点赞 ·
0 评论 ·
28 收藏

Java基础总结

这些问题的出现都跟CPU的设计有关系,CPU是计算机的运算核心所有的操作或者说指令都是在CPU里面运行的,而且CPU的运行效率超级高,比内存的运行速率还要高出几个数量级,做开发的肯定都知道内存比硬盘快几个数量级,会使用内存缓存来提高运行速率,但是使用了内存缓存就会出现数据不一致的问题,我们会采取各种措施来保证数据的一致性,这里不展开讨论缓存的问题。还是说回CPU,既然CPU的运行速率比内存快的多,设计者也设计了CPU的高速缓存来充分利用CPU的性能提高程序的运行效率。当然还有其他原则,这里不涉及。
原创
发布博客 2024.08.03 ·
410 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

周六算法加练

给一个正整数列 nums,一个跳数 jump,及幸存数量 left。运算过程为:从索引为0的位置开始向后跳,中间跳过 J 个数字,命中索引为J+1的数字,该数被敲出,并从该点起跳,以此类推,直到幸存left个数为止。说明:从1(索引为0)开始起跳,中间跳过 4 个数字,因此依次删除 6,2,8,5,4,7。剩余 1,3,9,返回和为13。* nums: 正整数数列,长度范围 [1,10000]输入:[1,2,3,4,5,6,7,8,9],4,3。* jump: 跳数,范围 [1,10000]
原创
发布博客 2024.07.20 ·
273 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

今天刷算法题了吗?

lights[rowStart][colStart] 与 lights[rowEnd][colEnd] 两个街口之间的最短通行时间。不可超出 n * m 个街口,不可跳跃,但边线也是道路(即:lights[0][0] -> lights[0][1] 是有效路径)现给出 n * m 个街口的交通灯周期,以及起止街口的坐标,计算车辆经过两个街口的最短时间。街道的街口(交叉点)有交通灯,灯的周期 T(=lights[row][col])各不相同;之后 n 行输入 lights矩阵,矩阵每行m个整数,以空格分隔。
原创
发布博客 2024.07.20 ·
1131 阅读 ·
30 点赞 ·
0 评论 ·
10 收藏

【无标题】

3,在左右子树的中序数组找出root元素,其中左子树的root元素是第一步root的左节点,右子树的root元素是右节点一次递归。请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。输入2行整数,第1行表示二叉树的中序遍历,第2行表示二叉树的前序遍历,以空格分割。根据三个遍历中的两个可以确定一颗二叉树。前序遍历输出的顺序是父节点,左节点,右节点。中序遍历输出的顺序是左节点,右节点,父节点。后序遍历输出的顺序是右节点,左节点,父节点。4,注意元素的值是左右子树的和。
原创
发布博客 2024.07.19 ·
292 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

深度/广度优先搜索

【代码】深度/广度优先搜索。
原创
发布博客 2024.07.18 ·
265 阅读 ·
6 点赞 ·
0 评论 ·
0 收藏

深度/广度优先搜索

大体的逻辑就是先把第一个顶点元素入队列,然后搜索这个顶点所有的节点入队之后第一个定点出队,在队列中再取出另外的元素继续这个过程直到队列元素为空,利用的队列先进先出的特性。一种是链表,比如还是100个顶点,还是长度100的数组记录顶点,然后维护一个长度100的链表桶,就跟java里面HashMap的存储结构一样,每个链表记录与该顶点相连的其他顶点。代码说明,首先看Pos对象注意其visit属性,这个是必须要维护的,网上你凡是能搜索到的免费答案,几乎都是错的,付费的咱不知道。图里面的每一个元素叫做顶点。
原创
发布博客 2024.07.18 ·
878 阅读 ·
25 点赞 ·
0 评论 ·
13 收藏

mysql分库分表、读写分离

这里有个问题是更新新增单标查询相对比较简单直接更新就好了,但是多表联查尤其是跨库之间的多表联查是个问题,其中之一的解决办法就是全局数据,把涉及到所有需要联查的数据在每个数据库都存放一份。主从复制的原理是 从库有一个IO线程会读取主库的二进制日志,写入自己的中继日志,然后还有一个sql线程会读取中继日志,将数据插入数据库。如果想要实现读写分离,可以在应用里面配置多个数据源,也是有技术支持的,但是同样的可以通过mycat实现读写分离。有 多种方式:根据ID取模,根据ID的范围,枚举,一致性哈希,甚至按时间分。
原创
发布博客 2024.07.14 ·
163 阅读 ·
10 点赞 ·
0 评论 ·
1 收藏

通过二进制日志实现主(master)从(slave)备份

直接修改/etc/my.cnf配置文件,所有的主从服务器都要配置,唯一即可,注意修改了配置文件需要重启mysqld服务。根据文档说是少了一个配置,SOURCE_PUBLIC_KEY_PATH,这个公钥默认跟二进制的在一个目录配置一下文件名就可以了。这里是两个干净的数据库 就直接跳过了。这里事情其实还是有的,为简化记就不一一记录了,有需要可以参考mysql文档,虽然它的文档写的几乎算是最差的了。这个的限制还是有点多的,不是很灵活,应该是少了一些配置,这个之后再研究,总之这样子一个简单的主从备份就完成了,
原创
发布博客 2024.07.13 ·
335 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

Mysql 运维之安装

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent 永久开放3306。sudo firewall-cmd --zone=public --remove-port=3306/tcp --permanent 可以移除。这个/var/log/mysqld.log 就是mysql默认的日志文件,mysql有问题可以查看这个文件是否有需要的信息。3),查询日志:默认不开启,记录所有的sql语句,开启这个的意义也不大,还占空间。
原创
发布博客 2024.07.13 ·
282 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

Mysql 优化总结

4,增加内存分配,专属服务器建议80%的内存都要分配给内存缓冲区 buffer pool,提高mysql响应效率。c1,插入数据时选择顺序插入,主键乱序插入会发生页分裂现象,页合并现象。4,DCL 权限控制语句,谁能够访问数据库,能访问那些数据。DQL语句优化,最主要的就是设计合理的索引。
原创
发布博客 2024.07.11 ·
379 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

mysql 锁机制和事务

非阻塞读又称之为快照读,与快照读相对应的是当前读,当前读是串行化读取,只有在加锁的情况下才会执行当前读,否则都是快照读,快照读读取的不一定是最新数据,而是该数据行所有undo log版本链中的某一条数据,至于是哪一份就是MVCC控制的,MVCC相对较复杂。但是读未提交的数据在业务逻辑中用处不大,而串行化确实安全但是并发性又不好,不允许两个事务同时写,但是一个事务写另外的事务读总是可以的吧,为了保证读写没有冲突,mysql设计了 MVCC,称之为多版本并发控制,这个机制保证了mysql的非阻塞读特性。
原创
发布博客 2024.07.11 ·
338 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

三句话能不能说清楚classloader?

这三个加载器是有父子关系的,注意不是java里面的继承,而是聚合,但是聚合的属性就叫parent,AppClassLoader的parent是PlatformClassLoader,PlatformClassLoader的parent是BootClassLoader,这个听起来很高大上的名字很简单,就是如果对一个加载器发起一个加载文件的请求它不会直接加载,而是委托它的parent属性对应的加载器去加载,直到BootClassLoader这个最顶层的加载器,如果父加载器找不到再依次回来。
原创
发布博客 2024.07.10 ·
160 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

信息加密算法整理总结

肯定有,那就是需要还原消息的场景,比如我要加密参数然后传输,之后还需要把参数还原出来,单向加密就没啥用处了,还原不出来。c,文件完整性校验,下载文件是还有个散列值及其算法,下载下来之后可以通过相同的算法加密该文件,与下载下来的散列值比较,不相同则文件被伪造。b,接口验签,使用共享密钥(保密),签名 以共享密钥+业务参数,进行散列运算,接受者以同样的方式加密 比较是否一致。5,SHA-3:最新的安全散列算法,设计的目的是替代SHA-2,为未来的安全威胁做好准备。两个密钥,公钥加密,私钥解密。
原创
发布博客 2024.07.08 ·
431 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

mysql索引总结

逻辑存储结构:idb文件就是一个表空间文件,接下来是段,再就是区(1M),最后是页 (16K),然后是行(row),其中物理层面的最小存储单元就是页 page,一页的大小是 16K 这个很关键,16K大约可以存储1000个左右的长度为8字节的索引。也就是是一页最多有1000个左右的指针,对应另外的1000个page,每个page16K。如果是三层树的话,第二层只存储索引,每页存储 1170个索引,每页索引指针又对应 18724的数据,就是21907748条数据,所以千万级别的数据走索引的效率还是能保证的。
原创
发布博客 2024.07.04 ·
553 阅读 ·
14 点赞 ·
0 评论 ·
10 收藏

雪花算法面试题总结

答:这个算法是分布式系统中生成唯一ID的算法,效率非常高,一般有64位二进制组成,第一位固定是0接下来的四十一位是时间戳,精确到毫秒,所以非常依赖机器的时间,然后10位是机器ID,支持1024个机器的编号;于是就有了B数,B树有个名称叫做多路平衡查找树,听名字就比二叉树药快,B树的特点是一个节点存放不只一个元素,而且一个父节点有多个子节点,还有一些其他特性,那么它每次可以取多个数据加载到内存与现有的ID比较,命中的概率大大提升。答:首先说mysql的索引结构,他是是一个B+树结构。要讲明白什么是B+树?
原创
发布博客 2024.06.26 ·
237 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

动态规划补充二

像这个求最大连续数的这个就比较简单,仅需要以为数组,记录当前位置连续数的长度,之后如果是1就加1,如果不是1就置为0。这个动态规划的使用场景多的很,之前说了首先是初始状态的查找分辨,然后是动态转移方程,这个动态转移方程的精髓是什么?从简单的开始计算,然后记录结果(状态),并将结果(状态)用于之后的计算。01背包问题,需要二维数组,有两个纬度 容量和钱数 记录的是最大价值。购物单一样,需要二维数组,有两个纬度 个数和钱数 记录的是最大满意度。放苹果的问题 也是两个纬度 苹果数和盘子数 记录的是有几种放法。
原创
发布博客 2024.06.24 ·
142 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏
加载更多