HTML语法、常用标签、表单,CSS选择器。简单登录页面的实现

news2024/11/28 0:38:28

HTML和CSS粗略介绍

文章目录

  • HTML和CSS粗略介绍
    • HTML页面
      • 第一个HTML页面
        • 添加图片和视频
      • HTML语法规范
        • div标签
        • span标签
        • 转义字符
      • HTML常用标签
        • 换行和分割线
        • 标题
        • 超链接
        • 列表元素
        • 表格
      • HTML表单
        • 输入框和按钮
        • 多行文本
    • CSS样式
      • CSS选择器
        • input
        • 标签选择器
        • id选择器
        • 类选择器
      • 组合选择器和优先级问题
        • !important标记
      • 自定义边距
      • 编写一个登陆界面

本文主要是粗略介绍HTML、CSS,为之后的Java Web打基础,不会讲的很详细

  • 前端:我们网站的页面,包括网站的样式、图片、视频等一切用户可见的内容都是前端的内容。
  • 后端:处理网站的所有数据来源,比如我们之前从数据库中查询数据,而我们查询的数据经过处理最终会被展示到前端,而用于处理前端数据的工作就是由后端来完成的。

相当于,前端仅仅是一层皮,它直接决定了整个网站的美观程度,我们可以自由地编排页面的布局,甚至可以编写好看的特效;而灵魂则是后端,如何处理用户的交互、如何处理数据查询是后端的职责所在,我们前面学习的都是后端内容,而Java也是一门专注于后端开发的语言。

实际上浏览器访问服务器就是一种B/S结构,而我们使用Java代码编写的客户端连接服务器就是一种C/S结构

HTML页面

作用:展示数据

前面学习了XML语言,它是一种标记语言,我们需要以成对标签的格式进行填写,但是它是专用于保存数据,而不是展示数据,而HTML恰恰相反,它专用于展示数据,由于前面已经学习过XML语言了,HTML语言和XML很相似,所以我们学习起来会很快

打开一个页面,打开开发者工具,既可以看到一些语句,就是HTML

image-20230520164335883

第一个HTML页面

我们前面知道,通过浏览器可以直接浏览XML文件,而浏览器一般是用于浏览HTML文件的,以HTML语言编写的内容,会被浏览器识别为一个页面,并根据我们编写的内容,将对应的组件添加到浏览器窗口中。

比如我们可以创建一个Html文件来看看浏览器会如何识别,使用IDEA也能编写HTML页面,我们在IDEA中新建一个Web模块,进入之后我们发现,项目中没有任何内容,我们右键新建一个HTML文件,选择HTML5文件,并命名为index,创建后出现:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

我们发现,它和XML基本长得一样,并且还自带了一些标签,那么现在我们通过浏览器来浏览这个HTML文件(这里推荐使用内置预览,不然还得来回切换窗口)

我们发现现在什么东西都没有,但是在浏览器的标签位置显示了网页的名称为Title,并且显示了一个IDEA的图标作为网页图标。

现在我们稍微进行一些修改:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>520了</title>
</head>
<body>
    孤寡的人只能学HTML
</body>
</html>

再次打开浏览器,我们发现页面中出现了我们输入的文本内容,并且标题也改为了我们自定义的标题。

我们可以在设置->工具->Web浏览器和预览中将重新加载页面规则改为变更时,这样我们使用内置浏览器或是外部浏览器,可以自动更新我们编写的内容。

添加图片和视频

在页面中添加一个图片,随便将一张图片放到html文件的同级目录下,命名为image.xxx,其中xxx是后缀名称,不要修改,我们在body节点中添加以下内容:

<img width="200" src="haha.jpg" alt="看不到就算了">
<!--  注意xxx替换成对应的后缀名称  -->

页面中能够显示我们添加的图片内容。因此,我们只需要编写对应的标签,浏览器就能够自动识别为对应的组件,并将其展示到我们的浏览器窗口中

成功的情况下

image-20230520170519869

不成功就显示alt里的内容

image-20230520170422071

我们再来看看插入一个B站的视频,很简单,只需要到对应的视频下方,找到分享,我们看到有一个嵌入代码:

image-20230520171255878

<iframe src="//player.bilibili.com/player.html?aid=570706757&bvid=BV1pz4y1h7uG&cid=1116354987&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" width="500" height="400"> </iframe>

再打开页面,是这样子的

image-20230520171500288

每一个页面都是通过这些标签来编写的,几乎所有的网站都是使用HTML编写页面

HTML语法规范

一个HTML文件中一般分为两个部分:

  • 头部:一般包含页面的标题、页面的图标、还有页面的一些设置,也可以在这里导入css、js等内容
  • 主体:整个页面所有需要显示的内容全部在主体编写

首先来看头部,我们之前使用的HTML文件中头部包含了这些内容:

<meta charset="UTF-8">
<title>你来啦</title>

首先meta标签用于定义页面的一些元信息,这里使用它来定义了一个字符集(编码格式),一般是UTF-8,下面的title标签就是页面的标题,会显示在浏览器的上方。我们现在来给页面设置一个图标,图标一般可以在字节跳动的IconPark网站找到,选择一个自己喜欢的图标下载即可

将图标放入到项目目录中,并命名为icon.png,在HTML头部添加以下内容:

<link rel="icon" href="loading.png" type="image/x-icon" />

link标签用于关联当前HTML页面与其他资源的关系,关系通过rel属性指定,这里使用的是icon表示这个文件是当前页面图标。

现在访问此页面,页面图标已经变了

image-20230520172320151

主体

可以在主体内部编写该页面要展示的所有内容,比如之前就用到了img标签来展示一个图片,其中每一个标签都称为一个元素:

<img width="300" src="image.xxx" alt="当图片加载失败时,显示的文本">

注意事项

  1. HTML中有些标签是单标签,也就是说只有这一个,还有一些标签是双标签,必须成对出现
  2. HTML中,也不允许交叉嵌套,但是出现交叉嵌套时,浏览器并不会提示错误,而是仍旧尝试去解析这些内容,甚至会帮助我们进行一定程度的修复

div标签

在主体中,一般使用div标签来分割页面:

<body>
    <div>我是第一块第一个部分</div>
    <div>我是第一块第二个部分</div>
</body>

image-20230520172939215

span标签

通过使用div标签,将整个页面按行划分,而高度就是内部元素的高度,那么如果只希望按元素划分,也就是说元素占多大就划分多大的空间,那么我们就可以使用span标签来划分:

<body>
    <div>
        <span>我是第一块第一个部分</span>
        <span>我是第一块第二个部分</span>
    </div>
    <div>我是第二块</div>
</body>

image-20230520172751501

我们也可以使用p段落标签,它一般用于文章分段:

<body>
<p>
    I walked through the door with you
    The air was cold
    But something about it felt like home somehow
    And I left my scarf there at your sister's house
    And you've still got it in your drawer even now
</p>
<p>
    Oh your sweet disposition
    And my wide-eyed gaze
    We're singing in the car, getting lost upstate
    Autumn leaves falling down like pieces into place
    And I can picture it after all these days
    And I know it's long gone and that magic's not here no more
    And I might be okay, but I'm not fine at all...
</p>
<p>
    Cause there we are again on that
    Little town street
    You almost ran the red cause you were lookin' over me
    Wind in my hair, I was there
    I remember it all too well
</p>
</body>

效果如图

image-20230520173530077

转义字符

和XML一样,我们可以使用转义字符:

image-20230520170837016

**注意:**多个连续的空格字符只能被识别为一个,如果需要连续多个必须使用转义字符,同时也不会识别换行,换行只会变成一个空格,需要换行必须使用br标签。

HTML常用标签

换行和分割线

  • br 换行
  • hr 分割线

在对之前的进行修改

<body>
<p>
    I walked through the door with you<br>
    The air was cold<br>
    But something about it felt like home somehow<br>
    And I left my scarf there at your sister's house<br>
    And you've still got it in your drawer even now<hr>
</p>
<p>
    Oh your sweet disposition<br>
    And my wide-eyed gaze<br>
    We're singing in the car, getting lost upstate<br>
    Autumn leaves falling down like pieces into place<br>
    And I can picture it after all these days<br>
    And I know it's long gone and that magic's not here no more<br>
    And I might be okay, but I'm not fine at all...<hr>
</p>
<p>
    Cause there we are again on that<br>
    Little town street<br>
    You almost ran the red cause you were lookin' over me<br>
    Wind in my hair, I was there<br>
    I remember it all too well<hr>
</p>
</body>

之前的案例,让她变得更好看一点, 效果如图

image-20230520174308987

标题

标题一般用h1到h6表示,来看看效果:

<body>
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
<p>我是正文内容,真不错。</p>
</body>

image-20230520174511702

超链接

现在我们来看看超链接,我们可以添加一个链接用于指向其他网站:

<a href="https://www.bilibili.com">Click here</a>

image-20230520174702084

我们也可以指定页面上的一个锚点进行滚动:

<body>
<a href="#test">跳转锚点</a> <!--点击这个的时候,就会自动跳转-->
<img src="image.jpg" width="500">
<img src="image.jpg" width="500">
<img src="image.jpg" width="500">
<img src="image.jpg" width="500">
<div id="test">我是锚点</div>
<img src="image.jpg" width="500">
<img src="image.jpg" width="500">
<img src="image.jpg" width="500">
</body>

每个元素都可以有一个id属性,只需要给元素添加一个id属性,就使用a标签可以跳转到一个指定锚点。

列表元素

这是一个无需列表,其中每一个li表示一个列表项:

<ul>
    <li>一号选项</li>
    <li>二号选项</li>
    <li>三号选项</li>
    <li>四号选项</li>
    <li>五号选项</li>
</ul>

可以使用ol来显示一个有序列表:

<ol>
    <li>一号选项</li>
    <li>二号选项</li>
    <li>三号选项</li>
    <li>四号选项</li>
    <li>五号选项</li>
</ol>

表格

表格也是很重要的一种元素,但是它编写起来相对有一点麻烦:

<table>
    <thead>
    <tr> <!--表头-->
        <th>学号</th>
        <th>姓名</th>
        <th>性别</th>
        <th>年级</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>0001</td>
        <td>小明</td>
        <td></td>
        <td>2019</td>
    </tr>
    <tr>
        <td>0002</td>
        <td>小红</td>
        <td></td>
        <td>2020</td>
    </tr>
    </tbody>
</table>

有点丑,就需要CSS美化

HTML表单

表单就像其名字一样,用户在页面中填写了对应的内容,点击按钮就可以提交到后台,比如登陆界面,就可以使用表单来实现:

输入框和按钮

一个网页中最重要的当属输入框和按钮了,那么我们来看看如何创建一个输入框和按钮:

<label>
    我是输入框
    <input type="text">
</label>

对于一个输入框,我们一般会将其包括在一个lable标签中,它和span效果一样,但是我们点击前面文字也能快速获取输入框焦点。

<body>
<div>登陆我们的网站</div>
<hr>
<div>
    <label>
        账号:
        <input type="text">
    </label>
</div>
<div>
    <label>
        密码:
        <input type="password">
    </label>
</div>
</body>

输入框可以有很多类型,我们来试试看password,现在输入内容就不会直接展示原文了。

创建一个按钮有以下几种方式,在学习JavaWeb时,更推荐第二种方式,我们后面进行登陆操作需要配合表单使用:

<button>登陆</button>
<input type="submit" value="登陆">
<input type="button" value="登陆">

现在就可以写一个大致的登陆页面了:

<body>
    <h1>登陆我们的网站</h1>
    <form>
        <div>
            <label>
                账号:
                <input type="text" placeholder="Username...">
            </label>
        </div>
        <div>
            <label>
                密码:
                <input type="password" placeholder="Password...">
            </label>
        </div>
        <br>
        <a href="https://www.baidu.com">忘记密码</a>
        <br>
        <br>
        <div>
            <input type="submit" value="登陆">
        </div>
    </form>
</body>

image-20230520203748650

表单一般使用form标签将其囊括,但是现在我们还用不到表单提交,因此之后我们再来讲解表单的提交

多行文本

input只能实现单行文本,那么如何实现多行文本

<label>
    这是我们的文本框<br>
    <textarea placeholder="文本内容..." cols="10" rows="10"></textarea>
</label>

我们还可以指定默认的行数和列数,拖动左下角可以自定义文本框的大小。

我们还可以在页面中添加勾选框:

<label>
    <input type="checkbox">
    我同意本网站的隐私政策
</label>

上面演示的是一个多选框,那么我们来看看单选框:

<label>
    <input type="radio" name="role">
    学生
</label>
<label>
    <input type="radio" name="role">
    教师
</label>

这里需要使用name属性进行分组,同一个组内的选项只能选择一个。

我们也可以添加列表让用户进行选择,创建一个下拉列表:

<label>
    登陆身份:
    <select>
        <option>学生</option>
        <option>教师</option>
    </select>
</label>

默认选取的是第一个选项,我们可以通过selected属性来决定默认使用的是哪个选项。

<label>
    登陆身份:
    <select>
        <option>学生</option>
        <option selected>教师</option>
    </select>
</label>

CSS样式

那么如何实现更高度的自定义呢,我们就需要用到CSS来自定义样式,首先我们创建一个名为style.css的文件。

首先在我们HTML文件的头部添加:

<link href="style.css" rel="stylesheet">

我们在CSS文件中添加以下内容:

body {
    text-align: center;
}

image-20230520204408974

网页的内容全部变为居中显示了,这正是css在生效,相当于我们现在给页面添加了自定义的样式规则。

当然,我们也可以选择不使用CSS,而是直接对某个元素添加样式:

<body style="text-align: center;">
  ...

这样的效果其实是等同于上面的css文件的,相当于我们直接把样式定义在指定元素上。

也可以在头部直接定义样式,而不是使用外部文件:

<style>
    body {
        text-align: center;
    }
</style>

使用以上三种方式都可以自定义页面的样式,但是第一种更加方便简洁

CSS选择器

要自定义一个元素的样式,肯定要去选择某个元素,只有先找到要自定义的元素,我们才能开始编写样式

input

我们上面的例子中使用的就是标签名选择器,它可以快速选择页面中所有指定的的标签,比如我们之前使用的就是body标签,那么就相当于页面中所有的body元素全都使用此样式,那么我们现在来试试看选择页面中所有的input标签:

input {
    width: 200px;
}

我们发现,页面中所有的input元素宽度全部被设定为了200个像素(px是单位大小,代表像素,除了px还有emrem,他们是根据当前元素字体大小决定的相对大小,一般用于适配各种大小的浏览器窗口,这里暂时不用)

样式编写完成后,如果只有一个属性,可以不带;若多个属性则每个属性后面都需要添加一个;

标签选择器

因此,一个标签选择器的格式为:

标签名称 {
  属性名称: 属性值
}

我们还可以设定输入框的字体大小、行高等:

input {
    width: 200px;
    font-size: 20px;
    line-height: 40px;
}

现在随便来一点

body {
    text-align: center;
}

input  {
    color: blueviolet;
    width: 200px;
    font-size: 30px;
    line-height: 40px;
}

image-20230520205220102

可以通过选择器快速地去设置某个元素样式了

id选择器

那么如何实现只设置某个元素的样式呢,id选择器,每个元素都可以有一个id属性,可以将其当做一个跳转的锚点使用,而现在,可以使用css来进行定位:

先为元素添加id属性:

<h1 id="title">登陆我们的网站</h1>

现在使用CSS选择元素,并设定一个属性,选择某个id需要在前面加上一个#

#title {
    color: red;
}

虽然id选择器已经可以很方便的指定某个元素,但是如果我们希望n个但不是元素都被选择,id选择器就无法实现了,因为每个元素的id是唯一的,不允许出现重复id的元素

类选择器

每个元素都可以有一个class属性,表示当前元素属于某个类(注意这里的类和Java中的类概念完全不同)一个元素可以属于很多个类,一个类也可以被很多个元素使用:

<form>
    <div >
        <label class="test">
            账号:
            <input type="text" placeholder="Username...">
        </label>
    </div>
    <div>
        <label class="test">
            密码:
            <input type="password" placeholder="Password...">
        </label>
    </div>
</form>

上面的例子中,两个label元素都使用了test类(类名称是我们自定义的),现在我们在css文件中编写以下内容来以类进行选择:

.test {
    width:150px;
    color: blue;
}

两个标签的文本内容都变为了蓝色,因此使用类选择器,能够对所有为此类的元素添加样式。注意在进行类选择时,需要在类名前面加上.来表示。

image-20230520212037005

组合选择器和优先级问题

我们也可以让多个选择器,共用一个css样式:

.test, #title {
    color: red;
}

只需要并排写即可,注意中间需要添加一个英文的逗号用于分割,可以使用*来一次性选择所有的元素:

* {
    color: red;
}

选择位于某个元素内的某个元素:

div label {
    color: red;
}

这样的话,就会选择所有位于div元素中的label元素。

有关详细的CSS选择器可以查阅:链接

选择器的优先级:

image-20230520170932931

根据上面的信息,来测试一下

HTML文件:

<body>
    <div class="test" id="simple" style="color: blue">我是测试文本内容</div>
</body>

css文件:

.test { /*类选择器*/
    color: yellow;
}

#simple { /*元素选择器*/
    color: red;
}

* {
    color: palegreen;
}

!important标记

如果希望某个属性无视任何的优先级,就在属性后面添加!important标记,表示此属性是一个重要属性,它的优先级会被置为最高。

每个选择器的这个属性后面都加一个!important,那就等于没加

自定义边距

下面的代码相当于一个div嵌套了一个div元素:

<div id="outer">
    <div id="inner">
        
    </div>
</div>

编写自定义的css样式,将div设定为固定大小,并且背景颜色添加为绿色:

#outer {
    background: palegreen;
    width: 300px;
    height: 300px;
}

会发现左侧快速预览页面存在空隙,这是因为浏览器添加了一个边距属性,只需要覆盖此属性并将其设定为0即可:

body {
    margin: 0;
}

现在给内部嵌套的div也设定一个大小,并将颜色设定为橙色:

#inner {
    background: darkorange;
    width: 100px;
    height: 100px;
}

内部的div元素位于右上角,可以以百分比的形式来指定大小:

#inner {
    background: darkorange;
    width: 100%;
    height: 100%;
}

百分比会依照当前可用大小来进行分配,比如当前位于一个div内部,并且外部div元素是固定大小300px,因此100%就相当于使用了外部的全部大小,也是300px,现在内部元素完全将外部元素覆盖了,整个元素现在呈现为橙色。

可以为一个元素设定边距,边距分为外边距和内边距,外部元素内边距决定了内部元素与外部元素之间的间隔,我们来修改一下css样式:

#outer {
    background: palegreen;
    width: 300px;
    height: 300px;
    padding: 10px;
}

内部的div元素小了一圈,这是因为外部div元素设定了内边距,上下左右都被设定为10px大小

一开始是将body的外边距设定为了0,整个页面跟浏览器窗口直接间隔0px的宽度

编写一个登陆界面

上代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>I'm HTML</title>
    <link href="style.css" rel="stylesheet">
    <link rel = "icon" href="loading.png" type="img/x-icon">
</head>

<body>
<h1>登陆系统</h1>
<form>
    <hr>
    <div>
        <label>
            <input type = "text" placeholder="username">
        </label>
    </div>
    <div>
        <label>
            <input type="text" placeholder="password">
        </label>
    </div>

    <div>
        <button>Log in</button>
    </div>
</form>
</body>
</html>

css

body {
    text-align: center;
    margin : 0;
}

input {
    border: 0;
    background: beige;
    border-radius: 20px;
    line-height: 40px;
    padding: 0 20px 0 20px;
    width: 200px;
    font-size: 16px;
    margin-top: 15px; /*调整两个label间距*/
}

input:focus {
    outline: 0;
}

button {
    margin-top: 60px;
    background: cadetblue;
    border : 0;
    border-radius: 20px;
    height:40px;
    width: 100px;
    color: whitesmoke;
    font-size: 15px;
}

最终成果

image-20230520220447458

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/551049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HackTheBox Bagel】打靶记录

一、namp扫描到5000 8000 22 端口 二、访问8000端口&#xff0c;看到跳转到域名bagel.htb&#xff0c;加入到hosts 看到该url 像文件包含&#xff0c;尝试fuzz一波 尝试找公私钥均未果&#xff0c;找到了cmdline 进一步对其包含 HTTP/1.1 200 OK Server: Werkzeug/2.2.2 …

Java多线程异常处理

文章目录 一. 线程中出现异常的处理1. 线程出现异常的默认行为2. setUncaoughtExceptionHandler()方法处理异常3. setDefaultUncaoughtExceptionHandler()方法进行异常处理 二. 线程组内出现异常 一. 线程中出现异常的处理 1. 线程出现异常的默认行为 当单线程中初出现异常时…

工业缺陷检测数据及代码(附代码)

介绍 目前,基于机器视觉的表面缺陷检测设备已广泛取代人工视觉检测,在包括3C、汽车、家电、机械制造、半导体与电子、化工、制药、航空航天、轻工等多个行业领域得到应用。传统的基于机器视觉的表面缺陷检测方法通常采用常规图像处理算法或人工设计的特征加分类器。一般而言…

【Tomcat下载及使用说明】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 1.什么是Tomcat 2.Tomcat下载流程及注意问题 …

Eclipse将代码收缩if/for/try,支持自定义区域收缩

Hi, I’m Shendi Eclipse将代码收缩if/for/try&#xff0c;支持自定义区域收缩 最近忙于给网站增加功能&#xff0c;在使用 Eclipse 编写 Java 代码时发现一个函数内代码过多&#xff0c;并且 if&#xff0c;for&#xff0c;try这种代码块无法收缩&#xff08;在IDEA&#xff0…

【快速入门-简单实现】使用Java实现的单播、组播和广播

说明 TCP是一个面向连接的协议&#xff0c;TCP一定是点对点的,一点是两个主机来建立连接的&#xff0c;基于TCP实现的肯定是单播(但单播还可以使用UDP协议实现)。只有UDP才会使用广播和组播。 Java中的单播、组播和广播可以使用TCP或UDP协议来实现&#xff0c;具体取决于应用程…

【C语言】实现猜数字游戏——随机数

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 该篇将对 选择与循环语句 进行运用&#xff0c;实现猜数字游戏。 需求&#xff1a;游戏后可以选择再次进行游戏&#xff0c;也可以选择…

【Java-Crawler】HttpClient+Jsoup实现简单爬虫

Java编写网络爬虫 网络爬虫1. 爬虫入门程序 网络爬虫1. 网络爬虫的介绍2. 为什么学习网络爬虫 HttpClient1. Get请求2. 带参数的GET请求3. Post请求4. 带参数的 Post 请求5. 连接池6. 请求参数 Jsoup1. jsoup 介绍2.1 功能1.1-解析url2.2 功能1.2-解析字符串2.3 功能1.3-解析文…

由浅入深Dubbo核心源码剖析环境介绍

目录 1 框架介绍1.1 概述1.2 运行架构1.3 整体设计 2 环境搭建2.1 源码拉取2.2 源码结构2.3 环境导入2.4 测试2.5 管理控制台 1 框架介绍 1.1 概述 Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架&#xff0c;使得应用可通过高性能的 RPC 实现服务的输出和输入功能&#…

ARM学习笔记_1 模式,寄存器,流水线

ARM arm体积小功耗低性能高&#xff0c;支持thumb ARM双指令集&#xff0c;兼容8/16位器件&#xff1b;大量使用寄存器&#xff0c;指令定长&#xff0c;寻址简单。 ARM是32位架构&#xff0c;Word 32bit&#xff0c; half Word 16bit. 模式 用户模式是用户程序的模式&#…

解决MySQL无法输入中文字符的问题

文章目录 问题描述问题排查解决方案1️⃣创建数据库时设置字符集为utf82️⃣修改数据库配置文件【比较麻烦】 写在最后 前几日在使用MySQL数据库的时候&#xff0c;出现了一处保存&#xff0c;故作此记录✍ 问题描述 下面是我这样exam表的结构 mysql> desc exam; --------…

PETR 论文学习

1. 解决了什么问题&#xff1f; DETR3D 为端到端的 3D 目标检测提供了一个思路。但是&#xff0c;DETR3D 中的 2D 到 3D 的变换会带来一些问题。 Reference point 的预测坐标可能不够准确&#xff0c;采样特征可能位于目标区域之外&#xff1b;只有映射点周围的特征会被选取&…

“超越极限 - 如何使用 Netty 高效处理大型数据?“ - 掌握 Netty 技巧,轻松应对海量数据处理!

1 写大型数据 因为网络饱和的可能性&#xff0c;如何在异步框架中高效地写大块的数据是特殊问题。由于写操作是非阻塞的&#xff0c;所以即使没有写出所有的数据&#xff0c;写操作也会在完成时返回并通知 ChannelFuture。当这种情况发生时&#xff0c;如果仍然不停地写入&…

2023年最受欢迎的低代码平台排行榜

随着企业寻找在降低成本的同时加快软件开发的方法&#xff0c;低代码开发平台正变得越来越受欢迎。这些平台允许开发人员使用拖放界面和预置组件&#xff0c;以最少的代码创建复杂的应用程序。它不仅帮助企业加快了数字化转型的脚步&#xff0c;而且打破业务部门和IT部门之间的…

多元分类预测 | Matlab萤火虫算法(FA)优化BP神经网络分类预测,FA-BP分类预测,多特征输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab萤火虫算法(FA)优化BP神经网络分类预测,FA-BP分类预测,多特征输入模型,多特征输入模型,多特征输入模型,多特征输入模型,多特征输入模型,多特征输入模型 多特征输入单输出的二分类及多…

商品领域十二张基础表设计思路与实现

欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章&#xff0c;主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等&#xff0c;同时欢迎大家加我微信「java_front」一起交流学习 1 文章概述 商品在电商领域中是一个非常重要的领域&#xff0c;交易行为前提是有…

Selenium + Java 的环境搭建

Selenium Java 的环境搭建 &#x1f50e;Chrome 浏览器下载 Chrome 浏览器检查对应版本下载 Chrome 浏览器驱动 &#x1f50e;配置环境变量&#x1f50e;验证环境是否搭建成功&#x1f50e;关于 pom.xml 出现错误的解决方案 &#x1f50e;Chrome 浏览器 下载 Chrome 浏览器 下…

使用命令启动默认程序(例如启动系统默认浏览器打开指定网址)

文章目录 目的基础说明代码示例&#xff08;Golang&#xff09;总结 目的 通过命令调用系统默认应用程序打开对应格式的文件是比较常用的功能。这篇文章将介绍下相关内容。 基础说明 Windows windows下可以使用 start 指令来启动默认程序打开对应格式文件&#xff1b; 比如 …

iptables中SNAT、DNAT及iptables服务启动时会自动还原规则

目录 SNAT原理与应用​编辑 SNAT转换前提条件 临时打开&#xff1a; 永久打开&#xff1a; 示例​编辑 DNAT原理与应用​编辑 DNAT转换前提条件 示例​编辑 防火墙规则的备份和还原 导出&#xff08;备份&#xff09;所有表的规则 清空规则​编辑 导入&#xff08;还…

【VMware】Ubunt 20.04时间设置

文章目录 设置本地时间 UTC8设置24小时制同步网络时间参考 Talk is cheap, show me the code. 设置本地时间 UTC8 查看当前时区状态 rootnode1:~/k8s# timedatectlLocal time: Sun 2023-05-21 15:24:02 CSTUniversal time: Sun 2023-05-21 07:24:02 UTCRTC time: Sun 2023-05-2…