自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

太阳以西?的博客

程序人生

  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 idea debug图解

2020-05-30 16:45:43 196

原创 CPU配置 学习

昨天学习了内存配置,今天来学习CPU配置,以下是学习练习CPU配置在QEMU中,“-smp”参数是为了配置客户机的SMP系统。在命令行中,配置SMP系统的参数-smp [cpus=n][,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]cpus : 用来设置客户机中使用的逻辑CPU的数量(默认值是1);maxcpus : 用来设置客户机的最大CPU的数量,最多支持255个CPU。其中,包含启动时处于下线状态的CPU数目

2020-05-29 14:47:10 2408

原创 内存设置+hugepage 学习

内存设置例1:不加内存参数,模拟一个默认大小内存的客户机系统。root@ubuntu:/home/img# qemu-system-x86_64 ubuntu14.04.img 在客户机中常用的两种查看内存信息的方式1、使用free -m查看内存信息free命令通常用来查看内存的使用情况,“-m”参数是指内存大小以MB为单位来显示。在上面示例中,我们使用了默认大小的内存,值为128M,而根据上面输出可知总的内存为113MB,这个值比128MB小,这是因为free命令显示的内存是实际能够使

2020-05-28 23:08:36 1749

原创 QEMU monitor控制台使用详解

为什么要使用 QEMU monitor命令?在前面学习ubuntu启动第一个虚拟机时,发现我们在使用启动QEMU之后,我们的终端会卡住。而现在我们在启动QEMU时使用了monitor,终端会进入monitor的控制台,通过这个控制台,我们可以与QEMU或者运行状态的虚拟机进行交互。现在有很多图形界面的虚拟机管理工具,如virt-manager等。在monitor的控制台窗口输入命令似乎更符合Linux程序员的开发习惯,而且还能完成一些图形化管理工具所不具备的功能。在monitor控制台中,可以完成很多

2020-05-22 16:05:27 18743 2

原创 qemu-img命令详解

qemu-img 命令使用格式:# usage: qemu-img command [command options]root@ubuntu:~# qemu-img (子)命令 [选项]# (子)命令语法Command syntax: check [-q] [-f fmt] [--output=ofmt] [-r [leaks | all]] [-T src_cache] filename create [-q] [-f fmt] [-o options] filename [size]

2020-05-21 23:20:16 3133

原创 JDBC学习笔记------事务

4、JDBC控制事务事务 : 一个包含多个步骤的业务操作 .如果这个业务操作被事务管理,则这多个步骤要么同时成功 ,要么同时失败 .4.1、操作 :开启事务提交事务回滚事务4.2、使用Connection对象管理事务开启事务 :void setAutoCommit( boolean autoCommit) 调用该方法 设置参数为false, 及开启事务.提交事务 : commit( )回滚事务 :rollback( )...

2020-05-20 20:17:51 127

原创 JDBC学习笔记------接口和类的详解

3、 各接口和类的详解3.1、 DriverManager : 驱动管理对象功能 :注册驱动a) Public Static void registerDriver(Driver driver)向 DriverManager 注册给定驱动程序b) 写代码时使用 : Class . forName(“com , mysql . jdbc . Driver” ) ;c) 通过查看源码发现 : 在com.mysql.jdbc.Driver类中存在静态代码块 ;在静态代码块

2020-05-20 20:15:44 125

原创 JDBC学习笔记------快速开始

1、JDBC基本概念1.1 、概念 :JDBC [(Java DataBase Connectivity) java数据库连接 ] 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。1.2 、本质 :官方( sun公司 ) 定义的一套操作所有关系型数据库的规则 , 即接口 . 由各个数据库厂商来实现这套接口,提供数据库驱动jar包 . 我们可以使用这套接口(JDBC)编程 , 真正执行的代码实际上是驱动jar包中的实现类.

2020-05-20 19:47:12 153

原创 MybatisPlus学习笔记------代码生成器

官网: MyBatis-Plus代码生成器package com.xyc.code;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.config.D

2020-05-19 17:01:55 169

原创 MybatisPlus学习笔记------条件构造器

官网: MyBatis-Plus简单使用方法,详细方法看官网简单使用案例@ApiOperation("条件分页查询讲师信息") @PostMapping("findPageByCondition/{current}/{limit}") public R findPageByCondition(@PathVariable("current" )long current, @PathVariable("limit") lo

2020-05-19 16:59:30 169

原创 MybatisPlus学习笔记------性能分析插件

官网: MyBatis-Plus性能分析拦截器,用于输出每条 SQL 语句及其执行时间spring方式<plugins> .... <!-- SQL 执行性能分析,开发环境使用,线上不推荐。 maxTime 指的是 sql 最大执行时长 --> <plugin interceptor="com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor">

2020-05-19 16:48:34 174

原创 MybatisPlus学习笔记------乐观锁

官网: MyBatis-Plus乐观锁​ 乐观锁:乐观,总是认为不会出现问题,无论干什么都不会上锁!如果 出现了问题,再次更新值测试。 version、new version​ 悲观锁:悲观,总是认为到处都是问题,无论干什么都会上锁!乐观锁机制实现方式:取出记录时,获取当前的version更新时,带上这个version执行更新时,set version = newVersion where version = oldVersion如果version不对,就更新失败sql语句

2020-05-19 16:43:08 286

原创 MybatisPlus学习笔记------自动填充功能

MybatisPlus官网: MyBatis-Plus自动填充功能如create_time,update_time,一般所有表都包含这两个字段这种的字段需要自动生成值两种方法:方法一:数据库级别(工作中不常使用,你没法修改数据库):在标中添加相应字段create_time,update_time在测试修改方法,先在pojo实体类中添加相应属性 private Date createTime; private Date updateTime;测试时:你并没有设置时间,

2020-05-18 22:54:01 511

原创 MybatisPlus学习笔记------配置日志

MybatisPlus官网: MyBatis-Plus在application.yml配置文件中配置mybatis-plus 日志## mybatis-plus 日志#mybatis-plus:# configuration:# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl## 配置日志级别#logging:# level:# root: infologback日志配置文件注意:文件名为logback-s

2020-05-18 22:41:04 3986

原创 MybatisPlus学习笔记------主键生成策略

MybatisPlus官网: MyBatis-Plus主键生成策略分布式系统唯一id生成:https:/www.cnblogs.com/haoxinyue/p/5208136.html雪花算法:snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生4096个ID),最后还有一个符号位,永远是0.

2020-05-18 22:28:08 467

原创 MybatisPlus学习笔记------CRUD操作---delete操作

MybatisPlus官网: MyBatis-Plus常规物理删除操作: @Test //测试删除 public void testDelete(){ //按id删除 userMapper.deleteById(1241925679608598530L); //按id批量删除 userMapper.deleteBatchIds(Arrays.asList(0L,1242027510946865154L));

2020-05-18 22:24:32 4527

原创 MybatisPlus学习笔记------CRUD操作---select操作

select操作查询所有 @Test void testSelectAll() { //查询全部用户 List<User> users = userMapper.selectList(null); users.forEach(System.out::println); }按id查询 @Test //根据id查询用户 public void testSelectById(){ User u

2020-05-18 22:18:34 775

原创 MybatisPlus学习笔记------CRUD操作---update操作

update操作// 测试更新 @Test public void testUpdate(){ User user = new User(); //根据条件自动的动态拼接sql语句 user.setName("德玛西亚之力"); user.setId(0L); user.setAge(19); int resoult = userMapper.updateById(user);

2020-05-18 22:09:49 321 1

原创 MybatisPlus学习笔记------CRUD操作---insert操作

insert操作 @Test void testInsert(){ User user = new User(); user.setName("盖伦"); user.setAge(19); user.setEmail("452662481@qq.com"); int result = userMapper.insert(user); //帮助我们自动生成id //返回值结果为受影

2020-05-18 22:06:57 235

原创 MybatisPlus学习笔记------注解

MybatisPlus官网: MyBatis-Plus@TableName描述:表名 注解属性类型必须指定默认值描述valueString否“”表名schemaString否“”schemakeepGlobalPrefixboolean否false是否保持使用全局的 tablePrefix 的值(如果设置了全局 tablePrefix 且自行设置了 value 的值)resultMapString否“”xml 中 result

2020-05-18 21:57:44 209

原创 MybatisPlus学习笔记------快速开始

MybatisPlus官网: MyBatis-Plus1、构建数据库2、初始化Springboot项目导入相关依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1.tmp</version></depende

2020-05-17 21:06:26 146

转载 MybatisPlus学习笔记------入门

MybatisPlus官网: MyBatis-PlusMyBatisPlus可以自动化生成所有的CRUD代码相关开源项目:JPA,tk-mapper,MyBatisPlus学前必会:mybatis、Spring、SpringMvCMyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启

2020-05-17 20:16:22 160

原创 多线程学习(十二)-----线程死锁

线程死锁​ 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形.某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生“死锁”的问题.产生死锁的四个必要条件:互斥条件:一个资源每次只能被一个进程使用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

2020-05-15 12:53:27 162

原创 多线程学习(十)-----线程状态-守护线程

守护线程线程分为 守护线程和用户线程 ,当程序中没有用户线程时,JVM会退出.方法内容void setDaemon(boolean on)将该线程标记为守护线程或用户线程boolean isDeamon()测试该线程是否为守护线程。☆ void setDaemon(boolean on)作用:将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时(当程序中没有用户进程在运行时),Java 虚拟机退出。该方法必须在启动线程前调用。参数:如

2020-05-15 12:45:09 139

原创 多线程学习(九)-----线程状态-线程优先级

Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。线程的优先级用数字表示,范围从1~10.◆ Thread.MIN_PRIORITY=1;◆ Thread.MAX_PRIORITY=10;◆ Thread.NORM_PRIORITY=5;使用以下方式改变或获取优先级◆ getPriority()◆ setPriority(int xxx)...

2020-05-15 12:42:23 104

原创 多线程学习(八)-----线程状态-观测线程状态

案例:package com.xyc.demo1;/** * 2020/4/6 18:23 * 文件说明: * 监测线程状态 * @author 太阳以西 * 梦可以到的地方,只要努力,总有一天,自己也可以达到! */public class TestState { public static void main(String[] args) throws InterruptedException {// lambda表达式 创建一个临时线程

2020-05-15 12:39:00 172

原创 多线程学习(七)-----线程状态-yield详解

线程礼让—yieldvoid yield()//暂停当前正在执行的线程对象,并执行其他线程。(让出本次cpu执行的时间片)//让cpu重新调度,下个时间片可能还是该线程抢到,所以不一定礼让成功实例:public class TestYield implements Runnable { -@Override public void run() { System.out.println(Thread.currentThread().getName()+"开始执

2020-05-15 12:36:21 186

原创 多线程学习(五)-----线程状态

图解详细图解:线程停止建议线程正常停止-—->利用次数,不建议死循环。建议使用标志位-——>设置一个标志位不要使用stop或者destroy 等过时或者JDK不建议使用的方法

2020-05-15 12:32:18 125

原创 多线程学习(四)------线程案例:龟兔赛跑

案例说明:案例:龟兔赛跑-Race1.首先确定赛道距离2.判断比赛是否结束3.打印出胜利者4.龟免赛跑开始5.故事中是乌龟赢的,兔子需要睡觉,所以要模拟兔子睡觉,让乌龟赢得比赛I代码步骤:1、创建Runnable接口的实现类2、定义胜利者 winner3、用for循环(i ~100)模拟路程,并用线程休眠模拟小白兔睡觉4、定义gameOver()方法判断比赛结束,并确定胜利者案例:/** * 2020/4/5 18:01 * 文件说明:案例:龟兔赛跑-Race *

2020-05-15 12:20:36 450

原创 多线程学习(三)------线程案例:多人抢票

案例说明:名称:多人抢票说明:多个线程同时操作同一个对象发现问题:当多个人操作同一个对象时,会出现数据紊乱案例:/** * 2020/4/5 17:44 * 文件说明: * 多个线程同时操作同一个对象 * 多人抢票例子 * 发现问题:当多个人操作同一个对象时,会出现数据紊乱 * * @author 太阳以西 * 梦可以到的地方,只要努力,总有一天,自己也可以达到! */public class TestThread3 implem

2020-05-15 12:04:50 515

原创 多线程学习(一)------什么是线程

Process与Thread程序:指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。进程(Process):执行程序的一次执行过程,一个动态的概念。是系统资源分配的单位线程:是CPU调度和执行的单位一个线程可以包含若干个线程,至少有一个线程注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,模拟的多线程,在一个cpu的情况下,在同一个时间点,cpu之能执行一个代码,因为切换的很快,所以就产生了同时的错觉。概念:线程就是独立的执行路径在程序运行时,.

2020-05-15 11:18:54 106

原创 python爬虫第二天——requests库的使用

python爬虫第二天——requests库的使用通过requests库学习案例import requests#from bs4 import BeautifulSoupdef requestsDemo1(): """获取响应内容""" link = "http://www.santostang.com/" # 模拟火狐(firefox)浏览器的请求头 ...

2020-05-14 23:14:03 189

原创 制作虚拟机镜像文件

1. Linux(Ubuntu14.04)虚拟机镜像的制作过程(1)准备ISO文件准备Ubuntu14.04版本操作系统的ISO文件,文件名为ubuntu-14.04-server-amd64.iso(已提供)。(2) 将ISO文件上传至宿主机将Ubuntu14.04的ISO文件通过Xftp上传到宿主机Ubuntu18.04中。(3) 创建虚拟机镜像文件使用命令qemu-img create -f qcow2 ubuntu14.04.img 50G创建一个50GB大小的磁盘镜像(qco

2020-05-14 23:08:33 6941

原创 ubuntu启动第一个虚拟机

1、复制系统镜像文件到ubuntu宿主机使用xftp6,Vmware Tools ,WinSCP都行2、在宿主机上安装vncvnc:远程桌面工具Virtual Network Computing,是进行远程桌面控制的一个软件。VNC包括VNC server 和VNC viewer两部分,需要在宿主机Ubuntu上都进行安装。查看是否安装vnc ,我这里已经安装root@ubuntu:~# dpkg -l |grep vncii libvncclient1:amd64

2020-05-14 20:24:03 1285

原创 ubuntu构建KVM环境

1、在Vmware中打开对CPU的虚拟化支持在x86-64 架构的处理器中,KVM 必需的硬件虚拟化扩展分别为:Intel 的虚拟化技术(Intel VT)和AMD 的AMD-V 技术。首先处理器(CPU)要在硬件上支持VT 技术,还要在BIOS 中将其功能打开,KVM 才能使用到。目前,多数流行的服务器和部分桌面处理器的BIOS 都默认将VT 打开了。打开虚拟机设置选择处理器,并勾上虚拟化IntelVT-x/EPT 或AMD-V/RVI(V),注意在虚拟机开机状态下不可选中2、查看Ubu

2020-05-14 18:21:51 414

原创 ubuntu在线安装QEMU

QEMU是什么?QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。1、安装apt-get install qemu或apt install qemu2、查看Qemu命令输入qemu-并按两次tab键即可查询所有qemu-开头的命令root@ubu

2020-05-14 17:41:21 1813

原创 ubuntu更新apt-get源

我们在ubuntu中使用apt-get命令安装软件时,下载速度比较慢,我们可以将ubuntu的apt-get源更新为国内的源,这样下载速度会快一点更新apt-get源只需要修改/etc/apt/sources.list文件,1、进入/etc/apt目录root@ubuntu:~# cd /etc/apt2、在修改之前先对/etc/apt/sources.list文件进行备份,习惯的备份方法是复制文件并添加.bak后缀root@ubuntu:/etc/apt# cp sources.lis.

2020-05-14 17:09:57 2404

原创 尚硅谷Linux学习笔记---常用命令-挂载命令

2.13、挂载命令2.13.1、mount命令名称:mount命令所在路径:/bin /mount执行权限:所有用户功能描述: 查询系统中已经挂载的设备[root@xyc ~]# mount [-l]# 查询系统中已经挂载的设备,-l会显示卷标名称[root@xyc ~]# mount -a # -a:auto 作用:扫描/etc/fstab文件,自动挂载 如果错误,则...

2020-05-06 09:42:41 223

原创 尚硅谷Linux学习笔记---常用命令-系统痕迹命令

2.12、系统痕迹命令2.12.1、w 命令显示系统中正在登录的用户信息的命令,查询的是/var/run/utmp 文档的内容命令名称:w英文原意:show who is logged on and what they are doing执行权限:所有用户功能描述: 显示正在登陆的用户,和他正在做什么[root@xyc ~]# w 17:29:04 up 39 days, ...

2020-05-06 09:38:26 263

原创 尚硅谷Linux学习笔记---常用命令-常用网络命令

2.11、常用网络命令2.11.1 、配置IP地址ip地址:ip地址是计算机在互联网中唯一的地址编码。每台计算机如果需要接入网络和其他计算机进行数据通信,就必须配置唯一的公网IP地址。1.配置ip地址配置ip地址的两种方法:1、setup工具 (redhad、centOS专有)2、[root@xyc ~]# vi /etc/sysconfig/network-scripts/...

2020-05-06 09:31:10 340

启动脚本qemu-ifup

在启动虚拟机时创建和打开指定的TAP接口,并将该接口添加到虚拟网桥中---

2020-06-06

空空如也

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

TA关注的人

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