- 博客(196)
- 收藏
- 关注
原创 RocketMQ快速入门
文章目录安装安装docker容器安装安装需要有Java环境。官网下载下载二进制包,别下载源码。解压unzip rocketmq-all-4.5.1
2021-04-28 21:17:53 207
原创 Ajax调用restful服务
文章目录GETPOST解决跨域访问$.ajax contenType是appliation/json的时候,spring mvc后台无法接受data参数GET$("#password").blur(function () { $.ajax({ type: "GET", url: "http://localhost:8080/userService/checkIfUserExistById/1", contentTyp
2021-04-20 09:12:27 645
原创 Mybatis
文章目录多参数传递无法找到对应值多参数传递无法找到对应值如果传入的参数有多个,sql语句中参数出现的顺序必须要和接口中参数的顺序相同,否则无法找到对应的值。这是可以使用@Param(“value”)注解。...
2021-04-20 08:51:20 184
原创 SpringMVC实战记录
文章目录@PostMapping注解@RestControllery应该放在哪@PostMapping注解https://blog.csdn.net/nangeali/article/details/82470201@RestControllery应该放在哪@RequestMapping和@GetMapping,@PostMapping可以放在接口和接口方法上,但是@RestController必须放在实现类上,要不然服务无法访问。...
2021-04-14 22:27:08 147
原创 常用SQL语句
文章目录创建指定外键级联更新和级联删除添加给列添加外键约束添加非空约束创建指定外键级联更新和级联删除create table UsersPackage(SN int(10) not null,UserUID int(10),PackageID varchar(24),PRIMARY key(SN),FOREIGN key(UserUID) REFERENCES UserInfo(UID) ON DELETE CASCADE on UPDATE CASCADE,FOREIGN key(Pac
2021-04-12 17:07:24 272
原创 Linux常用命令
文章目录查看进程信息-ps查找文件里符合条件的字符串-grep查看占用某个端口的进程信息显示网络状态-netstat查看进程信息-pshttps://www.runoob.com/linux/linux-comm-ps.html查看指定进程ID的信息:ps -ef|grep 1568查找文件里符合条件的字符串-grephttps://www.runoob.com/linux/linux-comm-grep.html查看占用某个端口的进程信息netstat -tunlp| grep 22
2021-03-31 12:07:54 94
原创 Redis
文章目录redis的使用场景redis的使用场景https://www.cnblogs.com/javamianshizhan/p/13475948.html
2021-03-16 20:15:48 323
原创 Spring
文章目录Spring、SpringMVC、SpringBoot 区别Spring、SpringMVC、SpringBoot 区别https://zhuanlan.zhihu.com/p/63117304
2021-03-16 20:03:27 156
原创 Linux
文章目录kill 和kill -9的区别,底层实现kill 和kill -9的区别,底层实现1、一般不加参数kill是使用15(SIGTERM终止信号)来杀,这相当于正常停止进程,停止进程的时候会释放进程所占用的资源;他们的区别就好比电脑关机中的软关机(通过“开始”菜单选择“关机”)与硬关机(直接切断电源),虽然都能关机,但是程序所作的处理是不一样的。2、kill - 9 表示强制杀死该进程;而 kill 则有局限性,例如后台进程,守护进程等;3、执行kill命令,系统会发送一个SIGTERM信号给
2021-03-14 20:41:47 344
原创 多线程
文章目录进程和线程的主要区别线程的生命周期创建线程的三种方式进程和线程的主要区别根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一
2021-03-10 11:54:52 256
原创 数据结构和算法
文章目录常见的数据结构常见的数据结构常用数据结构 · 数组bai(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 · Hash(存储地址计算,冲突处理)...
2021-03-10 11:54:13 176
原创 Java基础
文章目录equals和hashCode,为什么要重写?equals()和==的区别equals和hashCode,为什么要重写?因为默认的equals方法是Object的方法,比较的是内存地址;而默认的hashcode方法返回的是对象的内存地址转换成的一个整数,实际上指的的也是内存,两个方法可以理解为比较的都是内存地址,这在实际开发的过程中在hashmap或者hashset里如果不重写的hashcode和equals方法的话会导致我们存对象的时候,把对象存进去了,取的时候却取不到想要的对象,这时候就需要
2021-03-10 11:53:34 373
原创 JVM
文章目录jvm内存为什么要分新生代与老年代怎么排查堆内存溢出jvm内存为什么要分新生代与老年代http://haodro.com/post/1413.html怎么排查堆内存溢出https://blog.csdn.net/minkeyto/article/details/105431553
2021-03-10 11:52:47 210
原创 集合
文章目录Java的Arrays.sort()方法到底用的什么排序算法Java的Arrays.sort()方法到底用的什么排序算法数组长度>=286:归并排序数组长度>=47:快排小于47:插入排序
2021-03-10 11:52:12 417
原创 数据库
文章目录InnoDB页合并和页分裂聚簇索引和非聚簇索引的区别InnoDB和MyISAM的区别InnoDB存储引擎四大特性InnoDB逻辑存储结构MySQL二级缓存机制事务数据库的事务与一致性是怎么实现的?gap锁以及gap锁是如何解决幻读的sql优化的几种方法索引覆盖MySQL索引为什么使用B+树而不是B树事务的传播特性InnoDB页合并和页分裂https://zhuanlan.zhihu.com/p/98818611聚簇索引和非聚簇索引的区别https://www.jianshu.com/p/fa
2021-03-10 11:51:37 274
原创 并发
文章目录多个atomic类连续调用能否构成原子性实现一个容器,提供两个方法,add,size写一个固定容量的同步容器,有put和get方法,以及getCount方法,能够支持两个生产者线程以及10个消费者线程的阻塞调用wait和sleep的区别Java锁消除和锁粗化jvm对锁的优化并发要满足的三大特性并发的风险多个atomic类连续调用能否构成原子性不能。打印出的值会大于1000 。多个原子性操作组合在一起并不能保证原子性。实现一个容器,提供两个方法,add,sizepackage com.lu
2021-03-10 11:50:42 472 1
原创 编译器的常量优化
@Test public void test1() { /* * 在给变量进行赋值的时候,如果右侧的表达式当中全部都是常量,没有任何变量, * 那么编译器javac将会直接将若干个常量表达式计算得到结果 * short res=8+8编译之后,得到的字节码文件就是short res=16 * 这称为编译器的常量优化 * 但是一旦当表达式中有变量的参与就不能参与这种优化了*/ sh
2021-01-08 10:29:33 260
原创 Docker
文章目录概述安装docker架构docker命令服务相关命令镜像相关命令容器相关命令概述安装# 1、yum 包更新到最新 yum update# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2# 3、 设置yum源yum-config-manager --add-repo https:
2021-01-06 20:58:41 655
原创 信号量和PV操作实现读写者问题
#include<stdio.h>#include<pthread.h>#include<unistd.h>#include<stdlib.h>#include<semaphore.h>int readcount=0;sem_t writeblock,mutex;void *reader(){ while(1) { sem_wait(&mutex); readcount++; if(readcount==1)
2020-12-29 17:50:15 990
原创 SpringBoot
文章目录概述入门pom.xml启动类controllerjava代码方式配置概述入门pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma
2020-12-27 17:54:41 124
原创 mybatis整合spring
原始整合方式实体类package com.itheima.domain;public class Account { private Integer id; private String name; private Double money; public Integer getId() { return id; } @Override public String toString() { return "
2020-12-21 23:36:12 78
原创 SpringMVC
Spring集成web环境基本三层架构环境搭建导包: <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.5.RELEASE</ver
2020-12-21 15:41:46 139
原创 Spring练习
环境搭建web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jc
2020-12-19 20:54:17 108
原创 Spring
文章目录优势快速入门导包创建配置文件编写配置文件测试配置文件范围生命周期实例化方法静态工厂动态工厂import依赖注入setP命名空间构造注入依赖注入的数据类型普通数据集合数据小结相关API配置数据源添加依赖手动创建c3p0手动创建druid抽取jdbc.properties配置文件spring产生数据源对象优势快速入门导包<dependency> <groupId>org.springframework</groupId>
2020-12-17 17:48:19 144
原创 jdk动态代理底层实现
文章目录静态代理继承聚合getInterfaces()getClass()静态代理继承代理对象继承目标对象,重写目标对象的方法目标对象:package dao;public class UserDaoImpl { public void query(String name) { System.out.println("query name=" + name); }}代理对象:package proxy;import dao.UserDao
2020-12-15 15:39:22 286
原创 实验十三 Linux内存映射文件
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#include<sys/types.h>#include<sys/stat.h>#include<sys/time.h>#include<fcntl.h>#include<sys/mman.h>#define Num 8192*8int
2020-12-14 20:59:54 180
原创 实验十二 Linux文件操作
#include<stdio.h>#include<stdlib.h>#include<semaphore.h>#include<unistd.h>#include<sys/wait.h>#include<sys/types.h>#include<errno.h>#include<sys/mman.h>#include<pthread.h>#include<sys/ipc.h&
2020-12-13 11:26:43 488 2
原创 在单元格中插入输入框,并获取输入框中的内容
插入输入框:$("#tbody").append("<tr>" + "<td>" +coId + "</td>"+ "<td>" + coName+ "</td>"+ "<td>" + sId+ "</td>"+ "<td>
2020-12-10 10:42:44 441
原创 Mybatis
文章目录开发步骤映射文件动态sqlifforeach增删改操作核心配置文件environmentmapperspropertiestypeAliases相应的APImybatis的dao层实现传统方式接口代理方式开发步骤①添加mybatis依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <v
2020-12-08 11:36:26 169
原创 触发器
文章目录afterbeforeafter在进行CRUD之后再触发,触发器无法影响前面的操作。在表persons创建insert触发器,当插入一条数据到persons就给courses表插入一条记录。create trigger afterinsert_persons after INSERT on persons for each rowbegininsert into courses(name,score,userId) value('english',0,new.name);end;I
2020-12-06 19:50:55 118
原创 实验九 Linux共享内存通信
写:#include<stdio.h>#include<stdlib.h>#include<semaphore.h>#include<unistd.h>#include<sys/wait.h>#include<sys/types.h>#include<errno.h>#include<sys/mman.h>#include<pthread.h>#include<sys/ipc
2020-12-04 15:19:34 527
原创 实验八 Linux管道通信
匿名管道#include<stdio.h>#include<stdlib.h>#include<semaphore.h>#include<unistd.h>#include<sys/wait.h>#include<sys/types.h>#include<errno.h>#include<sys/mman.h>#include<pthread.h>void writer(c.
2020-12-04 09:57:13 682
原创 哲学家吃饭
文章目录进程间信号量进程间互斥量线程间信号量进程间信号量#include<stdio.h>#include<stdlib.h>#include<semaphore.h>#include<unistd.h>#include<sys/wait.h>#include<sys/types.h>#include<errno.h>#include<sys/mman.h>//sem_t用于进程间通信需要放
2020-12-03 18:45:28 190
原创 阿里云服务器环境配置
开放端口常用的端口:快速添加:手动添加:依次添加需要开放的端口。重置实例密码修改密码后重启服务器。xshell远程连接新建会话:主机位置输入公网IP。然后双击左边新建的会话:用户名一般都是root,密码是重置后的实例密码:配置Java环境1、官网下载jdk8 rpm2、安装3、卸载4、配置环境变量编辑配置文件vim /etc/profile在文件末尾添加JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
2020-12-01 12:09:00 1194 1
原创 实验十 Linux消息传递通信
写消息:#include<sys/types.h>#include<sys/ipc.h>#include<sys/msg.h>#include<stdio.h>#include<stdlib.h>typedef struct _msg_buf{ long type;//消息类型 char buf[100];//消息类型}msg_buf;int main(){ int key,qid; int wc=1; msg_b
2020-11-30 14:40:44 544
原创 统计文件个数
#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<dirent.h>int get(char* root){ int tot=0; //open dir DIR* dir=NULL; dir=opendir(root); if(dir==NULL) { perror("opendir"); exit(1); } //遍历当前打开的目录 st
2020-11-26 15:59:09 205
原创 vim
文章目录工作模式命令模式光标的移动删除操作撤销操作复制粘贴可视模式查找缩进查看man文档编辑模式末行模式工作模式命令模式打开文件之后,默认进入命令模式光标的移动H:前J:下K:上L:右行首:0行尾:$文件开始位置:gg文件末尾:G行跳转:行号G删除操作删除光标后边的字符:x------------前面--------:X删除单词:dw(光标移动到单词的开始位置,否则只能删除一部分)删除光标到行首的字符:d0删除光标到行尾的字符:D(d$)删除当前行:dd删除多行:n
2020-11-23 22:01:37 385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人