Linux基础教程

Linux

目标

​ Linux概述【了解】

​ Linux网络连接三种模式【了解】

Linux目录结构【掌握】

Linux常用命令【掌握】

Linux操作目录的命令【掌握】

Linux操作文件的命令【掌握】

Linux的Vi编辑器【会用】

Linux打包与解压命令【掌握】

一、Linux概述

1、Linux的概述

​ Linux是基于Unix的。Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机,诞生于1991年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、Linux的历史

​ Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds(林纳斯·托瓦兹)由于自己不满意教学中使用的MINIX操作系统, 所以在1991年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统

3、Linux系统的应用

  • ​ 服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;

    ​ 嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,

    ​ 高性能运算、计算密集型应用Linux有强大的运算能力。

    ​ 桌面应用系统

    ​ 移动手持系统

    4、 Linux的版本

Linux的版本分为两种:内核版本和发行版本;内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号

Linux的主流版本

在这里插入图片描述

二、Linux网络连接三种模式

1、查看当前ip

ip addr  查看当前linux的ip地址

在这里插入图片描述

2、网络连接模式

​ 在VMware 中有三种网络设置方式

在这里插入图片描述

  • 桥接模式

    桥接模式是指与物理机(安装了VMware的电脑),使用同一个物理网卡,和物理主机使用同一个段的ip

  • NAT(地址转换模式)

    在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信

在这里插入图片描述

  • 仅主机模式

    仅主机模式是出于安全考虑,将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的

三、Linux目录结构

1、linux学习注意事项

  • linux中严格区分大小写
  • linux中所有内容以文件的形式保存,包括硬件(硬盘文件是:/dev/sd[a-p]),光盘文件是/dev/sr0 等
  • linux不靠扩展名区分文件类型(压缩包:.gz,.bz2,.tar.bz2,.tgz等),二进制软件包:.rpm,网页文件:.html,脚本文件:.sh,配置文件:.config
  • linux下所有的存储设备都要挂载后用户才能使用,包括硬盘、U盘
  • windows下的程序不能在linux下安装和运行

2、linux目录结构

在这里插入图片描述

四、Linux常用命令

1、列出文件列表:ls ll【记】

ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容

格式:ls[参数] [路径或文件名]

常用:在linux中以 . 开头的文件都是隐藏的文件

  • ls -a 显示所有文件或目录(包含隐藏的文件)
  • ls -l 缩写成ll 显示所有文件或目录的详细信息
  • ls -d 显示当前目录,点表示当前目录,将目录像文件一样显示,而不是显示目录下的文件
  • ls -h 智能显示

案例:显示当前路径下的所有文件(包括隐藏文件)

在这里插入图片描述

案例:显示当前路径下的所有文件的详细信息

在这里插入图片描述

2、清屏命令clear

当我们输了多次命令后屏幕就被占满了,如果我们还要输入其他命令就要往下拖动窗口,可以使用清屏命令让窗口自动往下滚一屏

在这里插入图片描述

清屏除了可以使用clear命令还可以使用ctrl+l快捷键

3、切换目录命令cd【记】

linux中的切换目录命令和windows中的命令一样也是使用cd

案例:使用cd切换到root帐号的home目录

在这里插入图片描述

cd命令其他用法:

  • 切换到上一层目录cd /

  • 切换到系统根目录cd ~

4、查看当前目录所在目录命令pwd

​ pwd命令是用来查看当前目录的路径

在这里插入图片描述

五、操作目录命令【记】

1、创建目录mkdir

mkdir(make directory)命令可用来创建目录

  语法:mkdir  目录名称   mkdir app app1 aap2

案例:在root根目录下创建woniu目录

在这里插入图片描述

注意:mkdir一次只能创建一个目录或同级多个目录

2、创建多级目录mkdir -p

 mkdir -p app/app1/app2

直接使用mkdir app/test会报错

在这里插入图片描述

创建多级目录

在这里插入图片描述

3、删除空目录rmdir

rmdir(remove directory)命令可用来删除“空”的目录

案例:删除root根目录中的woniu目录

在这里插入图片描述

六、文件命令

1、文件操作命令【记】

a、touch创建一个空文件

语法: touch a.txt

案例:在woniu目录中创建文件hello.txt

在这里插入图片描述

b、cp 文件拷贝

cp a.txt b.txt    将a.txt复制为b.txt文件
cp a.txt ../    将a.txt文件复制到上一层目录中
cp a.txt ../app1/b.txt 将a.txt 拷贝到app1下改为b.txt

案例:将hello.txt拷贝到app目录中

在这里插入图片描述

除了可以将文件直接复制外,还可以在复制文件时修改文件的名称

案例:将install.log拷贝到microboom目录中并改名为linux.txt

在这里插入图片描述

c、mv 移动或者重命名

mv 移动或者重命名
	mv a.txt ../        将a.txt文件移动到上一层目录中
	mv a.txt b.txt      将a.txt文件重命名为b.txt
	mv a.txt ../b.txt   将a.txt文件移动到上一层目录中后文件名修改成b.txt

d、rm 删除文件或目录

用法: rm [选项]... 文件...
	rm a.txt   删除a.txt文件
    删除需要用户确认,y/n 
rm  删除不询问
	rm -f a.txt  不询问,直接删除rm 删除目录
	rm -r a      递归删除,询问递归删除
	rm -rf  a    不询问递归删除(慎用)
	rm -rf *     删除所有文件
	rm -rf /*    自杀

2、文件查看命令【记】

a、cat命令

cat用于显示文件的内容,格式:cat[参数]<文件名>

案例:显示world.txt文件的内容

在这里插入图片描述

b、more命令

more一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。回车显示下一行内容。

案例:显示hello.txt文件的内容

在这里插入图片描述

c、less命令

​ less用法和more类似,不同的是less可以通过PgUp、PgDn键来控制

用法同上

d、tail命令

tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。

用法:
    tail -10 /etc/passwd   查看后10行数据
    tail -f catalina.log   动态查看日志(*****)
    ctrl+c 结束查看

案例:显示hello.txt文件后1行的内容

在这里插入图片描述

案例:动态显示world.txt的内容

使用了-f后光标一直在等待而不会结束,当install.log文件发生变化时会直接将变化的内容显示。

在这里插入图片描述

修改world.txt的内容

在这里插入图片描述

自动显示已更新内容

在这里插入图片描述

七、Vi和vim编辑器

	vi编辑器是所有Unix及[Linux](http://www.2cto.com/os/linux/)系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。
	
	 vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计; 因为程序简单,编辑速度相当快速。 vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。
	 
	vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。
	vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。

vim的用法和vi一样。vim需要安装

vim安装命令:
	yum -y install vim*

1、vi编辑器【记】

在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。

vim和vi

案例:使用vim编辑器修改app/world.txt文件

使用vi打开world.txt,vim界面如下:

在这里插入图片描述

使用vi

在vi中按i键切换到插入模式编写内容
切换到插入模式:按 i 、o、a键;
    i 在当前位置前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
    O 在当前行之前插入一行

使用插入模式编写内容:

在这里插入图片描述

输入完成后需要切换回命令模式对文件进行保存

切换到命令行模式:在vi中按Esc键;

在这里插入图片描述

切换到底行模式:按 :(冒号)
:wq保存并退出
:q!不保存退出

在这里插入图片描述

2、ps系统管理命令

ps命令是用来管理linux系统中的进程。

ps 正在运行的某个进程的状态
ps –ef  查看所有进程
ps –ef | grep redis 查找某一进程
kill 2868  杀掉2868编号的进程
kill -9 2868  强制杀死进程

案例:搜索名为hald的进程

hald进程是linux的系统进程,用来加载计算机硬件的驱动。

在这里插入图片描述

案例:强制杀死编号为5821的进程

在这里插入图片描述

八、配置静态ip

修改ip前需要知道自己的网卡名称是什么

在这里插入图片描述

通过查看ip命令得知网卡名称为ens33

修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改如下内容
bootproto=static
在最后加上几行,IP地址、子网掩码、网关、dns服务器
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.2  #在vm中网关地址是2
DNS1=192.168.1.2
DNS2=192.168.1.2

在这里插入图片描述

重启网络服务

systemctl restart network

测试外网

ping www.baidu.com

九、tar打包与解压命令【记】

​ tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

常用参数:
	-c:创建一个新tar文件
	-v:显示运行过程的信息
	-f:指定文件名
	-z:调用gzip压缩命令进行压缩
	-t:查看压缩文件的内容
	-x:解开tar文件

1、打包

打包:
	tar –cvf xxx.tar 要打包的文件
打包并且压缩:
	tar –zcvf xxx.tar.gz 要压缩的文件

案例:将app目录打包

在这里插入图片描述

案例:将microboom目录打包并压缩

在这里插入图片描述

2、解压

解压 
   tar –xvf xxx.tar  解压到当前目录中
   tar -zxvf xxx.tar.gz -C /usr/aaa 解压到user/aaa目录中

案例:将app.tar.gz解压到woniu目录

在这里插入图片描述

-C表示要将解压结果存放到哪个目录中

十、Linux软件安装

安装分类

linux中的软件有两种安装方式:源码包安装、rpm(二进制包)安装

  • 源码包安装:

    特点:由于安装的是源码包,所以要先编译再安装。

​ 注意:由于是源码包,里面都是源码,所以可以修改。有时候我们会看到一种包叫脚本包,也是源码包的一种。

  • rpm(二进制包)安装

    ​ 特点:由于是经过了编译,所以直接安装。

    ​ 注意:由于编译过了所以不能修改源代码。有时候我们会使用yum在线安装,yum在线安装属性rpm安装的一种。

十一、Linux安装MySql

1、yum在线安装mysql

a、第一步:查看mysql是否安装

rpm -qa|grep mysql

b、第二步:卸载旧版mysql

如果mysql的版本不是想要的版本。需要把mysql卸载

[root@localhost ~]# yum remove mysql mysql-server mysql-libs mysql-common   
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# rm /etc/my.cnf

c、上传mysql的yum源

在这里插入图片描述

d、安装yum源和mysql

安装yum源

yum localinstall mysql80-community-release-el7-7.noarch.rpm

安装mysql

yum -y install mysql-community-server

e、启动mysql

systemctl start mysqld.service

当安装一个服务软件时,默认是把服务启动文件放在 /etc/init.d/里面,新版mysql在该目录中没有启动文件
systemctl start mysqld.service 启动mysql
systemctl restart mysqld.service 重启mysql
systemctl status mysqld.service 查看msyql状态
systemctl stop mysqld.service 停止mysql

mysqld为mysql默认的服务名称。在linux中mysql的配置文件在/etc/my.cnf 中

f、查看mysql随机密码

cat /var/log/mysqld.log | grep password

在这里插入图片描述

g、用随机密码登录mysql

mysql -uroot -p

h、修改root管理员的密码

​ 使用随机密码登录到msyql后输入mysql的修入密码命令

//1、先按mysql密码策略修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root_123R';

//修改mysql密码复杂性策略
set global validate_password.policy=0;
//设置最低密码长度为1
set global validate_password.length=1;

//再将密码修改为自己想要的
alter user 'root'@'localhost' identified by '123456';

2、开启mysql远程访问权限

//1、进入到mysql数据库,修改该库下user表的host列
update user set host='%' where user='root';
//2、执行两次下面的命令
grant all privileges on test.* to 'root'@'%';
//刷新数据库配置
flush privileges;

在这里插入图片描述

3、关闭linux防火墙

//临时关闭防火墙,系统重启后无效
systemctl stop  firewalld.service  

在这里插入图片描述

4、远程连接错误解决

如果使用mysql客户端连接linux上的mysql可能会报如下错误,该错误是因为mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

在这里插入图片描述

解决步骤:
 //进入到mysql数据库
  use mysql;
//更改加密方式
 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
 //修改密码
 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 
//刷新数据库配置
flush privileges;

十二、脚本安装jdk(使用jdk压缩包方式)

1、上传jdk到linux

在linux中软件一般安装到/usr/local目录中

在这里插入图片描述

2、将jdk解压

解压命令:
tar -zxvf jdk-8u301-linux-x64.tar.gz

在这里插入图片描述

将解压后的jdk改名为jdk8

mv jdk1.8.0_301 jdk8

在这里插入图片描述

3、配置jdk环境变量

注意JAVA_HOME换成自己的地址

使用vi打开/etc/profile
在末尾行添加
	#set java environment
	JAVA_HOME=/ding/jdk1.8
	CLASSPATH=.:$JAVA_HOME/lib.tools.jar
	PATH=$JAVA_HOME/bin:$PATH
	export JAVA_HOME CLASSPATH PATH
保存退出

在这里插入图片描述

重新加载环境变量

source /etc/profile

查看jdk版本

java -version

在这里插入图片描述

十三、脚本安装tomcat

1、下载tomcat

​ tomcat官网:https://tomcat.apache.org/

在这里插入图片描述

2、上传tomcat到Linux

将下载的tomcat上传到linux的并解压

3、运行tomcat

启动tomcat之前要先关闭防火墙

找到tomcat安装目录下的:tomcat8/bin/startup.sh

在这里插入图片描述

启动tomcat

./表示当前目录下

在这里插入图片描述

访问

在这里插入图片描述

十四、关闭Linux防火墙相关命令

  • 查看防火墙状态

    systemctl status firewalld.service  绿的running表示防火墙开启
    
  • 关闭防火墙

    systemctl stop firewalld.service
    
  • 开机禁用防火墙

    systemctl disable firewalld.service
    
  • 启动防火墙

    systemctl start firewalld.service
    
  • 防火墙随系统启动

    systemctl enable firewalld.service
    

1、在防火墙中开启指定端口

在实际的使用中不会将防火墙关闭,而是配置防火墙的放行

contos7的防火墙配置文件为:vi /etc/init.d/firewall

修改/etc/init.d/firewall 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  //开放80端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  //开放22端口

配置完成后输入:/etc/init.d/firewall restar 重启防火墙

十五、部署项目到Linux

 部署前先将项目所需的数据库添加到linux的mysql中

1、部署jar包到linux

  • 修改项目pom文件

    将打包方式改为jar

    在pom中添加springboot插件

      <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>1.4.2.RELEASE</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
            </plugins>
        </build>
    
  • 将项目打包后上传到linux

​ 上传成功后切换到jar包所在的目录,执行:java -jar 项目jar包名称

​ 查看实时日志
​ tail -f catalina.out

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动力节点王鹤SpringBoot3学习笔记——第五章 说说Web服务

目录 第五章 说说Web服务 5.1 高效构建Web应用 5.1.1 html页面视图 5.1.2 JSON视图 5.1.3 给项目加favicon 5.2 Spring MVC 5.2.1 控制器Controller 5.2.1.1 匹配请求路径到控制器方法 5.2.1.2 RequestMapping 5.2.1.3 控制器方法参数类型与可用返回值类型 5…

HashMap底层数据结构

TreeMap TreeMap的底层是红黑树&#xff0c;是自平衡的二叉查找树。 在查找元素时会从左子树或右子树查找&#xff0c;和元素一个一个进行比较&#xff0c;对于大数量的查找的场景TreeMap不适合&#xff08;HashMap解决了这个问题&#xff09;。 TreeMap的好处&#xff0c;是…

隐私计算 FATE - 多分类神经网络算法测试

一、说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练&#xff0c;并使用该模型对数据进行 多分类预测。 二分类算法&#xff1a;是指待预测的 label 标签的取值只有两种&#xff1b;直白来讲就是每个实例的可能类别只有两种 (0 或者 1)&…

两个数组的交集(力扣刷题)

给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/intersection-of-two-arrays 说…

人大女王金融硕士——站在一个更高的起点,拓宽自己的眼界

俗话说&#xff1a;“视野所及&#xff0c;心之所止”。做任何事情&#xff0c;最重要的是眼光。眼界不一样&#xff0c;就会有不一样的人生。站得更高才能看得更远&#xff0c;看得更远才能收获更多。人民大学与加拿大女王大学金融硕士项目为我们提供在职读研平台&#xff0c;…

Python机器学习:最大熵模型

信息论里&#xff0c;熵是可以度量随机变量的不确定性的&#xff0c;已经证明的&#xff1a;当随机变量呈均匀分布的时候&#xff0c;熵值最大&#xff0c;一个有序的系统有着较小的熵值&#xff0c;无序系统的熵值则较大。 机器学习里面&#xff0c;最大熵原理假设&#xff1…

【HAL库】HAL库STM32cubemx快速使用

文章目录整体框图一、基础工程1 新建工程2 配置RCC3 配置SYS4 工程设置5 生成代码6 keil设置下载&复位二、必备外设1 目录规范2 LED2 RTC3 USART4 KEY三、其他外设1 OLED&#xff08;模拟IIC、模拟SPI&#xff09;2 BH1750光强检测3 MQ2烟雾检测3 MQ4甲醛检测4 DHT11温湿度…

基于蓄电池进行调峰和频率调节研究【超线性增益的联合优化】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。⛳座右铭&#…

第04章_运算符

第04章_运算符 &#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目前在某公…

该不该放弃嵌入式,单片机这条路?

本文几乎浓缩了我从业10几年的精华&#xff0c;内容涵盖我转行、打工、创业的经历。 建议从头到尾不要错过一字一句&#xff0c;因为字里行间的经验之谈&#xff0c;或许能成为你人生重要转折点。 全文3700多字&#xff0c;写了6个多小时&#xff0c;如果你赶时间&#xff0c;建…

【17】核心易中期刊推荐——深度学习 | 遥感图像处理

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

【学会这几个VSCode插件,让你的Python代码更优秀】

VSCode&#xff08;Visual Studio Code&#xff09;是由微软研发的一款免费、开源的跨平台文本&#xff08;代码&#xff09;编辑器&#xff0c;一般主要用于轻量级的编程代码工作&#xff0c;就非常适合Python&#xff0c;同时在前端开发方面也有举足轻重的地位。但如果想用于…

蓝桥杯集训·每日一题Week3

Trie AcWing 835. Trie字符串统计&#xff08;算法基础课&#xff09; 思路&#xff1a; Trie是一种高效地存储和查找字符串集合的数据结构,适用于字符串不太复杂的情况。其形状是一个以0为根节点的树&#xff0c;查询和插入的效率都比较高&#xff0c;有插入和查询两种操作。…

制造业的寒冬真的要来了吗?

制造业的寒冬真的要来了吗&#xff1f;其实当前&#xff0c;我国制造业发展水平是处于全球第三阵列&#xff0c;排名第四的&#xff1a; 但能处第三序列靠前&#xff0c;还是因为“规模发展”起了重要支撑——依靠规模拉动发展。所以如果从“质量效益”、“结构优化”、“持续发…

【AI探索】我问了ChatGPT几个终极问题

终于尝试了一把ChatGPT的强大之处&#xff0c;问了一下关心的几个问题&#xff1a; chatGPT现在在思考吗&#xff1f;有没有什么你感兴趣的问题&#xff1f; 你认为AI会对人类产生哪些方面的影响&#xff1f; 你对人类所涉及到的学科有了解吗&#xff1f;你认为在哪些方面与人类…

JetPack Compose之Modifier修饰符

前言 在Compose中&#xff0c;每一个组件都是带有Compose注解的函数&#xff0c;被称为Composable。Compose已经预置了很多的Compose UI组件&#xff0c;这些组件都是基于Material Design规范设计的&#xff0c;例如Button&#xff0c;TextField&#xff0c;TopAPPBar等。在布…

IOC、AOP、和javca面试题

一、 1、控制反转&#xff08;IOC&#xff09; 将创建管理对象的工作交给容器来做。在容器初始化&#xff08;或在某个时间节点&#xff09;通过反射机制创建好对象&#xff0c;在使用时直接从容器中获取。 控制反转&#xff1a;将对象的控制权反过来交给容器管理。 IOC实现…

既然有http 请求,为什么还要用rpc调用?

先弄明白什么是RPC。 RPC&#xff08;Remote Procedure Call&#xff09;—远程过程调用&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在&#xff0c;如TCP或UDP&#xff0c;为通信程序之…

【面试】Java并发编程面试题

文章目录基础知识为什么要使用并发编程多线程应用场景并发编程有什么缺点并发编程三个必要因素是什么&#xff1f;在 Java 程序中怎么保证多线程的运行安全&#xff1f;并行和并发有什么区别&#xff1f;什么是多线程多线程的好处多线程的劣势&#xff1a;线程和进程区别什么是…

基于java+ssm+vue病人跟踪治疗信息管理系统的搭建及源码

源码获取方式见文末 一.需求简介 病人治疗信息管理系统采用B/S模式&#xff0c;实现安全、快捷、高效的病人跟踪治疗信息管理。传统手工管理模式效率低下&#xff0c;已无法满足病人需求。 信息化时代的到来&#xff0c;使得开发病人跟踪治疗信息管理系统成为必然。 本系统采…