首页
AI
爬虫
嵌入式开发
C语言入门视频教程
模电数电
51/52单片机
STM32
Linux嵌入式
文学修养
生活哲理
感动和励志文字
随手乱写
IT计算机
QT学习之路
网站搭建
微信开发
数据库设计
Java
计算机知识
Web程序设计
编程语言
NCRE全国计算机等级考试
关于我们
广告招租
表白网页制作
搜索
登录
搜索
RainFly
明确一个目标,这很重要!
累计撰写
196
篇文章
累计收到
4775
条评论
首页
栏目
首页
AI
爬虫
嵌入式开发
C语言入门视频教程
模电数电
51/52单片机
STM32
Linux嵌入式
文学修养
生活哲理
感动和励志文字
随手乱写
IT计算机
QT学习之路
网站搭建
微信开发
数据库设计
Java
计算机知识
Web程序设计
编程语言
NCRE全国计算机等级考试
关于我们
广告招租
表白网页制作
会声会影X9
会声会影X9
会声会影X9
推荐
谈谈mysql和oracle的使用感受 -- 差异
最新文章
2025-8-28
Tiktok自动刷直播爬榜工具
一、数据展示 爬取近两天的数据情况(拉美地区) 二、数据接口 自动完成数据抓取、分析、查验。
2025年-8月-28日
60 阅读
1 评论
爬虫
2024-1-3
Navicat Premium 12 绿色免激活版本(附上下载链接)
简介:Navicat Premium是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。Navicat Premium与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。你可以快速轻松地创建、管理和维护数据库。
2024年-1月-3日
2618 阅读
1 评论
软件分享
2024-1-3
阿里巴巴Java 开发手册嵩山版,每个程序员都应该熟读百遍(附下载链接)
阿里巴巴Java开发手册是由阿里巴巴集团编写的一份规范文档,旨在提供一套统一的编码规范和最佳实践,以帮助Java开发人员提高代码质量和开发效率。 阿里巴巴Java开发手册嵩山版包含了丰富的内容,涵盖了Java语言的各个方面,例如命名规范、代码格式、注释规范、异常处理、并发编程、数据库访问等。每一条规范都是由阿里巴巴团队经过实践总结得出的,具有较高的权威性和参考价值。 为什么说每个程序员都应该熟读百遍呢? 首先,阅读阿里巴巴Java开发手册可以帮助我们更好地理解Java编码规范和最佳实践,提高我们自己的编码能力。通过遵循规范,我们可以编写出更加规范、清晰、易读的代码,减少因代码质量不佳而引发的问题和bug。 其次,阿里巴巴Java开发手册嵩山版是由阿里巴巴集团编写的,代表着业界的标准和经验。阿里巴巴作为中国最大的互联网公司之一,具有丰富的技术积累和实践经验。阅读阿里巴巴Java开发手册可以借鉴他们在项目开发中遇到的问题和解决方案,提升我们的开发水平和问题解决能力。 阿里巴巴Java开发手册嵩山版是一本不断更新的文档。随着Java技术的发展和变化,编码规范和最佳实践也在不断演进。每隔一段时间,阿里巴巴都会发布新的版本,更新其中的内容。因此,多次阅读可以使我们及时了解到最新的编码规范和最佳实践,保持自己的知识与时俱进。 综上所述,阿里巴巴Java开发手册嵩山版对于每个Java程序员来说,是一本必读的参考书。通过反复阅读和实践,我们可以提高自己的编码能力和开发水平,写出更加高质量的代码。 来源:阿里云盘 | 大小:MB | 提取密码: | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。 若链接失效可联系管理员!
2024年-1月-3日
1572 阅读
0 评论
Java
2025-8-29
IPC层次化权重匹配方案
一、IPC层次化权重匹配方案完整流程 数据预处理与存储阶段 1.1 IPC代码解析 输入: H01M10/42(电池管理系统) ↓ 分解: 部分(Section): H 大类(Class): H01 小类(Subclass): H01M 主组(Main Group): H01M10 子组(Full Code): H01M10/42 描述: 电池管理系统 1...
2025年-8月-29日
34 阅读
0 评论
AI
2024-1-5
PL/SQL使用教程及注意事项(附上破解版下载地址+汉化包)
1. 下载 PL/SQL 工具 2.解压并安装对应工具 3. 注册激活工具 (利用附件中的汉化工具) 4.新增链接实例 5. 设置编辑器显示字体,为了看起来舒服点。 7. 相关工具使用 来源:阿里云盘 | 大小:MB | 提取密码:if54 | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。 若链接失效可联系管理员!
2024年-1月-5日
1662 阅读
1 评论
未分类
2024-1-5
谈谈mysql和oracle的使用感受 -- 差异
之前一直使用mysql作为存储数据库,虽然中间偶尔使用sqlite作为本地数据库存储,hive作为简单查询工具,maxcompute作为大数据查询服务等等,但没有感觉多少差别。事实上,我们往往听说SQL-92标准之类的云云! 后来遇上了oracle,且以其作为主要存储,这下就不得不好好了解其东西了。oracle作为商业数据库里的佼佼者,肯定有其过人之处的。oracle与mysql同样是sql类数据库,大体上是差不多的,我是指crud大体流程。 但细节总是不一样的,尤其是有些老梗值得一提。本文从使用者的角度来说说感受,希望可以帮助大家快速了解其大致差异以提供一份简单避坑手册,并无其他意思哟。(理解上也并不深入) 1. 自增主键 mysql中要使用自增主键非常方便,只需要在建表时增加 auto_increment 关键字即可,样例如下: create table tb1 (id int(11) unsigned not null auto_increment); 而在oracle中则不一样了,它需要使用另一个概念:序列号;我们可以简单将其理解为只有一个列的表,这个表提供了 nextval 的方法,辅助我们生成自增id,样例如下: -- 1. 建普通表 create table tb1(id number not null); -- 2. 创建序列,参数比较多,自行查阅资料 create sequence seq_tb1 increment by 1 start with 1 minvalue 1 maxvalue 999999999 -- 3. 插入使用 insert into tb1 (id) values (seq_tb1.nextval) 可以看到,oracle的操作明显多了许多。当然了,自增这个属性,在许多数据库中确实也是不提供的,尤其是分布式数据库递增更难做。所以,要支持这功能,绕路也就在所难免了。 2. 创建索引 索引的目的自然是为了提高查询效率,mysql中想要添加索引可以在建表时操作,也可以在后期更改;样例如下: -- 1. 建表时指定 create table tb1 (username varchar(50), index username (username)); -- 2. 后期更改 alter table tb1 add index username (usrrname); 而在oracle中则不一样,它只能在建表完成之后操作;样例如下: CREATE INDEX tb1_username ON tb1(username); 看起来差异不大,但oracle的索引是全局的,即所有表的索引名都不能重复,比如大家都有id索引,但却不能都叫id。另外,oracle建表时,无法做到一步到位。实际上需要n步:建表sql + n个注释sql + 主键sql + n个索引sql + 建序列号sql + 。。。 总之,会让你醉了! 3. 字段表注释 我们建一张表时,肯定都需要注释的,否则过两天连我们自己都不认识其含义了。mysql中在建表或增加字段时直接指定,样例如下: -- 1. 建表时指定 create table tb1(username varchar(50) comment '用户名标识') comment '测试建表'; -- 2. 修改表结构时指定 alter table tb1 add column nickname varchar (100) '昵称'; 而oracle中则不太一样,它只能在建表之后和创建字段之后才能进行注释;样例如下: -- 表注释 comment on table tb1 is '测试建表'; -- 字段注释 comment on tb1.username is '用户名称标识'; -- 删除表注释,置空 -- 删除列注释,置空 我不是说它这设计不好,但是就感觉太烦了。 4. 分页实现 分页一般用于列表数据多页显示,或取总数中的几条数据使用。mysql中的分页,使用limit,这也是大多数数据库的选择,样例如下: select username from tb1 limit 50, 100; 而在oracle中则不太一样,它使用行号去定位记录,一般需要使用嵌套子查询;样例如下: select * from (select t.*,rownum num from tb1 t where rownum<=100 ) where num>50 性能比limit怎么样我不清楚,反正是写得挺烦的。 5. 查询执行计划 查询执行计划,可以看出哪些语句是需要优化的,这个工作实际上还是比较专业的。但如果想简单看看情况,mysql中可以这样做: explain select * from tb1 where username='xx' order by id limit 10; 而oracle中要查看执行计划,则需要借助工具或者自己写,样例如下: -- 1. 执行查询执行计划语句 explain plan for select * from tb1 where username='xx'; -- 2. 查看执行计划结果 select * from table(dbms_xplan.display()); oracle还有其他许多种查看执行计划的方式,就不列举了。也没啥好坏之分,能查看就行。 6. 客户端可视化工具 这个简单说说,mysql有很多工具,sqlyog,navicat,mysqlworkbench。。。 oracle也有很多,plsql,navicat。。。 而具体操作上的差异则根据客户端工具的差异来,无可厚非。 7. 对超长文本的处理 mysql中对超长文本使用text和longtext类型进行处理,和其他字段并没有太多差别(不能建有效索引除外) 而oracle中则使用CLOB类型进行存储超长字符,但它有许多限制,普通查询无法显示clob,分号限制等等。但它可以容纳上G的数据。 可能更多需要考虑存储结构异样等问题吧! 8. 日期字段查询 都支持date,timestamp等日期数据类型。 mysql支持直接使用字符串日期进行条件过滤,默认格式为:yyyy-MM-dd HH:ii:ss 比如: select * from tb1 where dt>'2020-09-13 12:15:01'; 而oracle则要求严格些,要求必须都是日期老式string格式才能比较; select * from tb1 where dt>to_date('2020-09-13 12:15:01', 'yyyy-MM-dd hi24:mi:ss'); 虽然加这么个格式东西也不复杂,但总感觉不爽。毕竟,90%以上情况,我只要这种格式能查就行,多让写这么多字符串,简直是罪过啊。。。 9. 修改字段类型 有时候表字段用着用着就跑偏了,需要换一种存储类型,所以改数据类型。mysql中修改字段类型,直接改就好,但有可能失败。 alter table tb1 change column f1_old f1_new int(11) comment 'xxx'; 而oracle中则分情况处理,空字段直接改,不允许修改有值字段类型,如果硬要改那就相当麻烦,如下: -- 空字段类型修改,可任意修改 alter table tb1 modify (f1_old number); -- 非空字段类型修改,分类型匹配与不匹配情况 -- 如果类型匹配,可直接改,如nchar(20) -> nvarchar(20) -- 否则不允许修改,只能主动新建字段替换回来,关键是不一定能成功 alter table tb1 rename column name to name_tmp; /*增加一个和原字段名同名的字段name*/ alter table tb1 add name varchar2(40); /*将原字段name_tmp数据更新到增加的字段name,可算可能失败*/ update tb1 set name=trim(name_tmp); /*更新完,删除原字段name_tmp*/ alter table tb1 drop column name_tmp; 很显然,oracle的做法更严谨,不允许更改字段名称,改类型必须保证正确;哎,但总感觉不爽; 10. group by 聚合 group by可以按照某字段去重一些数据,并按需要聚合数据,mysql与oracle都差不多,差别点在于oracle不允许返回group by外的其他字段(或者说不能准确描述的字段),而mysql则会随机返回一个group by的字段值。mysql如下: select username, avg(score), grade from tb1 group by grade; oracle中则要求必须确定某值: select max(username), avg(score), grade from tb1 group by grade; 看起来oracle是更严谨一些的。 11. 分区表创建 分区表的目的,在于提高查询速度和方便隔离管理。 mysql 创建分区表,Mysql不能自动创建分区,且要求分区字段必须是主键的一部分,如果想自动创建分区,需要使用mysql event事件的方式自动创建分区. 样例如下: create table tb1 ( id int(11), day datetime not null prmary key (id, day) ) PARTITION BY RANGE (TO_SECONDS(day)) (PARTITION p20200912 VALUES LESS THAN (TO_SECONDS('20200912')) ENGINE = InnoDB, PARTITION p20200913 VALUES LESS THAN (TO_SECONDS('20200913')) ENGINE = InnoDB); oracle 中创建分区表 create table tb1 ( id NUMBER(20) not null, create_time DATE ) PARTITION BY RANGE (CREATE_TIME) INTERVAL (NUMTODSINTERVAL(1, 'day')) (partition part_t01 values less than(to_date('2020-09-12', 'yyyy-mm-dd'))); 明显 oracle 支持得更好些呢。 12. with as 用法 在做一些大型数据数据分析sql时,with as sql 非常有用,在mysql低版本中是不支持的,只能自己写临时表进行处理。 而oracle则支持该通用语法: with a as ( select * from tb1 where dt = '20200912' ), b as ( select * from tb2 where dt = '20200912' ) select a.id aid, b.id bid from a join b on a.pid = b.id; 13. 事务支持 在rdb中,通常事务是指对一批操作的原子性,一致性,隔离性,持久性的体现(ACID)。大体上mysql与oracle表现是一致的。 mysql是分存储引擎,如innodb,myisam,每个引擎的事务支持能力不同,原则不同,锁实现不同,如innodb锁行,而myisam 锁表等。 oracle 中在建表时就可以指定事务槽数 -- 建表时指定事务槽数 create table t3 (id int, num int ) INITRANS 6; -- 创建索引时指定事务槽数 create unique index tb1_username_idx on tb1 (username) initrans 6; 14. 进程信息查询 查询正在运行的任务情况,可用于查询慢查询的利器。 mysql 中 直接使用 show full processlist 即可;但带条件的查询需要查表: show full processlist; select * from information_schema.`PROCESSLIST` where duration > 5; oracle 进程信息: SELECT b.sid oracleID, b.username Oracle用户, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名 FROM v$process a, v$session b, v$sqlarea c WHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value; 反正我是记不住这么长的sql的。 15. 数据同步 mysql 中使用 binlog 可以方便的将数据同步到其他地方; oracle, 好像很复杂的样子, 待研究。 16. 其他 实际上还有其他许多差别,比如查看表结构:mysql中只需show create table tb1,面oracle中则是select dbms_metadata.get_ddl(table, 'tb1') from dual; Oracle 某些场合大小写敏感,单双引号含义不一致等等。 张三总是不等于李四的,我们允许不一样的声音,哈哈 。。。 最后,给几个出乎意料的oracle 空判定样例,供君娱乐: -- 以下都不会返回true select 1 null_judge from dual where '' is not null and '' != '' select 1 null_judge from dual where 'abc' is not null and 'abc' != '' select 1 null_judge from dual where '' is not null -- 以下都会返回true select 1 null_judge from dual where '' is null select 1 null_judge from dual where null is null
2024年-1月-5日
1448 阅读
0 评论
数据库设计
2024-1-4
Oracle 安装与使用(一)
1。打开网盘下载以下资料:按照【Oracle 经典教程】进行安装 Oarcel 文档 2. 安装完成后打开配置工具进行配置。 配置连接出错, Oracle错误:ORA-12541 TNS无监听程序 - MySQL 要注意的时: 服务已经启动了 (检查服务启动方法) lsnrctl status 参考地址 https://blog.csdn.net/JfpBlockchain/article/details/133619697 最终发现是,地址配置错误的问题 配置成localhost 本地 D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN ORA-12541: TNSno listener 连接报错 修改为配置localhost 则 navicat 12 正常连接 来源:https://www.alipan.com/s/mYZFSgzfqV6 | 大小:MB | 提取密码: | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。 若链接失效可联系管理员!
2024年-1月-4日
1327 阅读
0 评论
数据库设计
2022-7-30
联想拯救者R720安装黑苹果
联想拯救者R720安装黑苹果 CPU 核心显卡 Intel HD Graphics 630 2048 MB 独立显卡1050TI 蓝牙 声卡(支持HDMI音频输...
2022年-7月-30日
4868 阅读
2 评论
计算机知识
2022-7-25
升级IDEA后Lombok失效
搜索一番,是由于IDEA版本导致的Lombok失效,不过这个问题后来解决了。 所以,我们只需要更新lombok版本,使用1.18.14及之后的版本即可: <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.14</version> <scope>provided</scope> </dependency> IDEA 插件 正常安装,需要升级 Lombok 版本 参考 链接: https://blog.csdn.net/chinaherolts2008/article/details/118711313
2022年-7月-25日
2531 阅读
1 评论
Java
2022-6-16
你们公司的 CTO(技术总监)平时都在做些什么?
一. 创业初期 在创业初期,我是那个亲手做东西的人,而且全面负责,从理论到实现,从加工到调试,什么要做做什么,什么不会学什么。第一代原型机就是在我手上诞生的。那时候我非常兴奋,每天睡4-6个小时,不用闹钟,是兴奋醒的。 我既是技术副总,又是技术总监,又是部门主管,又是一线员工。 二. 小团队 后来,招了几个人,就有了分工。 我给结构工程师讲了我的想法,让他去实现,他画好了给我看,我定稿。 告诉电路工程师仪器原理,让他改进我的电路,我帮他把关。 告诉软件工程师我想要什么样的功能,我设计构架,他来写软件。 告诉算法工程师我想实现什么效果,他实现了之后问我是不是这样的。 告诉调试工程师如何去调试,因为我最懂原理。 告诉应用工程师客户的需求,让他去尝试方法。 这个阶段,面临的是切割工作接口、协调分工合作、解决工作之间的冲突。 我的做法是民主集中,讨论畅所欲言,结束我来拍板。 这个阶段,一些工程师总是喜欢在我的设计上挑毛病。当然,只要他是想着把事情做好,这个我是包容的,就怕有的二逼在那里砸锅。记得有个FPGA工程师,我给他讲思路,他从一开始就怀着一种挑战对抗心理,以找我的毛病为工作目标。甚至在私下说我不懂瞎指挥。好,砸锅?那显然不是我们队伍里的人,我们之间无缘,你去挑战下一任雇主吧。 总之,那个阶段,我带领他们去完成我大脑中勾勒的那个蓝图。革命尚未成功,同志们去完成我所没有完成的那部分工作。 这样。第一代研发样机就做出来了。样机比原型机要好很多了,既稳定又漂亮,毕竟是专业的人做的专业的事。 这个阶段,我既是技术副总,又是技术总监,又是部门主管。参与和指导一线工作,但是不再负责一线工作,我褪掉了「一线员工」这个角色。 我的工作理念开始从管好自己向管好他人转变。主要工作就是想好做什么、做好规划、带领大家奔着一个目标努力。当然少不了还是要在一线指导。 这个阶段我睡的更少,既要靠激情、责任,还要靠闹钟。 三. 分级 再后来,队伍又大起来了,有了20多个人。 基本上每个岗位有几个人了。 这个时候的研发工作基于样机了,我亲手做的那台丑陋的原型机已经被放到了展厅。经过第二阶段,熟悉样机的人已经有好几个人了,而我却不能熟悉到每个细节,我把那些有组织能力而且技术水平较高的人提拔为部门主管。 这个时候,我不再去参与每一个细节(太多了顾不过来),基本上就是开会和追进度,不去一线战斗了。只有遇到原理的问题,部门主管才来找我探讨技术问题,找我支招。 我既是技术副总,又技术总监。我又褪掉了「部门主管」的角色。 我这个阶段的工作理念就是物色合适的人来做部门主管,我和他们一起来设计产品,做工作计划,监督实施。 我选拔的人越优秀,我参与具体研发工作就越少。我的计划定的越合理,大家工作的越和谐。 这个时候结构工程师说结构是他设计的,电路工程师说电路是他开发的,软件工程师说软件是他写的,算法工程师说算法是她研究的,调试工程师发现也有很多我解决不了的问题需要他们自己去琢磨……新来的员工感觉,他们的部门主管和老员工比我厉害多了,我对样机都不如他们主管熟悉。他们除了觉得职务上我比他们高外,其他的我啥都不行。甚至在他们眼里,这台仪器的研制我作为技术老大什么都没做。面对这种想法,我很开心,说明我选的主管很优秀,我留下的员工很能干。 在部门主管们的努力下,α版本的仪器出来了!我开始组建测试团队和生产团队,沟通市场团队去做客户试用,和生产团队对接试产。 这个阶段我睡觉更少了,因为要想的事情很多,我的考虑不合适会累死三军,每一步都如履薄冰,我不得不买了厚厚的一摞书,学习科学的管理方法。经常我睡到半夜就醒了,起来点上一根烟,接着工作。 四. 保证流程运转,物色优质人才,做甩手掌柜 经过α版本的试用迭代,产品完善很快,队伍进步也很快,转产流程也走通了,整个工作流程可以完整的运行。 就这样,β版本产品很快出炉! 面对这台仪器,我已经不能像了解我的手一样了解它了。员工们都认为这台仪器不是我做的,是大家集体智慧的结晶。当我感到大家有这种想法的时候,我很高兴,说明大家参与感很强,团队很凝聚。 我物色了一个非常靠谱,而且很机灵的员工,让他做了测试部门的主管。仪器能不能过关,我只问他,他只对我负责。这样我对产品的品质也不用自己亲自去把关了。 我依然担任着技术副总,兼任技术总监的工作,工作理念已经基本转换到管人。等到物色到合适的人,时机合适的时候我再褪去技术总监的角色。 现在,我的工作就是和总经理开会制订年度计划,和产品经理们开会对接需求,和部门主管开会制订工作计划、听汇报,和人事部门主管一起物色优秀人才。顺带作为公司技术负责人带带实习生,在适当的时候给大家鼓鼓劲。 只要工作流程能顺利运转,所有的开发工作都像水一样在各部门流动,最终流出来就是合格的产品。我协调各方保证流通的顺畅,就可以下班回家休息了。 实际上是可以这样的,但是我没有。我还在加班加点,很多时候是看书和想事情,完全是爱好和个人的工作态度。 我越来越多的在想如何能让这个流程更有效、更简洁、更顺畅,还要思考如何让团队更有战斗力,那就是选对合适的人到合适的岗位。 研发工作,好像工程师们普遍觉得我根本就没干,我已然成为公司中可有可无的那个人。无所谓,评价我的不是员工,而是总经理和董事会。 五. 科学化、新挑战 上面是我野路子方式完成从0到1的CTO成长之路,整个过程不是从顶层设计开始的。 通过学习、实践和思考,现在我已经能够从顶层设计去实现一个团队的组建和管理。 于是,去年我受邀加入一家新的初创公司,出任总经理,自己又是0号员工。 从公司成立,我就开始组建团队,采用IPD研发管理模式。新公司,我一开始好像就没有做具体的研发工作,很多新同事认为我什么都不会,就会制定规则、开会和评审,然后就是写写文档、看看手机,以及喝茶和抽烟。 作者:刘皇叔 链接:https://www.zhihu.com/question/264361601/answer/2344457559 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2022年-6月-16日
2577 阅读
0 评论
生活哲理
2019-2-16
Ubuntu14.04如何安装JDK1.7Tomcat7
1.首先先准备好 jdk1.7 linux 和tomcat7的安装包(这里使用的是jdk linux 32位的 文章底部奉上需要的安装包) 2. 将包文件拷贝到用户目录 我这里是 /home/rain/ 3.解压 jdk文件 和tomcat文件 tar -zxvf a***** 4.打开 vim /etc/profile 在最后一行插入下面的数据 #set java environment JAVA_HOME=/home/rain/jdk1.7.0_80 JRE_HOME=/home/rain/jdk1.7.0_80/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH 注意需要将上面的/home/rain/** 目录替换成自己jdk的目录 5. 输入 source /etc/profile 刷新环境变量后 输入 java -version 查看控制台 如果显示当前数据表示jdk已经完成安装了 6.进入解压后的tomcat 目录中 找到bin目录并进入 直接在命令行输入 ./catalina.sh run 如果出现以下的信息表示启动完成了,直接通过浏览器访问 Http:xxx.xxx.xxx.xxx:8080/
2019年-2月-16日
7750 阅读
23 评论
Java
1
2
3