- 博客(106)
- 资源 (26)
- 收藏
- 关注

原创 Linux的一些常见的命令
1.Linux文件Linux系统中一切皆文件。2.VI/VIM编辑器VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。常见的模式一般模式下的语法语法功能描述yy复制光标当前一行y数字y复制一段(从第几行到第几行)p箭头移动到目的行粘贴u撤销上一步dd删除光标当前行d数字d删除
2020-05-23 08:52:54
1068
原创 Github 实用技巧
1.搜索github高级搜索功能:高级搜索条件2.查找文件在主页按“t”:查找文件:点进源代码后,按“l”:跳转到某一行源代码中按“b”:查看文件的改动记录键盘快捷键:在线vscode:仓库详情界面按下“.”键,4.在线运行项目在项目地址前加上gitpod.io/https://github.com/nginx/nginx => https://gitpod.io/#/github.com/nginx/nginx5.项目推送根据自己的喜好让github推送自己感
2022-05-29 23:45:00
469
原创 mybatis的动态SQL
动态SQL使⽤动态 SQL 可简化代码的开发,减少开发者的工作量,程序可以⾃动根据业务参数来决定 SQL 的组成。if 标签实体的类型全部为包装类型<select id="findByAccount" parameterType="com.southwind.entity.Account" resultType="com.southwind.entity.Account"> select * from t_account where <if test="id!=n
2022-05-08 02:00:00
393
原创 Netty Demo报错
报错信息五月 04, 2022 4:37:18 下午 io.netty.channel.DefaultChannelPipeline onUnhandledInboundException警告: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the excep
2022-05-04 16:58:35
1272
原创 mybatis中参数使用和常用sql
背景mybatis-plus是很方便,但是只能使用一些简单的SQL,因此,对于一些复杂的SQL,还是要自己写。1.MyBatis返回插入的主键ID <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.my.User"> insert into user(userName,password,comment) values(#{userName},#{pa
2022-05-03 17:59:39
387
原创 mybatis-plus-核心配置
mybatis-plus核心配置生成代码application.ymlspring: datasource: url: jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC driver-class-name: com.mysql.cj.jdbc.Driver username: root password:
2022-05-02 00:45:00
673
原创 mybatis-Generator
通过配置文件生成代码配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generato
2022-04-29 21:39:41
961
原创 mybatis-plus-入门使用
官方文档官网引入Pom文件 <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- lombok 简化set get toSt
2022-04-29 20:21:15
178
原创 RedisTemplate的使用
引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>Redis的配置序列化(可以直接copy)import org.springframework.context.annotation.Bean;impor
2022-04-28 20:56:49
403
原创 Java自定义全局异常类及原理
Java异常类1.自定义异常public class BusinessException extends RuntimeException { private int code; private String message; public BusinessException(int code) { super(); this.code = code; } public BusinessException(int code,
2022-04-28 19:29:03
2011
原创 Springboot项目javax.validation使用方法详解
validation1.Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大。SpringBoot在内部集成了hibernate-validation,可以直接使用。 <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hiber
2022-04-20 22:17:02
2233
2
转载 Spring Lombock注解
Lombock注解添加依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>打开插件使用注解注解作用@Setter注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为
2022-04-20 21:58:38
160
1
原创 Vue 总结篇
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-01-25 11:25:21
608
原创 Java爬虫
Java爬取讯飞商城的商品数据package Spider;/** * @author kunzhang * @Classname JsoupTest * @Description TODO * @Date 2022/1/21 9:41 */import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import org
2022-01-21 12:12:24
111
原创 git 操作和学习(2)
git 命令移动提交记录git cherry-pick <提交号>…如果你想将一些提交复制到当前所在的位置(HEAD)下面的话, Cherry-pick 是最直接的方式了。我个人非常喜欢 cherry-pick,因为它特别简单。我们想将 side 分支上的工作复制到 main 分支git cherry-pick C2 C4代码git cherry-pick c3 c4 c7交互式的 rebase交互式 rebase 指的是使用带参数 --interactive
2022-01-20 10:44:01
218
原创 IDEA调试高级技巧
高级技巧条件断点如上图,在断点处,右击,就可以设置断点条件。回到"上一步"条件表达式Stream 跟踪public class StreamTrace { public static void main(String[] args) { Object[] res = Stream.of(1, 2, 3, 4, 5, 6, 7, 8).filter(i -> i % 2 == 0).filter(i -> i > 3).toArr
2022-01-19 15:59:28
789
原创 注解的本质
参考文章什么是注解java注解的本质与基本原理一、何为注解注解,可以看作是对 一个 类/方法 的一个扩展的模版,每个 类/方法 按照注解类中的规则,来为 类/方法 注解不同的参数,在用到的地方可以得到不同的 类/方法 中注解的各种参数与值。二、分类普通注解、元注解、自定义注解。普通注解常见的主要有三个 :@Override、@Deprecated、@SuppressWarnings@Override注解我们可能见到的比较多,主要用于子类对父类方法的重写。@Deprecated主要
2022-01-19 14:52:11
1187
2
原创 Mybatis中Mapper原理分析
准备pom文件 <dependencies> <!--mybatis坐标--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version>
2022-01-05 15:10:56
1166
2
原创 IDEA 阅读源码技巧
IDEA的diagram1.查看图形形式的继承链在想查看的类上,点击右键,选择 Diagrams。如图:我想查看HashMap的源码:其中show:新建在标签页内show … Popup:以浮窗的形式展示然后你就会得到如下图所示的继承关系图形:2.优化继承链图形2.1 去掉不关心的类得到的继承关系图形,有些并不是我们想去了解的 ? 简单,删掉。点击选择你想要删除的类,然后直接使用键盘上的delete键就行了。清理其他类的关系后图形如下:2.2展示类的详细信息如何看继承下来的那
2022-01-04 16:17:35
768
原创 马拉车算法(Manacher‘s Algorithm)
马拉车算法算法定义:Manachar算法主要是处理字符串中关于回文串的问题的,它的强大之处在于,可以在O(n)的时间复杂度中解决回文串的问题。主要参考:马拉车算法算法思想:解决回文串的奇偶性的问题主要办法:在每个字符间插入"#",并且为了使得扩展的过程中,到边界后自动结束,在两端分别插入 “^” 和 “$”...
2021-12-30 11:21:24
748
原创 Code With Me插件,IDEA多人协作
必需条件主机:IntelliJ IDEA 2020.2.1及更高版本,已下载并启用Code With Me插件访客:无需下载IDEA,只需要下载一个code with me程序步骤主机开启邀请链接安装并启用Code With Me插件在主工具栏上,单击code with me 图标。点击Enable Access and Copy Invitation Link复制链接当访客单击链接,需要下载一个code with me客户端程序(600k左右)服务端点击accept即会
2021-12-12 21:45:29
2925
1
转载 基于SpringCloud微服务架构下的广告系统设计与实现 2-1
2-1 广告系统概览CPM:千次广告展现的收费。CPT:按时间段收费CPC:点击计价广告收费一个完整的广告系统包含哪些子系统:广告投放系统:对接广告主,有了投放系统,广告主才能在我们的平台山投放广告,我们有了广告数据之后就能做广告检索等等。广告检索系统:媒体方对接进来,针对用户进行投放广告主所投放的广告。曝光检测系统:第三方介入进来,统计广告收费情况,相当于广告主不信任我们的报价时找了个第三方来计价。扣费系统:广告主投放广告时先交一部分钱给咱们的广告系统,当这些钱花完时不再对广告主投放广
2021-11-11 18:27:23
312
转载 基于SpringCloud微服务架构下的广告系统设计与实现 1-1
这里写自定义目录标题1-1课程导学什么是广告系统:简单的说广告系统能够实现根据广告请求的条件进行匹配,并返回合适的广告创意数据响应,最终完成给用户的展示或者叫曝光。广告系统最少包含两个最为核心的模块:1.能够实现广告主投放广告数据的—广告投放系统2.能够实现媒体方请求广告的—广告检索系统除此之外还可以添加:广告计费系统、报表系统等模块,以丰富广告系统应用。本课程对广告投放系统和广告检索系统进行实现。本课程使用的技术:JDK版本最少为8.0。MySql版本不做要求SpringCl
2021-11-11 17:22:06
443
原创 线程交替顺序打印ABC
题目建立三个线程A、B、C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印。方法使用synchronized, wait和notifyAll使用Lock->ReentrantLock 和Condition(await 、signal、signalAll)使用Semaphore使用AtomicIntegerVolatileLockSupport...
2021-08-15 16:21:37
310
1
原创 线程生产者和消费者
生产者和消费者1.synchronized版package Threads;public class ConsumberSys { //1.高内聚低耦合 public static void main(String[] args) { Data data = new Data(); new Thread(()->{ for (int i = 0; i < 10; i++) { try
2021-08-10 10:34:36
78
原创 单例模式方法
单例模式的6种实现及各实现的优缺点(一)懒汉式(线程不安全)public class Singleton { private static Singleton uniqueInstance; private Singleton() { } public static Singleton getUniqueInstance() { if (uniqueInstance == null) { uniqueInstance =
2021-08-05 11:08:42
68
原创 分布式事务原理
分布式事务概念:一个应用系统需要拆分成两个子系统,其中一个系统对应一个库,此时也需要用到分布式事务。RabbtiMQ过程:RabbitMQ 分为:生产者,消费者,Broker中心。生产者:1.生产者和Broker建立连接,建立Channel通道2.生成者发送消息到MQ,即到Broker中心(交换机+队列)3.交换机将消息发到指定的队列上消费者:1.消费者和Broker建立连接,建立Channel通道2.消费者监听指定的队列3.队列上有消息,则把消息发送到消费者RabbitMQ类型
2021-07-29 20:26:40
132
原创 冒泡排序的两种优化算法
冒泡排序定义:通俗来说,就是简单的比较相邻的元素,使得元素有序。package huawei;/** * @author zhang kun * @Classname Sort * @Description TODO * @Date 2021/7/2 19:18 */public class Sort { public static void main(String[] args) { int[] arr = {2,34,1,3,5,7,4}; i
2021-07-02 19:37:33
127
转载 内核空间与用户空间
内核空间内核空间主要是指操作系统运行时所使用的用于程序调度、虚拟内存的使用或者连接硬件资源等的程序逻辑。为何需要内存空间和用户空间的划分呢?很显然每个进程都独立使用属于自己的内存一样,为了保证操作系统的稳定性,运行在操作系统中的用户程序不能访问操作系统所使用的内存空间。这也是从安全性上考虑的,如访问硬件资源只能由操作系统来发起,用户程序不允许直接访问硬件资源。如果用户程序需要访问硬件资源,如网络连接等,可以调用操作系统提供的接口来实现,这个调用接口的过程也就是系统调用。每一次系统调用都会存在两个内存空
2021-05-28 10:15:30
272
转载 归并排序
算法思想归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。并排序我们采用递归去实现,分阶段可以理解为就是递归拆分子序列的过程,递归深度为log2n。合并相邻有序子序列来看看治阶段,我们需要将两个已经有序的子序列合并成一个有序序列,比如上图中的最后一次合并,要将[4,5,7,8]和[
2021-05-18 10:25:57
78
原创 快速排序原理探究
非常魔性的漫画方法其实很简单:分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。这里可以用两个变量i和j,分别指向序列最左边和最右边。我们为这两个变量起个好听的名字“哨兵i”和“哨兵j”。刚开始的时候让哨兵i指向序列的最左边(即i=1),指向数字6。让哨兵j指向序列的最右边(即=10),指向数字。首先哨兵j开始出动。因为此处设置的基准数是最左边的数,所以需要让哨兵j先出动,这一点非常重要(请自己想一想为什么
2021-05-18 10:13:17
80
原创 HashMap和Hashtable的区别
HashMap和Hashtable的区别**1、继承不同。**public class Hashtable extends Dictionary implements Mappublic class HashMap extends AbstractMap implements Map2、Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。3、Hashtable中
2021-03-26 11:00:22
60
高光谱分类深度学习DeepHyperX-master.zip
2020-10-28
Xshell_5.0.1044.rar
2020-05-22
2020最新合肥工业大学计算机850复试.ppt
2020-01-14
人工神经网络--Artificial_Neural_Networks(很全哦!!).ppt
2019-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人