自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(194)
  • 资源 (11)
  • 问答 (2)
  • 收藏
  • 关注

原创 pycharm依赖管理(不要用pip freeze)

在使用python虚拟环境时,可以使用requirements.txt来管理当前项目的依赖。注意,不要用 pip freeze > requirements.txt 这个命令,因为它会引入很多无关的包。可以使用 pipreqs ./ --encoding=utf-8./ 表示当前项目的目录,--encoding=utf-8 是为了避免报错(编码相关)Why to usepipreqs?

2023-12-17 16:41:10 1031

原创 JDK1.8 HashMap源码解析 (扩容机制,null键,与1.7的区别等)

hashmap支持null键吗?当扩容的时候,所有元素都会 rehash吗?怎么减少扩容次数为什么node数组的大小是2的n次?

2023-12-03 12:38:31 157

原创 《代码整洁之道》摘抄

为什么产品经理的想法总是在变化 提升开发效率和代码质量的技巧:测试先行(测试驱动开发)保持手感,练习kata专业主义(开发人员应该怎么保证代码质量)如何让代码质量逐步提高

2023-12-03 11:39:34 138 1

原创 一文了解工业互联网是什么,和传统互联网的区别有哪些

工业互联网和传统互联网有什么区别?工业互联网和传统互联网的从业者的区别? 工业互联网带来的效率提升有多大?

2023-12-02 22:54:54 596

原创 ChatGPT 使用建议

1 经常使用,但不要过度使用;2 得不到答案时不妨试试搜索引擎; 3 学会提问,学会和chatgpt对话;

2023-11-25 16:55:07 737

原创 ElasticSearch学习和使用 (使用head软件可视化es数据)

下载Elasticsearch6.2.2的zip包,并解压到指定目录,下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-2-2运行bin目录下的elasticsearch.bat启动Elasticsearch安装图形化插件head,用来可视化存储在es中的数据;ElasticSearch入门篇(保姆级教程) - coderxz - 博客园 (cnblogs.com)按照博客教程启动 head,通过浏览器访问es

2023-11-12 17:23:13 449

原创 闭包通俗解释,Demo(Go Java Python)

闭包就好比是一个能够包含函数代码和其相关环境的封闭单元,而且可以在其定义的范围之外继续存在和生效。

2023-10-29 10:06:16 310 1

原创 常用docker命令 docker_cmd_sheet

常用docker命令 docker_cmd_sheet

2023-10-24 22:17:19 299

原创 程序员提高效率的工具和习惯分享

程序员提高效率的工具和习惯分享

2023-10-22 17:08:48 108

原创 设计模式之建造者模式

就可以使用工厂模式和Builder模式,相对于工厂模式会产出一个完整的产品,Builder应用于更加复杂的对象的构建,甚至只会构建产品的一个部分。工厂模式主要是有很多的相似的类,把他们放到一个工厂里,在使用时传入一个类名就可以自动的创建,相当于工厂根据类名做了一个分发。建造者模式属于创建型模式的一种,又叫做生成器模式,主要用来进行对象的构建,相比较程序员一步一步的自己去new 方便很多。而创建者模式应用的场景更多是对象的创建步骤比较繁琐,所以将这个比较繁琐的步骤做一个封装,这样在使用时就比较简单了。

2023-04-03 12:00:13 329 1

原创 设计模式之工厂模式

当我们直接new一个对象比较麻烦时,比如构造方法传参数量太多,或者在构建对象之前需要进行一些其他的操作。再比如创建一个类A要先创建类B,这种使用new比较麻烦时就可以交给工厂去做,还减少了代码的重复。

2023-04-03 11:45:00 295

原创 X119blog 博客项目中的表结构总结

本文是对X119blog 博客项目中的表结构进行简单的总结,主要根据功能模块进行分析。

2023-03-25 10:47:30 469 2

原创 Mybatis 源码解析(读取xml=>建立数据库连接=>结果映射)

Mybatis框架做了几件事情:读取配置文件XML,生成对应的数据源,解析读取SQL语句,方便后面去执行SQL。在调用相关的函数比如后将MySQL返回的数据和 本地的pojo 类User进行映射,将查询得到的结果转化为java的对象。

2023-03-23 19:47:21 273

原创 Java 核心技术卷1 第一章 java程序设计概述

正像我们在第1版中已经指出的那样,Java并不只是一种语言。在此之前出现的那么多种语言也没有能够引起那么大的轰动。作为一名程序设计人员,常常希望能够有一种语言,它具有令人赏心悦目的语法和易于理解的语义(C+不是这样的)。与许多其他的优秀语言一样,Java恰恰满足了这些要求。有些语言,但是,没有提供一个大型的库。如果想要有奇特的绘图功能、网络连接功能和数据库存取功能就必须自己动手编写代码。正是因为它集多种优势于一身,所以对广大的程序设计人员有着不可抗拒的吸引力。

2023-02-23 23:28:21 1114

原创 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决方案

使用autoReconnect=true&failOverReadOnly=false,(只对mysql 4之前的版本有效)com.mysql.jdbc.Driver 是mybatis-connection-java 5 及 5 以下的。com.mysql.cj.jdbc.Driver是mybatis-connection-Java 6 及以上的。但是我的这个错误并不是超时,因为wait_timeout 默认是 8小时,而报错信息中的时间只有233ms。以上解决方案的报错信息中的时间一般都很大比如。

2023-02-12 17:19:43 10850 1

原创 Vue 总结四 (ref, mixin, 插件, 插槽, VueX)

Vue 总结四 (ref, mixin, 插件, 插槽, VueX) 和id的区别对于传统标签来说没有区别 都拿到的是 html内容对于自定义的vue 的标签 ,ref拿到的是vue实例对象,而id 拿到的依然是 html内容应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc)使用方式:1. 打标识:```.....``` 或

2023-01-11 18:17:47 318

原创 Vue实现路由(Vue-router,参数传递,编程式路由导航)

当点击上面的 router-link 标签时,router-view标签 所在的位置就会被替换为 A.vue。A组件普通的路由导航需要借助 router-link 标签,也可以用函数来描述路由跳转的逻辑。push在切换vue的时候不会覆盖掉之前的切换记录,之后可以回退到之前的Vue。-- Vue中借助router-link标签实现路由的切换 -->在跳转后的vue中可以通过下面的表达式取出传递的参数。

2023-01-10 21:10:29 593

原创 RabbitMQ 总结一(简介、安装、Demo)

message queue 消息队列MQ是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。逻辑解耦+物理解耦 :使用了 MQ 之后,消息发送上游只需要依赖MQ,不用依赖其他服务。第三步, 声明用来存储消息的队列第四步, 进行消息的发布//publisher/consumer 和 broker 之间的 TCP 连接// 和 mq建立连接。

2023-01-09 11:59:44 518

原创 RabbitMQ 总结二(MQ原理 通信方式 消息应答机制)

RabbitMQ 总结二(MQ原理 通信方式 消息应答机制) 本来是由 worker2 处理的消息,因为worker2内部发生了异常而导致没有手动消息应答,broker没有收到应答消息于是将消息重新入队,重新分发进行处理。

2023-01-09 11:39:34 827

原创 Element UI 走马灯的使用

一旦图片手动或者自动切换,就会执行methods中的carouselChange函数:

2023-01-05 16:30:00 7085

原创 Vue 使用过程中的问题总结(npm Nodejs Vue Vue-cli)

vue是一套渐进式,自底向上增量开发(就是根据系统和硬件编写出基层的基本需求代码,再慢慢增加模块),由于他要求遵守的规则较少,你可以引不同自己需要的东西,就需要配合。webpack是一个工具,俗称打包工具,就是把所以浏览器不能识别的东西如(less,scss)等转换为浏览器可以识别的语言如(css),因为vue中需要引入。、gradle十分相似,只不过maven、gradle是用来管理java jar包的,而npm是用来管理js的。

2023-01-03 16:09:54 367

原创 Vue 总结二 (过滤器 自定义指令 生命周期)

局部指令只能是vue实例绑定的元素使用,而全局指令所有的元素都能使用。(1).局部指令:directives:{指令名:配置对象} 或 directives{指令名:回调函数}(2).全局指令:Vue.directive(指令名,配置对象) 或 Vue.directive(指令名,回调函数)

2023-01-01 11:55:08 520 1

原创 Vue 总结一(简介 基本语法)

2.v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。举例:v-bind:href="xxx" 或 简写为 :href="xxx",xxx同样要写js表达式,注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。3.备注:使用v-if的时,元素可能无法获取到,而使用v-show一定可以获取到。(1).初次读取时会执行一次。双向数据绑定:

2022-12-31 17:09:42 608

原创 JS概览 (JS基础 DOM BOM)

JS概览 (JS基础 DOM BOM) JS 作用域 预解析 DOM事件流 文档模型 BOM相关事件 JS执行机制 事件循环

2022-12-30 22:05:57 887

原创 CSS总结(网页布局:标准流 浮动 定位)

CSS 主要的功能是布局页面,增加标签的样式和部分交互效果。

2022-12-29 17:53:52 568

原创 JS实现轮播图效果(同时播放音频)

目标:切换到对应的角色就播放相应的音频。页面间隔固定时间会切换到下一图片,同时播放对应的音频,比如角色A 对应 音频1 等。图片左右两侧有控件用来切换图片,也就是两个单击事件和一个定时器。

2022-12-27 20:19:18 647

原创 Java 输入输出流简介和应用 (Java实现序列化工具类)

Java 流相关的类都封装在 java.io 包中,而且每个数据流都是一个对象。序列化:将一个实例对象序列化为字节数组并返回,或者将该字节数组保存在本地。反序列化:将一个字节数组反序列化为对象并返回,或者将本地的文件读取到内存中并且转成对象返回。

2022-11-29 15:07:24 436

原创 Git 入门 拉取仓库和推送仓库

Git操作主要分为两类 ,如何把自己建的项目同步的网上的仓库,如何从仓库同步代码到本地。

2022-11-28 20:15:00 1968

原创 用 Java 实现爬虫 (爬取本地html中的人物信息并可视化人物关系)

本例采用框架 selenium 来模拟访问浏览器,并且爬取页面源代码,然后使用Jsoup进行解析并抓取相关信息。可以获得角色的姓名,介绍,头像,海报,语音等信息。

2022-11-28 17:54:27 1051

翻译 Jsoup官方文档翻译 Parse a document from a String

只要传入的string不是null,那么就能成功的进行解析,得到document对象,里面至少有一个head和一个body 两个元素。方法将输入的html解析为document, 基URI参数用于将相对URL解析为绝对URL,并应设置为获取文档的URL。需要对一个java的string 进行解析来获得内容,需要校验该字符串是否格式正确,需要修改该字符串。拿到document对象后就可以用该类 的方法获取想要的内容了。这个字符串可以是用户输入,文件读入或者是来自于网页。如果该字符串来自网页可以使用。

2022-11-26 11:51:00 177

原创 如何优雅的终止线程 Java

正因为 interrupt 的灵活性会比较高,所以在 JDK 的线程池中,关于关闭部分的实现也是采用了 interrupt 去实现。interrupt 这个方法并没有强制性地去中断线程任务,只是发送了一个信号给到线程自身,然后让线程自身去决定如何执行。stop 方法会真正杀死线程,如果这时线程锁住了共享资源,那么当它被杀死后就再也没有机会释放锁,其它线程将永远无法获取锁。这三种状态,则会导致被打断的线程抛出 InterruptedException,并清除打断标记,也就是置为 false。

2022-11-25 11:07:53 950

转载 线程的3种实现方式(用户态线程 内核线程 轻量级进程)

线程的3种实现方式: 用户态线程,内核线程,轻量级线程。

2022-11-24 21:28:52 794

原创 Linux 下编译实现C/Fortran调用动态库

FORTRAN语言是Formula Translation的缩写,意为“公式翻译”。它是为科学、工程问题或企事业管理中的那些能够用数学公式表达的问题而设计的,其数值计算的功能较强。FORTRAN语言是世界上第一个被正式推广使用的高级语言。它是1954年被提出来的,1956年开始正式使用,直到2022年已有六十六年的历史,但仍历久不衰,它始终是数值计算领域所使用的主要语言。在Linux环境下编译Fortran代码_活力信息的博客-CSDN博客_linux编译fortran...

2022-11-16 21:28:43 1668

原创 Linux 常用文件和目录操作 (cat less head tail等)

显示当前目录下所有的文件和目录ls -alls -al [路径名] 显示特定路径下所有的文件和目录cd: Change Directory 变换目录pwd:显示目前的目录mkdir:创建一个新的目录rmdir:删除一个空的目录ls (小写的L)ls -a 展示所有目录 包括隐藏目录/文件ls -l:长数据串行出,包含文件的属性与权限等等数据;(常用) 等价于 ll(小写的L)ls -t :依时间排序,而不是用文件名。

2022-11-13 21:56:15 337

原创 Linux的 Bash 简介和使用方法

Shell 的作用Bash是shell的一种。Shell 的作用通过壳程序 (shell) 来跟核心沟通,如同鸡蛋的外壳一样,以让核心(kernel)达到我们所想要达到的工作。壳程序的功能只是提供使用者操作系统的一个接口,因此这个壳程序需要可以调用其他软件。、包括 man, chmod, chown, vi, fdisk 等等指令都是独立的应用程序, 但是我们可以通过壳程序 (就是命令行界面) 来操作这些应用程序,让这些应用程序调用核心来运行所需的工作。只要能够操作应用程序的接口都能够称为壳程序。

2022-11-13 21:30:42 3878

原创 vi vim是什么?有啥区别? 怎么使用vim?

简单的来说,vi 是老式的文本处理器,不过功能已经很齐全了,但是还是有可以进步的地方, vim 则可以说是程序开发者的一项很好用的工具,那么什么是 vim 呢?其实你可以将vim 视作 vi 的进阶版本,vim 可以用颜色或底线等方式来显示一些特殊的信息。举例来说,当你使用 vim 去编辑一个 C 程序语言的文件,或者是我们后续会谈到的 shell script 脚本程序时,vim 会依据文件的扩展名或者是文件内的开头信息,

2022-11-13 11:47:25 574

原创 Ubuntu开机黑屏原因及解决(recovery Mode)

可能的原因: 虚拟机未正常退出导致了问题。所以在不用虚拟机时可以选择挂起或者关机,尽量避免非正常退出。对于重要的数据可以备份,或者拍摄快照。

2022-11-09 21:53:03 6289

原创 正则表达式简介和使用(Java)

正则表达式是 字符串模式匹配 的技术,一般在使用的时候都会写一个 模式串,比如regStr,然后在s串中找和regStr或者说判断s串符不符合regStr的格式要求,也就是校验字符串,判定字符串是否合法,比如是不是邮箱,是不是电话号码等。正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。各个语言中都会有正则表达式的应用,下面会有Java的Demo。正则表达式 – 简介 | 菜鸟教程。

2022-11-08 00:06:22 214

原创 Redis数据结构之跳表

跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。在大部分情况下,跳跃表的效率可以和平衡树相媲美,并且因为跳跃表的实现比平衡树要来得更为简单,所以有不少程序都使用跳跃表来代替平衡树。

2022-11-07 23:23:14 593

原创 Redis数据结构之压缩列表

压缩列表(ziplist) 是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表来做列表键的底层实现。

2022-10-31 20:58:50 450

spring 事务传播 demo

spring 事务传播 demo

2022-06-05

手写RPC框架代码(带注释)

框架是Netty,代码主要分为 provider registry protocol和consumer等。 实现本地调用LPC和远程调用RPC,对比了二者的速度。 RPC部分代码参考书籍:《Netty4核心原理与手写rpc实战》

2022-02-17

Java集合详解代码.zip

Java集合的知识点整理(List,Set,Map,Collections工具类)以及代码实现。

2021-02-16

多元统计分析.zip

多元统计分析包括 多元分析、聚类分析、主成分分析、因子分析、判别分析。 这个资料包括这些内容的具体介绍和MATLAB代码实现。

2019-10-12

机器学习算法之SVM详解PDF(附代码)

机器学习之SVM算法,附带代码,可以用于数学建模以及SVM处理数据引导手册。

2018-05-24

一天搞懂深度学习-李宏毅

深度学习《1天搞懂深度学习》,300多页的ppt,台湾李宏毅教授写的,很系统。

2018-05-20

ADC接受数值,无线传输,SIM900A发送短信

是基于STM32(Mini)的空气质量检测(ADC)显示(TFTLCD)传输(NRF24L01)和预警模块(SIM900A)

2018-05-17

四级网络工程师备考资料(操作系统+计算机网络)

四级网络工程师备考资料(操作系统+计算机网络),包括5套题的单选和多选。

2018-05-09

三级网络技术选择题+大题(前两道)总结

三级网络技术选择题+大题(前两道)总结,总结自未来教育和网上的一些资源。希望能对大家有所帮助。

2018-05-09

51单片机控制六位数码管显示时钟(从23:59:30开始)

51单片机控制六位数码管显示时钟(从23:59:30开始),每秒加1,代码有详细的注释,适合单片机入门参考。

2018-05-09

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

TA关注的人

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