为了账号安全,请及时绑定邮箱和手机立即绑定
3.卸载 MySQL

Windows 下使用源码安装方式,卸载时需要删除源码包文件夹,然后卸载 MySQL 的服务即可: 命令 : cd /d G:\WWW\mysql\bin 命令 : mysqld remove如下图所示:Tips:MySQL 服务可以在 Windows 的服务管理界面看到,若小伙伴是用 MySQL 安装包安装的,可能改变了系统的注册表,会出现卸载不干净的情况,可以选择 360 或者 电脑管家等软件去卸载。

3. Dreamweaver CC 2018 的卸载

首先,我们依托 Windows 平台的软件卸载功能就可以完成卸载了。我们演示的环境时微软 Windows10操作系统。在该系统下,右键点击屏幕左下角的 Windows 图标,可以发现第一项是“应用和功能(T)”。我们左键点击这个按钮,可以进入到如下的界面:在这个界面中我们可以看到,红色方框内圈出的部分就是我们要卸载的安装在电脑上的 Dreamweaver 相关组件。我们对这几个应用分别点击鼠标左键,点击卸载。稍等片刻后,就可以发现这些软件消失在列表中,而回到桌面印证我们的操作正确性可以发现:软件桌面图标被完全卸载了。

5.卸载设备目录

使用 mount 可以挂载一个设备目录,而使用 unmount 可以将其卸载,命令如下:unmount /media/soft执行结果如下:Tips:unmount 命令除了可以卸载某个目录,也可以跟上设备名称来卸载。

Dreamweaver 的安装与卸载

俗话说得好,工欲善其事,必先利其器。这一节中,我们将带领大家了解 Dreamweaver 的安装和卸载。在这一节知识点中,你会掌握 Dreamweaver 的安装/卸载/自定义 DreamWeaver 工作区,自定义快捷键这几个主要技能。这对日后大家使用 Dreamweaver 进行设计网页尤为重要。因为我们大多数情况下面临工作也好,学习也罢,往往都是没有人来帮助我们安装和操作,所以大家在这一小节中要十分留意关键步骤,以免今后的工作和学习中造成不必要的麻烦。下面就让我们一起来看一看,Dreamweaver CC 2018 整个的安装,配置,卸载流程吧!

1.1 插件安装与卸载

唤出命令面板,模糊搜索:instal package 或者 remove package 即可安装,卸载相关插件。

7.卸载软件包

以 nginx 为例,卸载命令如下:rpm -ev nginx 执行结果如下图:

8.卸载已经安装的软件

以卸载 nginx 为例,使用如下命令卸载 nginx:yum remove nginx执行结果如下图:

4. 卸载 Java

Linux上的卸载与其他操作系统有所不同。有必要单独说明一下。执行如下命令,可查看操作系统中的 JDK版本rpm -qa | grep jdk可以看到我们的系统上存在两个版本的 Java,执行命令删除对应版本:yum -y remove java jdk-13.0.2-13.0.2-ga.x86_64

3.2 Oracle 优缺点

Orace 优点:开放性:Oracle 能在大部分主流平台上运行(包括 Windows)完全支持所有工业标准采用完全开放策略使客户选择适合解决方案对开发商全力支持;安全性:获得最高认证级别的 ISO 标准认证;Oracle 性能高:保持开放平台下 TPC-D 和 TPC-C 世界记录;客户端支持及应用模式:Oracle 多层次网络计算支持多种工业标准用 ODBC、JDBC、OCI 等网络客户连接;使用风险:Oracle 长时间开发经验完全向下兼容得广泛应用地风险低。Oracle 缺点:对硬件的要求很高;价格比较昂贵;管理维护麻烦一些;操作比较复杂,需要技术含量较高。

1.挂载概念介绍

挂载是指由操作系统使一个存储设备(如硬盘)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。一般来说,当计算机关机时,每个已挂载存储都将经历一次卸载,以确保所有排队的数据被写入,并保证介质上文件系统结构的完整性。挂载指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件目录。

1. 前言

本节内容主要是学习, JVM 跟踪类的加载与卸载的常用参数配置,这是工作中跟踪类的加载与卸载情况时 JVM 中最常用的参数配置。本节主要知识点如下:理解并掌握跟踪类的加载与卸载的参数 -XX:+TraceClassLoading,为本节重点内容;理解并掌握跟踪类的加载与卸载的参数 -XX:+TraceClassUnloading,为本节了解内容,非重点知识;理解并掌握跟踪类的加载与卸载的参数 -XX:+PrintClassHistogram,为本节重点内容;JVM 跟踪类的加载与卸载的常用参数是使用 JVM 所必须的知识点,通篇皆为重点掌握内容,需要在理解的基础上并掌握参数的使用方法。

4. -XX:+TraceClassUnloading 参数

参数作用:-XX:+TraceClassUnloading 参数是为了跟踪类的卸载。由于系统类加载器加载的类不会被卸载,并且只加载一次,所以普通项目很难获取到类卸载的日志。此处我们先来看看,通过系统类加载器加载的类是否会被卸载。为了更好的理解并掌握 -XX:+TraceClassUnloading 参数,我们通过如下步骤进行操作。步骤 1:在 VM Options 中配置参数 -XX:+TraceClassUnloading 并保存;步骤 2:运行示例代码,观察执行结果。结果验证:未打印日志,未发生类的卸载。引出问题:为什么看不到跟踪类卸载的日志呢?上文提到了,由系统类加载器加载的类不能够被卸载。所以想要看到跟踪类卸载的日志,我们需要使用自定义的类加载器。通过自定义的类加载器加载的类,在类不可达的时候,会发生垃圾回收,并卸载该类。一般情况下,开发过程中很少实现自定义的类加载器,除非有特殊的需求场景需要通过自定义的类加载器进行类的加载,因此此处对 -XX:+TraceClassUnloading 稍作了解即可。

1. 命令面板-编辑器相关

唤出命令面板的快捷键如下:说明Windows/LinuxMacOS唤出命令面板Ctrl+Shift+P⌘+⇧+P在这里你可以更改与设置相关,比如字体大小,插件安装与卸载,一键保存等等。可谓是哆啦A梦的百宝箱!

1. 下载安装包

我们首先打开Oracle官网的 JDK 下载地址,找到 Java SE 15 版块,点击 JDK Download 按钮。点击 JDK Download按钮后,我们会跳转到 JDK 下载详情页面。我们在下载详情页面可以找到如下图这样的一个表格,在最右侧 Download 一列中找到jdk-15.0.1_windows-x64_bin.exe一项,单击鼠标左键。此时网页上会弹出如下对话框,提示如果你想要下载必须遵守其协议,先勾选上复选框,再点击下载按钮即可开始下载。

1. 下载安装包

我们首先打开Oracle官网的 JDK 下载地址,找到 Java SE 15 版块,点击 JDK Download 按钮。点击 JDK Download按钮后我们会跳转到 JDK 下载详情页面。我们在下载详情页面可以找到如下图这样的一个表格,在最右侧 Download 一列中找到jdk-15.0.1_osx-x64_bin.dmg一项,单击鼠标左键。此时网页上会弹出如下对话框,提示如果你想要下载必须遵守其协议,先勾选上复选框,再点击下载按钮即可开始下载。

3.5 pip3 uninstall package-name

命令 pip3 uninstall package-name 卸载名称为 package-name 的第三方模块。卸载 requests 模块,示例如下:C:\>pip3 uninstall requestsUninstalling requests-2.23.0: c:\python3\lib\site-packages\requests-2.23.0.dist-info\installer c:\python3\lib\site-packages\requests-2.23.0.dist-info\license c:\python3\lib\site-packages\requests-2.23.0.dist-info\metadata c:\python3\lib\site-packages\requests-2.23.0.dist-info\record c:\python3\lib\site-packages\requests-2.23.0.dist-info\top_level.txt c:\python3\lib\site-packages\requests-2.23.0.dist-info\wheel c:\python3\lib\site-packages\requests\__init__.py ...Proceed (y/n)? y Successfully uninstalled requests-2.23.0卸载 requests 模块时,首先列出该模块相关的文件,在删除这些文件前,程序要求用户输入 y 进行确认。用户输入 y 后,pip3 就会卸载该模块。

1. 下载与安装

在 Mac 系统下我们要使用 Homebrew 来安装 Nginx。Homebrew 是一款 Mac 操作系统下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能,使用起来非常快捷。

1.1 关系型数据(SQL)

关系型数据库,是指采用了关系模型来组织数据的数据库,从语言功能层面来讲,一般是指用 SQL 语言来进行操作管理的关系型数据库。常用的关系型数据库有 MySQL、Oracle、SQLServer、PostGreSQL。

5.2 关于使用

在一个新项目中,我们通常按照以下步骤去使用 yarn:写入生成package.json,确定项目中需要哪些依赖(如果已有该文件跳过本步骤)。执行 yarn 初始化项目依赖,生成 yarn.lock 文件。通过yarn add 命令添加需要安装的依赖。确定想升级某个依赖的最新版本时,使用yarn upgrad命令升级。以上是简单介绍关于 yarn 得使用方法,因为在之后得相关小节里,有针对于 yarn 使用方法和常用命令的详细讲解,在这里就不再赘述了。希望大家持续关注之后的章节,更加深入的学习关于 yarn 的知识和技能。

1.rpm 简介

rpm 命令是 Red-Hat Package Manager 的缩写, 该命令用于管理 Linux 下软件包的软件。在 Linux 操作系统下,几乎所有的软件均可以通过 rpm 进行安装、卸载及管理等操作。

1. 下载安装包

我们首先打开Oracle官网的 JDK 下载地址,找到 Java SE 15 版块,点击 JDK Download 按钮。点击 JDK Download按钮后,我们会跳转到 JDK 下载详情页面。在下载详情页面可以找到如下图这样的一个表格,在最右侧 Download 一列中找到jdk-15.0.1_linux-x64_bin.rpm一项,单击鼠标左键。此时网页上会弹出如下对话框,提示如果你想要下载必须遵守其协议,先勾选上复选框,再使用鼠标右键点击下载按钮,复制链接地址。Tips:本小节的操作动图中,使用的 Java 版本为 14,由于安装 Java15 和 安装 Java14 的操作流程完全相同,我并没有进行统一替换。登录至我们要安装 Java 的 Linux 主机,使用 wget 命令来下载我们刚刚复制的 JDK 链接地址。执行如下命令,将 JDK 下载至服务器:wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/14+36/076bab302c7b4508975440c56f6cc26a/jdk-14_linux-x64_bin.rpmTips: 如果你的主机没有安装 wget 命令,执行上述命令会报错:-bash: wget: command not found这是因为主机还没有安装wget命令,执行 yum install wget 命令来进行安装。成功安装后再执行下载命令。下载过程如下:使用 ls 命令查看当前目录下的内容,jdk-14_linux-x64_bin.rpm就是我们刚刚下载好的安装包。[root@Colorful ~]# lsjdk-14_linux-x64_bin.rpm

2.1 关于 AVD

AVD 包含硬件配置文件、系统映像、存储区域、其他属性。硬件配置文件硬件配置文件定义了设备出厂时的特性。AVD Manager 预加载了特定的硬件配置文件,如 Pixel 设备,我们可以根据需要定义或自定义硬件配置文件。只有部分指定的硬件配置文件包括 Play 商店。这表明这些配置文件完全符合 CTS 规范,并且可以使用包含 Play 商店应用的系统映像。系统映像标有 Google API 的系统映像具有对 Google Play 服务的访问权限。Play Store 列中带有 Google Play 徽标的系统映像包含 Google Play 商店应用并且具有对 Google Play 服务的访问权限,Extended controls 对话框中会显示 Google Play 标签页,其中提供了一个方便的按钮,用于在设备上更新 Google Play 服务。为确保应用安全并且与物理设备的体验一致,包含 Google Play 商店的系统映像已使用发布密钥签名,这意味着,我们无法获得这些映像的 root 权限。如果想要求使用 root 权限 (root) 来帮助排查应用问题,则可以使用不包含 Google 应用或服务的 Android 开源项目 (AOSP) 系统映像。存储区域AVD 在开发计算机上具有专用的存储区域。AVD 存储设备用户数据,如已安装的应用和设置以及模拟 SD 卡。我们可以根据需要使用 AVD Manager 擦除用户数据,以便相应设备具有与新设备相同的数据。

2.2 带来的问题

因为应用程序可能依赖特定版本的包,当系统中存在多个项目时,可能会出现冲突。例如:有两个项目:项目 A 和 项目 B;项目 A 依赖于 redis-3.5.3;项目 B 依赖于 redis-3.0.0。如果,需要同时进行两个项目的开发,则必须:开发项目 A 时,卸载系统中现有的 redis 包,安装 redis-3.5.3;开发项目 B 时,卸载系统中现有的 redis 包,安装 redis-3.0.0。在两个项目之间切换时,用户需要频繁的安装和卸载 redis 包,显然是很不合理的。那么,这种不合理应该如何解决呢?在 Python 开发中有个神器叫做 virtual 就是专门用来解决问题的,下面我们就来看下 virtual 这个神器到底神在哪里?

2.4 关于 AVD 属性

我们可以在 Verify Configuration 页面中为 AVD 配置指定以下属性。AVD 配置指定了开发计算机与模拟器之间的交互,以及我们想要在硬件配置文件中替换的属性。AVD 配置属性可替换硬件配置文件属性,而我们在模拟器运行时设置的模拟器属性可以替换前两者。AVD 属性说明AVD 名称AVD 的名称。名称可以包含大小写字母、从 0 至 9 的数字、英文句点 (.)、下划线 (_)、半角括号 ( () )、短划线 (-) 和空格。存储 AVD 配置的文件的名称来自 AVD 名称。AVD IDAVD 文件名来自 ID,您可以使用该 ID 从命令行引用 AVD。硬件配置文件点击 Change 可以在 Select Hardware 页面中选择其他硬件配置文件。系统映像点击 Change 可以在 System Image 页面中选择其他系统映像。需要有效的互联网连接才能下载新映像。启动方向为初始模拟器方向选择一个选项:Portrait - 纵向跨度大于宽度、Landscape - 横向跨度大于高度。相机要启用相机,请选择一个或两个选项:Front - 镜头背对用户、Back - 镜头朝向用户。网络:速度选择网络协议以确定数据传输的速度:GSM、HSCSD、GPRS、EDGE等网络:延迟选择网络协议以设置协议将数据包从一点传输至另一点所需的时间(延迟)。模拟性能:图形选择图形在模拟器中的渲染方式:Hardware(Automatic)、Software(软件模拟)、Automatic(由模拟器决定)模拟性能:启动选项Cold boot - 每次从设备关闭状态开机时启动设备、Quick boot - 从保存的快照中加载设备状态来启动设备。模拟性能:多核 CPU选择计算机上您要用于模拟器的处理器内核数量。使用更多的处理器内核可加快模拟器的运行速度。内存和存储:RAM设备上的 RAM 量,增加 RAM 大小会占用计算机更多的资源。内存和存储:虚拟机堆虚拟机堆大小。内存和存储:内部存储设备上可用的不可移动内存空间的大小。内存和存储:SD 卡设备上可用于存储数据的可移动内存空间的大小。设备框架:启用设备框架选择此选项可以在模拟真实设备外观的模拟器窗口周围启用框架。自定义皮肤定义选择一款可以控制设备在模拟器中显示样式的皮肤。键盘:启用键盘输入如果要使用硬件键盘与模拟器进行交互,请选择此选项。

7. 使用 with 预加载出关联信息

可以在课程列表接口的方法中使用 with() 方法预加载出关联信息: $students = CourseModel::where('status', 1) ->with('teacher') ->order('created_at DESC') ->paginate($size);Tips: 其中 with('teacher') 预加载出 teacher 属性,也可以不使用 with 被动加载出 teacher ,如调用 $studentModel->teacher 的时候,若模型不存在 teacher 属性,会触发模型关联同名的方法。

2. 示例代码准备

本节主要是为了学习配置堆空间和栈空间的参数,因此不需要像跟踪垃圾回收那样手动调用 gc 方法,也不需要像跟踪类的加载与卸载那样建立一个 ArrayList 来观察 ArrayList 类的加载。所以此处的实例代码非常简单,随意打印一行字符串即可,我们主要的关注点在配置完堆空间和栈空间之后是否生效。示例:public class HeapAndStackParamsDemo { public static void main(String[] args) { System.out.println("Heap and Stack!"); } }

6. 小结

本小节的重点内容即,我们所讲述的三个常用的跟踪类的加载与卸载参数,学习者需要对这三个常用参数的意义,以及使用方式进行掌握。需要特别注意第二个参数 -XX:+TraceClassUnloading,在后续讲解类加载器的时候,会实现自定义的类加载器,并使用该参数演示类的卸载。通篇皆为重点内容,需要认真对待,掌握本节要点内容。

1.2 卸载包

在包列表中,选择要删除的包;单击 - 按钮。所选包将从磁盘中删除。

7.小结

本小节介绍了如何使用源码编译安装软件,实际编译的参数配置需要以软件的官方文档为准,或者根据实际业务进行配置,需要注意的是源码安装方式软件的卸载只需要删除安装位置的软件包文件即可卸载。

3. 关联映射中的延迟加载

关联多表查询时可选择是否启用延迟加载。PO 之间的映射,意味着 Hibernate 不仅能查询到指定表中数据,还能查询相关联表中的数据。但,有时只需要查询学生基本信息,并不需要地址信息,或者地址信息并不需要马上查询出来,能不能告诉 Hibernate,只查询学生信息,暂且别查询地址信息。同样,有时只需要查询所在地址,并不关心地址对应学生信息。可以启动关联映射中的延迟加载实现上面的需求。学生类中修改代码如下:@OneToOne(targetEntity = Address.class,fetch=FetchType.LAZY)@JoinColumn(name = "addressId")public Address getAddress() { return address;}@OneToOne 注解有 fetch 属性,为枚举类型,其值可选择:FetchType.LAZY;FetchType.EAGER。其作用便是告诉 Hibernate,是否延后或立即查询相关联表中的数据。执行下面测试代码:try { transaction = session.beginTransaction(); Student stu = (Student) session.get(Student.class, new Integer(1)); System.out.println("----------------学生信息---------------"); System.out.println("学生姓名:" + stu.getStuName()); transaction.commit();} catch (Exception e) { transaction.rollback();} finally { session.close();}查看结果:Hibernate: select student0_.stuId as stuId1_1_0_, student0_.addressId as addressI6_1_0_, student0_.stuName as stuName2_1_0_, student0_.stuPassword as stuPassw3_1_0_, student0_.stuPic as stuPic4_1_0_, student0_.stuSex as stuSex5_1_0_ from Student student0_ where student0_.stuId=?----------------学生信息---------------学生姓名:Hibernate老大Hibernate 只构建了一条简单的 Sql 语句, 用于查询学生信息。继续执行下面测试实例:try { transaction = session.beginTransaction(); Student stu = (Student) session.get(Student.class, new Integer(1)); System.out.println("----------------学生信息---------------"); System.out.println("学生姓名:" + stu.getStuName()); System.out.println("-----------------地址信息-----------------"); System.out.println("学生家庭地址:" + stu.getAddress().getAddressName()); transaction.commit();} catch (Exception e) { transaction.rollback();} finally { session.close();}输出结果:Hibernate: select student0_.stuId as stuId1_1_0_, student0_.addressId as addressI6_1_0_, student0_.stuName as stuName2_1_0_, student0_.stuPassword as stuPassw3_1_0_, student0_.stuPic as stuPic4_1_0_, student0_.stuSex as stuSex5_1_0_ from Student student0_ where student0_.stuId=?----------------学生信息---------------学生姓名:Hibernate老大-----------------地址信息-----------------Hibernate: select address0_.addressId as addressI1_0_0_, address0_.addressName as addressN2_0_0_, address0_.descript as descript3_0_0_ from Address address0_ where address0_.addressId=?学生家庭地址:北京Hibernate 分别构建了 2 条简单的查询 Sql 语句,可得出结论:只有当需要获取地址信息时,才会构建 Sql 语句查询地址表;这就是关联映射中的延迟加载。@OneToOne 默认情况下是采用立即策略,通过构建多表查询语句一次性全部查询。

首页上一页1234567下一页尾页
直播
查看课程详情
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号