数据持久化技术具体是什么?数据持久化的四种方式有哪些?
数据持久化技术具体是什么?
数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称. 数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。cmp和Hibernate只是对象模型到关系模型之间转换的不同实现。
数据持久化技术是指将应用程序中的数据保存在磁盘或其他存储介质中,以便在应用程序关闭后或系统崩溃时仍能保存数据。这种技术是现代计算机应用程序中不可或缺的一部分,因为它确保了数据的可靠性和完整性,并且使数据在多个应用程序之间共享变得更加容易。
数据持久化技术是现代计算机应用程序中不可或缺的一部分。它涉及将应用程序中的数据保存在磁盘或其他存储介质中,以便在应用程序关闭后或系统崩溃时仍能保存数据。这种技术可以确保数据的可靠性和完整性,并且使数据在多个应用程序之间共享变得更加容易。数据持久化技术还可以提高应用程序的性能和可扩展性。
延伸阅读:
数据持久化技术的优缺点
数据持久化技术有以下优点:
可靠性:数据持久化技术可以确保数据在应用程序关闭或系统崩溃时不会丢失。
完整性:数据持久化技术可以确保数据在存储和检索过程中不会被破坏或篡改。
共享性:数据持久化技术使得多个应用程序可以共享数据,从而提高了应用程序的效率和可扩展性。
数据持久化技术也有以下缺点:
性能:某些数据持久化技术(例如关系型数据库)的性能可能会受到影响,尤其是在处理大量数据时。
复杂性:某些数据持久化技术(例如关系型数据库)的实现和维护可能会很复杂。
成本:某些数据持久化技术(例如关系型数据库)可能需要付出高昂的成本,尤其是在处理大量数据时。

数据持久化的四种方式有哪些?
所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案:
plist文件(属性列表)
preference(偏好设置)
NSKeyedArchiver(归档)
SQLite 3
CoreData
plist文件
plist文件是将某些特定的类,通过XML文件的方式保存在目录中。
可以被序列化的类型只有如下几种:
NSArray;
NSMutableArray;
NSDictionary;
NSMutableDictionary;
NSData;
NSMutableData;
NSString;
NSMutableString;
NSNumber;
NSDate;
1.获得文件路径
NSString*path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObject;
NSString*fileName=[pathstringByAppendingPathComponent:@"123.plist"];
2.存储
NSArray*array=@[@"123",@"456",@"789"];
[arraywriteToFile:fileNameatomically:YES];
3.读取
NSArray*result=[NSArrayarrayWithContentsOfFile:fileName];
NSLog(@"%@",result);
4.注意
只有以上列出的类型才能使用plist文件存储。
存储时使用writeToFile: atomically:方法。 其中atomically表示是否需要先写入一个辅助文件,再把辅助文件拷贝到目标文件地址。这是更安全的写入文件方法,一般都写YES。
读取时使用arrayWithContentsOfFile:方法。
Preference
1.使用方法
//1.获得NSUserDefaults文件
NSUserDefaults*userDefaults=[NSUserDefaultsstandardUserDefaults];
//2.向文件中写入内容
[userDefaultssetObject:@"AAA"forKey:@"a"];
[userDefaultssetBool:YESforKey:@"sex"];
[userDefaultssetInteger:21forKey:@"age"];
//2.1立即同步
[userDefaultssynchronize];
//3.读取文件
NSString*name=[userDefaultsobjectForKey:@"a"];
BOOLsex=[userDefaultsboolForKey:@"sex"];
NSIntegerage=[userDefaultsintegerForKey:@"age"];
NSLog(@"%@,%d,%ld",name,sex,age);
2.注意
偏好设置是专门用来保存应用程序的配置信息的,一般不要在偏好设置中保存其他数据。
如果没有调用synchronize方法,系统会根据I/O情况不定时刻地保存到文件中。所以如果需要立即写入文件的就必须调用synchronize方法。
偏好设置会将所有数据保存到同一个文件中。即preference目录下的一个以此应用包名来命名的plist文件。
NSKeyedArchiver
归档在iOS中是另一种形式的序列化,只要遵循了NSCoding协议的对象都可以通过它实现序列化。由于决大多数支持存储数据的Foundation和Cocoa Touch类都遵循了NSCoding协议,因此,对于大多数类来说,归档相对而言还是比较容易实现的。
1.遵循NSCoding协议
NSCoding协议声明了两个方法,这两个方法都是必须实现的。一个用来说明如何将对象编码到归档中,另一个说明如何进行解档来获取一个新对象。
遵循协议和设置属性
//1.遵循NSCoding协议
@interfacePerson:NSObject//2.设置属性
@property(strong,nonatomic)UIImage*avatar;
@property(copy,nonatomic)NSString*name;
@property(assign,nonatomic)NSIntegerage;
@end
实现协议方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15//解档
-(id)initWithCoder:(NSCoder*)aDecoder{
if([superinit]){
self.avatar=[aDecoderdecodeObjectForKey:@"avatar"];
self.name=[aDecoderdecodeObjectForKey:@"name"];
self.age=[aDecoderdecodeIntegerForKey:@"age"];
}
returnself;
}
//归档
-(void)encodeWithCoder:(NSCoder*)aCoder{
[aCoderencodeObject:self.avatarforKey:@"avatar"];
[aCoderencodeObject:self.nameforKey:@"name"];
[aCoderencodeInteger:self.ageforKey:@"age"];
}
特别注意
如果需要归档的类是某个自定义类的子类时,就需要在归档和解档之前先实现父类的归档和解档方法。即 [super encodeWithCoder:aCoder] 和 [super initWithCoder:aDecoder] 方法;
2.使用
需要把对象归档是调用NSKeyedArchiver的工厂方法 archiveRootObject: toFile: 方法。
NSString*file=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObjectstringByAppendingPathComponent:@"person.data"];
Person*person=[[Personalloc]init];
person.avatar=self.avatarView.image;
person.name=self.nameField.text;
person.age=[self.ageField.textintegerValue];
[NSKeyedArchiverarchiveRootObject:persontoFile:file];
需要从文件中解档对象就调用NSKeyedUnarchiver的一个工厂方法 unarchiveObjectWithFile: 即可。
NSString*file=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObjectstringByAppendingPathComponent:@"person.data"];
Person*person=[NSKeyedUnarchiverunarchiveObjectWithFile:file];
if(person){
self.avatarView.image=person.avatar;
self.nameField.text=person.name;
self.ageField.text=[NSStringstringWithFormat:@"%ld",person.age];
}
3.注意
必须遵循并实现NSCoding协议
保存文件的扩展名可以任意指定
继承时必须先调用父类的归档解档方法
SQLite3
之前的所有存储方法,都是覆盖存储。如果想要增加一条数据就必须把整个文件读出来,然后修改数据后再把整个内容覆盖写入文件。所以它们都不适合存储大量的内容。
1.字段类型
表面上SQLite将数据分为以下几种类型:
integer : 整数
real : 实数(浮点数)
text : 文本字符串
blob : 二进制数据,比如文件,图片之类的
实际上SQLite是无类型的。即不管你在创表时指定的字段类型是什么,存储是依然可以存储任意类型的数据。而且在创表时也可以不指定字段类型。SQLite之所以什么类型就是为了良好的编程规范和方便开发人员交流,所以平时在使用时最好设置正确的字段类型!主键必须设置成integer
2. 准备工作
准备工作就是导入依赖库啦,在iOS中要使用SQLite3,需要添加库文件:libsqlite3.dylib并导入主头文件,这是一个C语言的库,所以直接使用SQLite3还是比较麻烦的。
3.使用
创建数据库并打开
操作数据库之前必须先指定数据库文件和要操作的表,所以使用SQLite3,首先要打开数据库文件,然后指定或创建一张表。
/**
*打开数据库并创建一个表
*/
-(void)openDatabase{
//1.设置文件名
NSString*filename=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObjectstringByAppendingPathComponent:@"person.db"];
//2.打开数据库文件,如果没有会自动创建一个文件
NSIntegerresult=sqlite3_open(filename.UTF8String,&_sqlite3);
if(result==SQLITE_OK){
NSLog(@"打开数据库成功!");
//3.创建一个数据库表
char*errmsg=NULL;
sqlite3_exec(_sqlite3,"CREATETABLEIFNOTEXISTSt_person(idintegerprimarykeyautoincrement,nametext,ageinteger)",NULL,NULL,&errmsg);
if(errmsg){
NSLog(@"错误:%s",errmsg);
}else{
NSLog(@"创表成功!");
}
}else{
NSLog(@"打开数据库失败!");
}
}
执行指令
使用 sqlite3_exec() 方法可以执行任何SQL语句,比如创表、更新、插入和删除操作。但是一般不用它执行查询语句,因为它不会返回查询到的数据。
/**
*往表中插入1000条数据
*/
-(void)insertData{
NSString*nameStr;
NSIntegerage;
for(NSIntegeri=0;i<1000;i++){
nameStr=[NSStringstringWithFormat:@"Bourne-%d",arc4random_uniform(10000)];
age=arc4random_uniform(80)+20;
NSString*sql=[NSStringstringWithFormat:@"INSERTINTOt_person(name,age)VALUES('%@','%ld')",nameStr,age];
char*errmsg=NULL;
sqlite3_exec(_sqlite3,sql.UTF8String,NULL,NULL,&errmsg);
if(errmsg){
NSLog(@"错误:%s",errmsg);
}
}
NSLog(@"插入完毕!");
}
查询指令
前面说过一般不使用 sqlite3_exec() 方法查询数据。因为查询数据必须要获得查询结果,所以查询相对比较麻烦。示例代码如下:
sqlite3_prepare_v2() : 检查sql的合法性
sqlite3_step() : 逐行获取查询结果,不断重复,直到最后一条记录
sqlite3_coloum_xxx() : 获取对应类型的内容,iCol对应的就是SQL语句中字段的顺序,从0开始。根据实际查询字段的属性,使用sqlite3_column_xxx取得对应的内容即可。
sqlite3_finalize() : 释放stmt
/**
*从表中读取数据到数组中
*/
-(void)readData{
NSMutableArray*mArray=[NSMutableArrayarrayWithCapacity:1000];
char*sql="selectname,agefromt_person;";
sqlite3_stmt*stmt;
NSIntegerresult=sqlite3_prepare_v2(_sqlite3,sql,-1,&stmt,NULL);
if(result==SQLITE_OK){
while(sqlite3_step(stmt)==SQLITE_ROW){
char*name=(char*)sqlite3_column_text(stmt,0);
NSIntegerage=sqlite3_column_int(stmt,1);
//创建对象
Person*person=[PersonpersonWithName:[NSStringstringWithUTF8String:name]Age:age];
[mArrayaddObject:person];
}
self.dataList=mArray;
}
sqlite3_finalize(stmt);
}
4.总结
总得来说,SQLite3的使用还是比较麻烦的,因为都是些c语言的函数,理解起来有些困难。不过在一般开发过程中,使用的都是第三方开源库 FMDB,封装了这些基本的c语言方法,使得我们在使用时更加容易理解,提高开发效率。
FMDB
1.简介
FMDB是iOS平台的SQLite数据库框架,它是以OC的方式封装了SQLite的C语言API,它相对于cocoa自带的C语言框架有如下的优点:
使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码
对比苹果自带的Core Data框架,更加轻量级和灵活
提供了多线程安全的数据库操作方法,有效地防止数据混乱
注:FMDB的gitHub地址
2.核心类
FMDB有三个主要的类:
FMDatabase
一个FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句
FMResultSet
使用FMDatabase执行查询后的结果集
FMDatabaseQueue
用于在多线程中执行多个查询或更新,它是线程安全的
3.打开数据库
和c语言框架一样,FMDB通过指定SQLite数据库文件路径来创建FMDatabase对象,但FMDB更加容易理解,使用起来更容易,使用之前一样需要导入sqlite3.dylib。打开数据库方法如下:
NSString*path=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObjectstringByAppendingPathComponent:@"person.db"];
FMDatabase*database=[FMDatabasedatabaseWithPath:path];
if(![databaseopen]){
NSLog(@"数据库打开失败!");
}
值得注意的是,Path的值可以传入以下三种情况:
具体文件路径,如果不存在会自动创建
空字符串@"",会在临时目录创建一个空的数据库,当FMDatabase连接关闭时,数据库文件也被删除
nil,会创建一个内存中临时数据库,当FMDatabase连接关闭时,数据库会被销毁
4.更新
在FMDB中,除查询以外的所有操作,都称为“更新”, 如:create、drop、insert、update、delete等操作,使用executeUpdate:方法执行更新:
//常用方法有以下3种:
-(BOOL)executeUpdate:(NSString*)sql,...
-(BOOL)executeUpdateWithFormat:(NSString*)format,...
-(BOOL)executeUpdate:(NSString*)sqlwithArgumentsInArray:(NSArray*)arguments
//示例
[databaseexecuteUpdate:@"CREATETABLEIFNOTEXISTSt_person(idintegerprimarykeyautoincrement,nametext,ageinteger)"];
//或者
[databaseexecuteUpdate:@"INSERTINTOt_person(name,age)VALUES(?,?)",@"Bourne",[NSNumbernumberWithInt:42]];
5.查询
查询方法也有3种,使用起来相当简单:
-(FMResultSet*)executeQuery:(NSString*)sql,...
-(FMResultSet*)executeQueryWithFormat:(NSString*)format,...
-(FMResultSet*)executeQuery:(NSString*)sqlwithArgumentsInArray:(NSArray*)arguments
查询示例:
//1.执行查询
FMResultSet*result=[databaseexecuteQuery:@"SELECT*FROMt_person"];
//2.遍历结果集
while([resultnext]){
NSString*name=[resultstringForColumn:@"name"];
intage=[resultintForColumn:@"age"];
}
6.线程安全
在 多个线程中同时使用一个FMDatabase实例是不明智的。不要让多个线程分享同一个FMDatabase实例,它无法在多个线程中同时使用。 如果在多个线程中同时使用一个FMDatabase实例,会造成数据混乱等问题。所以,请使用 FMDatabaseQueue,它是线程安全的。以下是使用方法:
创建队列。
FMDatabaseQueue*queue=[FMDatabaseQueuedatabaseQueueWithPath:aPath];
使用队列
[queueinDatabase:^(FMDatabase*database){
[databaseexecuteUpdate:@"INSERTINTOt_person(name,age)VALUES(?,?)",@"Bourne_1",[NSNumbernumberWithInt:1]];
[databaseexecuteUpdate:@"INSERTINTOt_person(name,age)VALUES(?,?)",@"Bourne_2",[NSNumbernumberWithInt:2]];
[databaseexecuteUpdate:@"INSERTINTOt_person(name,age)VALUES(?,?)",@"Bourne_3",[NSNumbernumberWithInt:3]];
FMResultSet*result=[databaseexecuteQuery:@"select*fromt_person"];
while([resultnext]){
}
}];
而且可以轻松地把简单任务包装到事务里:
[queueinTransaction:^(FMDatabase*database,BOOL*rollback){
[databaseexecuteUpdate:@"INSERTINTOt_person(name,age)VALUES(?,?)",@"Bourne_1",[NSNumbernumberWithInt:1]];
[databaseexecuteUpdate:@"INSERTINTOt_person(name,age)VALUES(?,?)",@"Bourne_2",[NSNumbernumberWithInt:2]];
[databaseexecuteUpdate:@"INSERTINTOt_person(name,age)VALUES(?,?)",@"Bourne_3",[NSNumbernumberWithInt:3]];
FMResultSet*result=[databaseexecuteQuery:@"select*fromt_person"];
while([resultnext]){
}
//回滚
*rollback=YES;
}];
FMDatabaseQueue 后台会建立系列化的G-C-D队列,并执行你传给G-C-D队列的块。这意味着 你从多线程同时调用调用方法,GDC也会按它接收的块的顺序来执行。
相关阅读
-
ntfs和fat32具体有什么区别详情?ntfs和...
ntfs和fat32具体有什么区别详情?ntfs和fat32的区别介绍一、支持分区... -
百度搜有惊喜具体是什么意思?百度搜索...
百度搜有惊喜具体是什么意思?在这个夏日大家肯定都听说了百度搜有惊... -
百度网盘下载的文件在哪个位置?百度网...
百度网盘下载的文件在哪个位置?使用百度网盘下载了一些文件以后,很... -
超星学习通网页版学生登录入口?学习通...
超星学习通网页版学生登录入口?学习通是常用的学习工具,可以随时进... -
数据持久化技术具体是什么?数据持久化...
数据持久化技术具体是什么?数据持久化就是将内存中的数据模型转换为... -
生活中常用的办公平台有哪些?微软offic...
生活中常用的办公平台有哪些?一、微软 Office 365微软 Office 3...
精彩推送
-
看热讯:西部矿业: 西部矿业关于全资子...
西部矿业:西部矿业关于全资子公司取得采矿许可证的公告 -
曹县植妙语木艺有限公司成立 注册资本1...
天眼查App显示,近日,曹县植妙语木艺有限公司成立,法定代表人为王海 -
“2026中国民营企业500强”发布-焦点消息
9月22日,全国工商联在天津发布“2026中国民营企业500强”。结果显... -
热点聚焦:商业航天概念板块业绩分化 ...
【商业航天概念板块业绩分化配套环节率先兑现】9月中旬,商业航天领域 -
9月21日科创新材料ETF汇添富基金份额减...
证券之星消息,9月21日,科创新材料ETF汇添富基金(589180)最新份额为 -
腾盛博药-B(02137)因受限制股份单位获归...
,智通财经 -
【新要闻】一品红: 关于全资子公司获得...
一品红:关于全资子公司获得复方聚乙二醇(3350)电解质口服溶液注册证 -
中超官方第21轮最佳候选:于金永、韦世...
中超官方第21轮最佳候选:于金永、韦世豪、张稀哲在列,中超,韦世豪,张 -
前沿资讯!金秋旅游 梨王争霸
9月21日,来自天津市蓟州区罗庄子镇桑园村的种植户刘国杰展示获得一等 -
富创精密:随着南通、北京等基地产能释...
,证券时报网 -
每日视点!央行:8月两市日均成交额22414...
央行数据显示,2026年8月末,上证指数收于3986 3点,环比上升4 0%;深 -
正泰电器(601877.SH)2026年半年度权益分...
格隆汇9月21日丨正泰电器公布2026年半年度权益分派实施公告,公司拟以 -
笑死!威廉不理他爹,查尔斯找儿媳救场...
笑死!威廉不理他爹,查尔斯找儿媳救场,凯特:这家没我铁定散!,凯特, -
中足联:建议女足俱乐部名称规范为“行...
中足联:建议女足俱乐部名称规范为“行政区划+字号+女足(职业)足... -
消费建材盈利触底反弹在即 供给出清 ...
CFi CN讯:数据显示,近期消费建材板块股价明显调整,7-8月受高温多雨 -
「安客」上线,AI获客进入“转化后半程”
企业可能从未像今天这样,拥有这么多“找客户”的工具——搜索、短... -
东博会搭建跨境AI合作广阔平台 焦点播报
从产品亮相、技术对接到应用落地,AI已成为中国—东盟数字合作的重... -
弗罗西诺内主帅:球队风格明确;为入选...
弗罗西诺内主帅:球队风格明确;为入选国家队的球员感到高兴,科莫,大图 -
热消息:雄安新区金融监管分局关于李勇...
2026年09月15日,雄安新区金融监管分局关于李勇中国邮政储蓄银行股份有 -
罗永浩或许不知道,野人先生21点后半价_焦点
这场争议真正的焦点不是“好不好吃”,而是“值不值28元”。罗永浩... -
大理市朗润通讯设备经营部(个体工商户...
天眼查App显示,近日,大理市朗润通讯设备经营部(个体工商户)成立, -
观天下!郭希宽去世,许敏首发千字长文...
郭希宽去世,许敏首发千字长文:错换真相还没搞清,还会继续坚持查下去 -
海上油田怎样持续“开挂”? 最新消息
海上油田怎样持续“开挂”?,9月10日,渤中19-4油田作业现场热火朝... -
生意社:9月21日中石化华南二甲苯挂牌价...
9月21日中石化华南公司二甲苯挂牌价格执行8750元 吨。近期甲苯、二甲苯 -
2026杭州刑辩团队观察:六项指标与四个...
一、为什么"在杭州选刑事律师"和别的城市不太一样杭州数字经济与平... -
市场融资余额一周增加61.01亿元
,证券时报网 -
湖北昇隆木业有限公司成立 注册资本50...
天眼查App显示,近日,湖北昇隆木业有限公司成立,法定代表人为洪志军 -
精彩看点:身高182cm中华小姐白舒登台,...
身高182cm中华小姐白舒登台,厚底高跟加持,气场碾压全场,白舒,厚底,西 -
观察:三大豪门各有弊病!皇马曼联曼城...
三大豪门各有弊病!皇马曼联曼城焦点战暴露球队深层问题,曼城,曼联,英 -
皇马近2次对马竞均取胜,上一次取得三连...
皇马近2次对马竞均取胜,上一次取得三连胜是在2013年,西甲,皇马,马竞, -
工资卡办进办公楼,山银服务送到心坎上
“平时外勤多、坐班少,专门请假去网点办卡,半天工作就耽误了。没... -
楚天科技入选全国首批国家新兴产业发展...
上证报中国证券网讯(记者夏子航)近日,工业和信息化部正式发布第一批 -
官方:日本前国脚冈崎慎司将于2027年1月...
官方:日本前国脚冈崎慎司将于2027年1月16日举办退役告别赛,日本,前国 -
硕世生物董事会换届延期
9月20日,硕世生物(688399)发布公告,公司第三届董事会于2026年9月19 -
扎尼奥洛:入选国家队是梦想,意大利球...
扎尼奥洛:入选国家队是梦想,意大利球衣有着巨大的分量,乌迪内斯,卡利 -
湘剧《左公柳》亮相第七届全国少数民族...
9月19日,演员在湘剧《左公柳》中表演。9月18日至19日,由湖南省代表团 -
海关总署:2026年8月四氧化三钴出口量环...
据中国海关数据统计,2026年8月我国四氧化三钴出口量165 933吨,环比下 -
中国女排3-0越南晋级!王奥芊10分成奇兵...
中国女排3-0越南晋级!王奥芊10分成奇兵半决赛再战泰国欲复仇,唐欣,奇 -
【时快讯】生意社:9月20日东营益美得DO...
9月20日,东营益美得化工年产20万吨增塑剂设备开工正常,DOP出厂报价10 -
快讯|喜茶北京三里屯太古里店焕新开业|...
快讯|喜茶北京三里屯太古里店焕新开业,冰淇淋,北京三里屯太古里店,牛 -
铁路12306持续识别遏制恶意抢票行为
新华社北京9月19日电记者19日从中国铁路12306技术中心了解到,自中秋国 -
苏提达出席帕公主百日纪念仪式,一身黑...
苏提达出席帕公主百日纪念仪式,一身黑衣气场沉稳,诗妮娜也来了,泰王, -
8场14球3助!拉菲尼亚连场戴帽争金靴,...
8场14球3助!拉菲尼亚连场戴帽争金靴,巴萨逆转豪取7连胜!,西甲,戴帽, -
胡金秋16分2篮板 中国男篮77比97不敌日...
胡金秋16分2篮板中国男篮77比97不敌日本,内线,日本,胡金秋,中国男篮,名 -
前沿资讯!开源Editable-Design,让AI生...
开源Editable-Design,让AI生图终于能改字、拖图层,视觉,编辑器,显式标 -
飞钛智造获数千万元融资
【飞钛智造获数千万元融资】航空航天装配机器人公司飞钛智造科技(绍兴 -
欧联杯告负引发高层不满,阿莫林执教AC...
欧联杯告负引发高层不满,阿莫林执教AC米兰面临信任危机,阿莫林,欧联杯 -
每日短讯:媒体人:很少有人否定男篮队...
媒体人:很少有人否定男篮队员拼搏与付出但长期连轴作战身心透支,郭士 -
今年前8个月全国铁路发送旅客33.2亿人次...
(记者樊曦)记者从中国国家铁路集团有限公司获悉,1至8月,全国铁路发 -
今日报丨震有科技定增回复:两大募投项...
9月17日,震有科技(688418 SH)披露了上交所向特定对象发行股票审核问 -
朗斯后卫乌多尔:很失望没入选法国队名...
朗斯后卫乌多尔:很失望没入选法国队名单,要继续努力,法甲,乌多尔,朗 -
莱切后卫蒂亚戈-加布里埃尔:对阵米兰很...
莱切后卫蒂亚戈-加布里埃尔:对阵米兰很困难;留队很特别,莱切,ac米兰, -
9月18日科创50ETF富国基金份额减少9000...
证券之星消息,9月18日,科创50ETF富国基金(588940)最新份额为30 15 -
闲鱼发布持续严打色情引流公告:今年已...
闲鱼发布持续严打色情引流公告:今年已封号逾9 8万个,引流,闲鱼,色情交易 -
3球1助+造点,奥利塞当选拜仁vs柏林联合...
3球1助+造点,奥利塞当选拜仁vs柏林联合全场最佳球员,柏林,拜仁,德甲, -
药明生物(02269)注销3982.45万股已回购股份
智通财经APP讯,药明生物(02269)发布公告,于2026年9月18日注销3982 45 -
美国光伏行业大整合!SEIA、CCSA官宣合并...
近日,美国太阳能工业协会(SEIA)与社区太阳能接入联盟(CCSA)将合并组建 -
四大AI预测纽约城vs纽约红牛:三家猜主...
四大AI预测纽约城vs纽约红牛:三家猜主胜,千问看好平局,德比,纽约城, -
全队梦游,半场中国男篮30-49日本,落后...
全队梦游,半场中国男篮30-49日本,落后19分!名古屋亚运男篮半决赛, -
股票行情快报:弘讯科技(603015)9月18...
证券之星消息,截至2026年9月18日收盘,弘讯科技(603015)报收于10 72元 -
焦点关注:百胜中国(09987.HK)发布公告...
百胜中国(09987 HK)发布公告,于2026年9月17日,该公司斥资785 4万港元 -
捷佳伟创(300724.SZ):目前具备电镀设备...
格隆汇9月18日丨捷佳伟创在互动平台表示,公司自主研发的全自动移载式V -
每日关注!商务部:1-8月全国吸收外资479...
【商务部:1-8月全国吸收外资4799 5亿元人民币】商务部公布数据,2026 -
热文:轿车在高铁站停了近7年,车主接电...
据极目新闻报道,9月15日,有网友称,在河南信阳东站停车场有一辆武汉 -
206.46亿元资金今日流入电子股 每日动态
沪指9月18日上涨0 94%,申万所属行业中,今日上涨的有27个,涨幅居前的 -
Hinton预言十年后,阿里通用医疗影像AI...
Hinton预言十年后,阿里通用医疗影像AI登Science正刊,ct,医生,医学,病 -
现阶段的时代红利是什么? 今日视点
现阶段的时代红利是什么?,安宁,疯狂,丰盛,平凡,我的人生 -
2026年9月18日黑龙江鹤岗市万圃源蔬菜有...
2026年9月18日黑龙江鹤岗市万圃源蔬菜有限责任公司价格行情 -
大摩:维持李宁(02331)“增持”评级 目...
智通财经APP获悉,摩根士丹利发布研报称,维持李宁(02331)“增持”... -
朝希资本二期人民币主基金完成16亿元终...
人民财讯9月18日电,朝希资本宣布,已于近日完成二期人民币主基金的终 -
协鑫光电GW级钙钛矿量产线实现全线贯通 讯息
人民财讯9月18日电,近日,协鑫光电GW级钙钛矿量产线实现全线贯通,商 -
快讯:WNBA:李月汝战旧主4+6未上演亚洲...
WNBA:李月汝战旧主4+6未上演亚洲德比飞翼大胜火花豪取5连胜,伊尔,德比 -
美联储加息落地 A股短期修复 中期盯油...
CFi CN讯:数据显示,美联储首次加息后一周内A股上涨概率较高,但半年 -
场景撬动,抢占脑机接口新赛道
tjewm{width:100%;text-align:center;margin:30pxauto;display:none;} tjewmspan{d -
每日快讯!房价同比降幅收窄 房地产政策...
CFi CN讯:数据显示,8月70大中城市新房价格同比下跌3 3%,降幅较7月收 -
快看:【有医说医】一刷短视频就是十几...
每年的9月16日是“脑健康日”,本期“上观健康说·有医说医”直播间... -
热点聚焦:ST路通(300555.SZ)新增一起...
证券之星消息,根据天眼查APP显示,ST路通(300555 SZ)新增一起对外投 -
热文:无极县依艺塑料制品厂(个体工商...
天眼查App显示,近日,无极县依艺塑料制品厂(个体工商户)成立,法定 -
微资讯!百利天恒子公司拟以500万美元认...
百利天恒子公司拟以500万美元认购ConnexusA轮优先股股份 -
焦点滚动:华润饮料(02460.HK)9月17日耗...
格隆汇9月17日丨华润饮料(02460 HK)公告,9月17日耗资243 1万港元回购3 -
Mega安汇:白银租赁收入进入链上产品
Mega安汇:白银租赁收入进入链上产品 -
利物浦18岁边锋恩古莫哈预计获更多出场...
利物浦18岁边锋恩古莫哈预计获更多出场时间,阿森纳拜仁关注其未来,拜 -
视频 | 湖南永州道县潇水大桥正式爆破...
-
英记茶庄集团(08241.HK)9月17日收盘跌3.01%
证券之星消息,截至2026年9月17日收盘,英记茶庄集团(08241 HK)报收于0 -
生意社:9月17日华东地区环氧树脂市场平...
9月17日,华东市场参考价:液体环氧树脂15400-15800元 吨(承兑净水出 -
9月17日众泰汽车涨停:汽车整车,新能源...
证券之星消息,众泰汽车9月17日涨停收盘,收盘价2 37元。该股于10点51 -
每日热点:天元宠物的现金流拐点、产能重...
半年报披露后, -
四川金隆睿科新材料有限公司成立 注册...
天眼查App显示,近日,四川金隆睿科新材料有限公司成立,法定代表人为 -
签下24小时就裁掉:尼克斯对2米13中锋动...
签下24小时就裁掉:尼克斯对2米13中锋动手了,雄鹿队,nba,纽约尼克斯队, -
大和:比亚迪股份今明年海外销量达180万...
大和:比亚迪股份今明年海外销量达180万辆及250万辆给予“买入”评级 -
2026 vivo开发者大会人工智能分会场:...
2026年9月16日,2026 vivo开发者大会(简称VDC)在广东深圳成功举 -
银邦股份:公司经营正常,发展态势良好
证券之星消息,银邦股份(300337)09月17日在投资者关系平台上答复投资者 -
“月付、余额宝无法付款”不实 新规仅...
日前,“平台月付将退出支付选项”话题登上热搜,亦有传言“零钱通... -
重造CPU、革新AI GPU!天玑9600 Pro四...
在智能体手机加速到来的行业拐点,联发科交出了全新旗舰答案。9 月 -
曝陈盈骏或亚运最后一舞!赛后点出日本...
曝陈盈骏或亚运最后一舞!赛后点出日本强大缘由无缘四强多人沮丧,日本, -
五粮液1618小跌2元 近期走势稳定今日小幅抖动
五粮液1618小跌2元近期走势稳定今日小幅抖动 -
上半年净赚12.1亿!万辰集团,将“薄利...
上半年净赚12 1亿!万辰集团,将“薄利多销”做到极致,量贩,超市,... -
美国金融机构上调贷款参考利率至7%
美国金融机构上调贷款参考利率至7%,加息,信贷,美国,存款利率,贷款参考利率 -
迎中秋·庆国庆 | 石阡县系列精彩活动...
中秋、国庆双节临近,有着千年府城底蕴、富集仡佬民族文化的石阡县,将 -
从“追光”到“耕田” 公募逆势布局效...
“站在光里,还是站在田里?”近期流传于投资者之间的一句调侃,道...







