- 博客(20)
- 收藏
- 关注
原创 node.js npm install时报错:node-pre-gyp install --fallback-to-build
node.js node-pre-gyp fallback-to-build
2022-07-19 19:24:56 4410 1
原创 通过Ubuntu下后台运行jar指令,部署springboot项目,同时解决nohup: ignoring input and redirecting stderr to stdout问题
springboot在Linux服务器一般是采用Jar包的形式部署1、正常在Ubuntu系统下启动jar包的方式:$ java -jar test.jar2、但是这样部署,如果通过ssh连接的客户端断开,那么项目也会关闭。而我们希望的是让项目能够一直在后台运行。那么就需要下面的命令来启动jar包:$ nohup java -jar test.jar &nohup指令就是让程序不挂断的在后台持续运行,输出信息默认会输出到nohup.out 文件中3、如果我们希望把本地开发时输出到co
2021-08-03 23:27:19 4930 3
原创 mybatis-plus 执行insert(),实体的id自动更新
mybatis-plus 在执行baseMapper.insert()的时候,会将传进去的实体的id自动更新为插入的主键值。业务代码:@Transactional(rollbackFor = Exception.class)@Overridepublic String saveCourseInfo(CourseInfoForm courseInfoForm) { //保存课程基本信息 Course course = new Course(); cou
2021-07-19 20:38:42 1443
原创 SpringBoot 使用PageHelper, 分页不生效解决方法
业务代码如下:public PageBean<CompanyDTO> getCompanyList( int pageIndex, int pageSize, CompanyDTO companyDTO) { PageHelper.startPage(pageIndex, pageSize); int counts = this.countCompanyByCond(companyDTO); List<CompanyDTO> comp
2021-07-18 20:12:13 2995
原创 n & (n - 1)的用途
n & (n - 1)的用途最近在刷位运算的算法题的时候,发现了不少的题都可以用到 n & (n - 1)这个来计算结果。分享一下。1.特点:首先,以 n = 6 为例,我们进行计算,6 & (6 - 1) = 6 & 5 = 4二进制表示为:(110) & (101) = (100)可以看到 十进制中最后的结果从6变为4,好像没啥有用的信息。那么我们再看看二进制中,可以发现从(110)变为(100),这时我们可以看到最低位的1变为了0.以上,我们可以
2021-07-16 21:39:01 435 1
原创 项目---前端报错,Uncaught (in promise) error
,问题描述:在讲师分页列表接口中,后端无法接收到前端axios传递的json对象,前端报错提示Uncaught (in promise) error问题原因:请求为get方式,需要在url中接收参数,而无法从请求体接收参数。但是在我配置axios时,使用了data这个配置,下图为错误演示前端代码:pageList(page, limit, searchObj) { return request({ url: `${api_name}/list/${page}/${limit}`
2021-07-15 20:48:47 2190
原创 冒泡排序---Java实现
1、定义冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。2、基本思想两两元素比较,满足条件则进行交换。即大数会慢慢沉到后面,小数会浮到前面,故名冒泡排序。3、算法流程以从小到大排序为例:比较相邻元素大小,如果前面大于后面,则进行交换第一趟排序第1位和第2位比较、交换,然后第2位和第3位比较、交换。一直到最后2位比较,交换。第一趟完成时最大的数在最后1位第二趟排序第1位和第2位比较、交换······第二趟完成时将第二大的数移动到倒数第2位第三趟排序第1位和第2位
2021-07-14 22:02:54 82
原创 线程同步。
线程同步1、并发要了解线程同步,就先要了解一下什么是并发。并发就是多个线程同时操作一个对象或资源。而线程同步就是为了解决并发带来的一些问题。2、线程同步那什么是线程同步呢?线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程才能使用。为了实现线程同步的机制,就需要队列和锁。当多个线程共享一个资源时,为了保证数据在被访问时候的正确性,需要线程在访问时加入锁机制(synchronized),当一个线程获得对象的排他锁,独占资源,
2021-05-22 22:37:34 126
原创 线程分类。
线程分类线程分为用户线程和守护线程1、用户线程在前台运行的线程都是用户线程,例如主线程。2、守护线程守护线程一般为后台运行的线程,守护线程是用来为用户线程服务的。例如JVM中的线程都为守护线程,典型的有GC线程。3、修改线程类型通过在start()方法前调用 thread.setDaemon(true)可以把一个用户线程变成一个守护线程。Thread thread = new Thread(new Runable);thread.setDaemon(true);//默认为false表示用户
2021-05-22 22:25:13 1080
原创 多线程实现方式-Java
1、三种实现方式1、继承Thread类此方法需要重写run()方法,调用start()执行线程。//线程实现方式,继承thread类,重写run()方法,调用start()执行public class TestThread1 extends Thread{ @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println("第" + i +
2021-05-22 22:03:52 114
原创 Mysql数据库——事务的特性,隔离级别,并发事务带来的问题,事务的实现,MVCC
文章目录事务1.ACID特性1.1.原子性(Atomicity)1.2.一致性(Consistency)1.3.隔离性(Isolation)1.4.持久性(Durability)2.并发事务带来的问题2.1.脏读2.2.不可重复读2.3.幻读3.隔离级别3.1.读未提交(read uncommitted)3.2.读已提交(read committed)3.3.可重复读(repeatable read)Mysql的默认隔离级别3.4.串行化(serializable)4.事务的实现1.1.基于锁的并发控制(L
2021-04-23 22:25:55 223 1
原创 快速排序——Java代码实现
快速排序1. 基本思想快速排序是对冒泡排序的一种改进,采用分治法的思想,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序。2. 排序流程快速排序算法通过多次比较和交换来实现排序,以从小到大排序为例,其排序流程如下:定义一个中值(一般是数组第一个元素),通过中值将数组分为两个部分将小于等于中值的元素集中在数组左半部分,将大于等于中值的元素集中在数组右半
2021-04-18 14:46:26 9037 4
原创 SSM框架整合
导入依赖pom.xml配置文件<!-- 依赖:,junit,数据库驱动,连接池,sevlet,jsp,mybatis,mybatis-spring,spring--> <dependencies><!-- junit--> <dependency> <groupId>junit</groupId> <artifactId>jun
2021-03-20 13:17:46 103
原创 SpringMVC——注解开发
SpringMVC注解开发步骤:编写web.xml,注册DispatcherServlet编写springmvc配置文件创建对应的控制类,controller1. 配置web.xml文件<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i
2021-03-20 11:45:34 118
原创 SpringMVC——执行原理
SpringMVC执行原理流程图:DispatcherServlet为前端控制器,是整个SpringMVC的控制中心,用户发出请求,其负责接收并拦截请求。handlerMapping为处理器映射,DispatcherServlet调用HandlerMapping。HandlerMapping根据请求url查找handler。HandlerExecution表示具体的handler,其主要作用是根据url查找控制器。HanderExecution将解析后的信息传递给DispatcherServl
2021-03-20 11:39:33 110
原创 单链表——Java实现增删改查以及按一定顺序插入
单链表 链表中的数据是以结点来表示的,其通过每个结点的链域将线性表的n个结点按其逻辑顺序链接在一起的,每个结点只有一个链域的链表称为单链表。在内存中存储方式示意图:特点:链表是以节点的方式来存储每个节点包含data域,next域(指向下一个节点)链表各个节点不一定是连续存储的链表分带头节点的链表和没有头节点的链表,需要根据实际需求确定单链表结构示意图:实例:实体类:单链表中每个节点就是这个类的一个对象class HeroNode{ int no; String
2021-03-14 14:07:24 512 2
原创 Spring——AOP三种实现方式
AOP三种实现方式Spring API接口自定义加载器注解需要导入一个依赖包:<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version></dependency>还需要导入一个约束:<beans xmlns=
2021-03-13 21:50:25 749 1
原创 Spring——依赖注入
依赖注入内容:依赖注入(DI)是一个过程,通过该过程,对象只能通过构造函数参数,或创建对象实例后在对象实例上设置的属性来定义其依赖关系。实例:当Class A中用到了 Class B,这时需要在A中new 一个B的对象b。当使用依赖注入时,只需要在A中定义一个私有的B的对象,然后通过IOC容器new 一个B的对象b,再把b注入到A中来使用。好处:降低代码的耦合性增强了模块的重用性以及灵活性1. 基于构造器的依赖注入实体类public class User { private St
2021-03-13 16:03:09 443
原创 Spring——IOC创建对象的方式
IOC创建对象的方式一、 使用无参构造创建对象(默认方式)创建实体类注意:属性必须要有set方法,来完成注入public class User { private String name; public User() { System.out.println("执行了User类的无参构造方法~"); } public User(String name){ this.name = name; System.ou
2021-03-13 13:59:41 1656 10
原创 Spirng——注解实现Bean自动装配
使用须知:1.导入约束:context约束2.配置注解的支持: context:annotation-config/<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.
2021-03-13 11:10:20 1408 7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人