java代码大全视频 java 代码

马士兵java视频教程顺序马士兵java代码大全视频的java视频教程没有什么顺序,他只是培训机构放出来java代码大全视频的一些java基础 , 很散乱,而且是08年的,比较旧的,用的java5.0,现在都升到java7.0. 。学习java的话,java代码大全视频我个人推荐IT学习联盟的零基础Java就业班,它是一套完整的java教程,从零基础教起,零基础到就业水平,就算没基础 , 也可以学习的 。
……………………………………………………………………
如何学习java,我刚才看到一篇很不错的文章,是一个农民工介绍自己如何自学java,并找到Java的工作,里面介绍了他的学习方法和学习过程,希望对java代码大全视频你有帮助 。
我是一名地地道道的农民工,生活在经济落后的农村,有一个哥哥和一个弟弟,父母都是地道的农民,日出而作,日落而息 , 我从小到大学习一直很好,从小学到高一都 , 成绩在全级一直名列前茅,这样我也顺利了考上省的重点高中,然而,每个学期开学是家里最为难的时候,每次交学费都让父母发愁许久,家里为了给我筹钱读书,都借了不少钱,才让我读上高中 。我知道我读到高中家里已经欠了好多债,为了减轻家里的负担,我选择了退学 。
2009年我高一退学,为了给家里还债 , 干过建筑工地的小工,搞过塑料制品加工,送水工等等 。很工资都很低,一个月也就1000多,加上加班费一个月能拿2000多一点,我每个月都向家里寄回800-1000元,到了2011年末,一次偶然的机会我接触了Java,听说Java的前景挺不错 , 工资相对于我一个农民工来说简直是天文数字,于是我在新华书店买了几本Java的书,尽管白天辛苦工作,晚上回来还是坚持看书,但有于基础太差很多都很不明白,但还是坚持看,一有看1-2个小时Java的书 , 看着看着许多基础都慢慢的学会了,但那些比较难的还是看不懂,后来还买了有些关于框架的书 , 还是看不懂,这样断断续续的持续了半年多,觉得自己Java的基础都差不多懂了,但框架还是看不懂,还有最缺的项目经验,看了很多招聘Java程序员的简介都要项目经验,相对我一个农民工来连框架都弄不明白,想找一份Java工作对我来说简直是奢侈 。我只想学Java , 并不敢想以后能从事Java的工作 。
有一次,在百度上看到一篇让我很鼓舞的文章,是一个Java高手介绍在没有基础的朋友怎么自学入门Java,文章写的很好 , 包含了如何学习,该怎么学习,他提到一个方法就是看视频,因为看书实在太枯燥和费解的,不少是我们也看不懂,这点我真的很认同,我自己看书都看了很久才学会基础 。曾经有想过参加培训,但是上万元的培训费让我望而却步,我工资这么低,每个月还有向家里汇钱,加上城市消费比较高 , 虽然每个月只有几百剩下 , 但是相对于上万万学费和四个月的吃住费用逼我连想不敢想 。于是我决定看视频,我就去搜索Java的视频 , 虽然我零星的找到一些Java的视频,但是都不系统 。最重要连项目都没有 。后来我找到一份很好的视频,是IT学习联盟这个网站一套视频叫零基础Java就业班的教程还不错,很完整 。还赠送11个顶级企业项目 。价格很合理,于是我买下来 。
于是开始了我的自学Java的路,收到光盘后,我就开始学习,刚开始学习还不错,是从零基础教起,老师幽默风趣而又轻松的课堂教课,使我发现原来学习JAVA并不是一件很难的事情 。因为我本来基础还不错,前面的基础看一篇我就过去了 , 到了框架 , 我觉不又不是很难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次,把他弄懂 。每天下午6点下班后,吃了饭,马上跑回家 。看视频 , 买了几本笔记本 。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的 。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码 , 为了能尽早学会Java 。每天都坚持学5-6个小时 。经常学到晚上一点多才睡觉 。星期六,日不用上班,每天7点多起床,学到晚上11,12点 。那段时间特别辛苦,特别累 。在学习Java的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,只是学了些Java基?。喽杂谀切┛瓢嗟娜死此滴乙人歉冻龈嗟呐?。我只能咬紧牙关,坚持下去 , 我不能放弃 , 我要完成我的梦想 , 我要让我的家人过上好日子 。终于三个多月后我把Java教程里的内容和项目都学完了 , 在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来 , 能更好的理解你所学的知识 。还有学习过程中 , 动手很重要,要经常跟着老师动手敲,动手吧 , 跟着做 , 一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多 。如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了 。这套视频还赠送了11个顶级企业项目,对于我没有任何经验的人来说,这个太重要了 , 还有在学习项目是提升能力最快的方法 。项目能把所有的知识点全都连到一起了 , 不再是分散的,而是形成一个整体了 。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的 。一个项目就是一根绳子可以把大片的知识串到一起 。就这样,我用了两个月也把项目给学完了 。其实学完教程差不错就达到就业水平,但是我可能觉得自己学历低还是把那11个顶级企业项目才去找工作 。
接着我就到51job疯狂的投简历,因为我的学历问题,初中毕业,说真的,大公司没有人会要我 。所以我头的都是民营的小公司,我希望自己的努力有所回报 。没有想过几天后,就有面试了,但是第一次面试我失败了 , 虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比价严格 , 需要有一年的项目经验,所以我没有被选中 。后来陆续面试了几加公司,终于功夫不负有心人,我终于面试上了一家民营的企业 。公司规模比较小,我的职务是Java程序员 。我想我比较幸运,经理看中我的努力 , 就决定吕勇我,开的工资是3500一个月,虽然我知道在北京3500只能过温饱的生化,但是我想我足够了,比起以前的工资好了些,以后可以多寄些钱回家 。我想只要我继续努力 。我工资一定会翻倍的 。把本文写出来 , 希望能让和我一样的没有基础的朋友有信心,其实我们没有自卑,我们不比别人笨,只有我们肯努力,我们一样会成功 。
…………………………
想学好java就要努力 。
求JAVA视频播放器代码import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.ControllerClosedEvent;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class JMFMediaPlayer extends JFrame implements ActionListener,
ControllerListener, ItemListener {
// JMF的播放器
Player player;
// 播放器的视频组件和控制组件
Component vedioComponent;
Component controlComponent;
// 标示是否是第一次打开播放器
boolean first = true;
// 标示是否需要循环
boolean loop = false;
// 文件当前目录
String currentDirectory;
// 构造方法
public JMFMediaPlayer(String title) {
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
// 用户点击窗口系统菜单的关闭按钮
// 调用dispose以执行windowClosed
dispose();
}
public void windowClosed(WindowEvent e){
if (player != null){
// 关闭JMF播放器对象
player.close();
}
System.exit(0);
}
});
// 创建播放器的菜单
JMenu fileMenu = new JMenu("文件");
JMenuItem openMemuItem = new JMenuItem("打开");
openMemuItem.addActionListener(this);
fileMenu.add(openMemuItem);
// 添加一个分割条
fileMenu.addSeparator();
// 创建一个复选框菜单项
JCheckBoxMenuItem loopMenuItem = new JCheckBoxMenuItem("循环", false);
loopMenuItem.addItemListener(this);
fileMenu.add(loopMenuItem);
fileMenu.addSeparator();
JMenuItem exitMemuItem = new JMenuItem("退出");
exitMemuItem.addActionListener(this);
fileMenu.add(exitMemuItem);
JMenuBar menuBar = new JMenuBar();
menuBar.add(fileMenu);
this.setJMenuBar(menuBar);
this.setSize(200, 200);
try {
// 设置界面的外观,为系统外观
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
} catch (Exception e) {
e.printStackTrace();
}
this.setVisible(true);
}
/**
* 实现了ActionListener接口,处理组件的活动事件
*/
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("退出")) {
// 调用dispose以便执行windowClosed
dispose();
return;
}
FileDialog fileDialog = new FileDialog(this, "打开媒体文件", FileDialog.LOAD);
fileDialog.setDirectory(currentDirectory);
fileDialog.setVisible(true);
// 如果用户放弃选择文件 , 则返回
if (fileDialog.getFile() == null){
return;
}
currentDirectory = fileDialog.getDirectory();
if (player != null){
// 关闭已经存在JMF播放器对象
player.close();
}
try {
// 创建一个打开选择文件的播放器
player = Manager.createPlayer(new MediaLocator("file:"
fileDialog.getDirectory()fileDialog.getFile()));
} catch (java.io.IOException e2) {
System.out.println(e2);
return;
} catch (NoPlayerException e2) {
System.out.println("不能找到播放器.");
return;
}
if (player == null) {
System.out.println("无法创建播放器.");
return;
}
first = false;
this.setTitle(fileDialog.getFile());
// 播放器的控制事件处理
player.addControllerListener(this);
// 预读文件内容
player.prefetch();
}
/**
【java代码大全视频 java 代码】* 实现ControllerListener接口的方法,处理播放器的控制事件
*/
public void controllerUpdate(ControllerEvent e) {
// 调用player.close()时ControllerClosedEvent事件出现 。
// 如果存在视觉部件 , 则该部件应该拆除(为一致起见,
// 我们对控制面板部件也执行同样的操作)
if (e instanceof ControllerClosedEvent) {
if (vedioComponent != null) {
this.getContentPane().remove(vedioComponent);
this.vedioComponent = null;
}
if (controlComponent != null) {
this.getContentPane().remove(controlComponent);
this.controlComponent = null;
}
return;
}
// 如果是媒体文件到达尾部事件
if (e instanceof EndOfMediaEvent) {
if (loop) {
// 如果允许循环 , 则重新开始播放
player.setMediaTime(new Time(0));
player.start();
}
return;
}
// 如果是播放器预读事件
if (e instanceof PrefetchCompleteEvent) {
// 启动播放器
player.start();
return;
}
// 如果是文件打开完全事件,则显示视频组件和控制器组件
if (e instanceof RealizeCompleteEvent) {
vedioComponent = player.getVisualComponent();
if (vedioComponent != null){
this.getContentPane().add(vedioComponent);
}
controlComponent = player.getControlPanelComponent();
if (controlComponent != null){
this.getContentPane().add(controlComponent, BorderLayout.SOUTH);
}
this.pack();
}
}
// 处理“循环”复选框菜单项的点击事件
public void itemStateChanged(ItemEvent e) {
loop = !loop;
}
public static void main(String[] args){
new JMFMediaPlayer("JMF媒体播放器");
}
}
试试吧,我这里运行正常
求《第一行代码Java视频讲解版》全文免费下载百度网盘资源,谢谢~《第一行代码Java视频讲解版》百度网盘pdf最新全集下载:
链接:
?pwd=t7i1 提取码: t7i1
简介java代码大全视频:第一行代码 Java 视频讲解版从初学者java代码大全视频的角度java代码大全视频,以丰富的例子、通俗易懂的语言、简单的图示java代码大全视频,详细地介绍了Java开发中重点用到的多种技术 。全书分为15章java代码大全视频,包括Java简介、程序基本概念、面向对象基本概念、面向对象高级知识、包及访问控制权限、异常的捕获及处理、Eclipse开发工具、Java新特性、多线程、Java常用类库、Java IO编程、Java网络编程、Java类集框架、Java数据库编程、DAO设计模式等内容 。
java视频教程哪个好《java视频教程》百度网盘资源免费下载
链接:
提取码:jn54
java视频教程|53.mp4|52_定义输入输出格式.mp4|51_综合练习(二).mp4|50_综合练习(一).mp4|49_??€??‘?·¥?…·?1?Eclipse(???).mp4|48_开发工具之Eclipse(三).mp4|47_??€??‘?·¥?…·?1?Eclipse(?o?).mp4|46_??€??‘?·¥?…·?1?Eclipse(??€).mp4|45_hashCode()与toString().mp4|44_equals函数的作用.mp4|42_类集框架(二).mp4|41_类集框架(一).mp4|40_Java当中的数组.mp4|38_Java当中的线程(三).mp4
如何用Java编写代码读取视频文件视频也是一个文件,就用file类就可以了,这里简单帮你实现一下吧:
---------------------------
//向该方法传递视频文件的路径
public static void getVideo(String filePath){
//得到一个File 对象
File fileImg=FraudinfoAction.getFraudImg(path);
//渲染一个二进制字节码文件
renderBinary(fileImg);
}
跪求 尚学堂科技马士兵讲师Java视频教程全集下载地址 。有的朋友就别藏着了,联系295650199(腾讯)一有很多教程,叫学了也白搭
这年头,网上的Java教程一堆一堆的,看的我们很多Java宝宝们是眼花缭乱,不知该如何是好 , 我当年也是从这个过程走过来的 , 每天看很多老师的Java教程,听的自己晕头转向的,当然我不是说他们讲错了,他们讲的知识层面的东西是对的,但是很多做Java教程的老师不善于深入浅出,通俗易懂的来为我们讲解知识,什么是好教程?好教程就是让我们学了之后,有一种豁然开朗的感觉,而不是云深不知处,我想说的是这种教程,不看也罢 , 浪费了时间,迷茫了自己 。
二有一种教程叫无论你身处何地,都能现场直播教你
现在很多网上流传的教程都是很多年前的,远远的不适应现在Java新应用的需要,基本上都是一些淘汰货,很多小伙伴们,从网上找这种破烂,学的还不亦乐乎,也是醉了 。综上所述,我们很多人学不好Java,是因为 一开始就选择错了,选择不对,努力白费 。为了能够让广大Java学子们在网上学到Java的系统精华知识,通俗易懂的理解这些知识,我们决定现在每天晚上现场直播在网上教大家学习Java,我们的老师,一般的老师不用,我们只让牛掰的老师讲,而你什么都不需要付出,你只需要来我们这个群里听就行 , 开头的的第一部分是:426.,位于中间的第二部分是:396,处于最后一部分的是:284,学习没有任何借口,想强大就要努力,同时这也不是一个单打独斗的时代了,大家在这里一块学习,打拼出属于我们的Java新天地 。
三Java新手入门的30个基本概念
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念 。
Java概述:
目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.Java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.Java的语法与C语法类似,C/C程序员很容易掌握,而且Java是完全的彻底的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出 。
Java的白皮书为我们提出了Java语言的11个关键特质 。
(1)Easy:Java的语法比C的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb 。
(2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的web server都支持servlet 。
(3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C有很多不同,在与多重继承的处理及Java的原类模型 。
(4)健壮特质:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能型 。
(5)安全:Java用来设计网路和分布系统,这带来了新的安全问题,Java可以用来构建防病毒和防攻击的System.事实证明Java在防毒这一方面做的很优秀 。
(6)中立体系结构:Java编译其生成体系结构中立的目标文件格式可以在很多处理器上执行,编译器产生的指令字节码(Javabytecode)实现此特性,此字节码可以在任何机器上解释执行 。
(7)可移植:Java中对基本数据结构类型的大小和算法都有严格的规定所以可移植很好 。
(8)多线程:Java处理多线程的过程很简单,Java把多线程实现交给底下操作系统或线程程序完成.所以多线程是Java作为服务器端开发语言的流行原因之一 。
(9)Applet和servlet:能够在网页上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的网页,这是很多其他语言所不能做到的 。
基本概念:
1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率 。
2.OOP中最重要的思想是类,类是模板是蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance) 。
3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field) 。
4.通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得,根超类下文会做介绍 。
5.对象的3个主要特点
behavior---说明这个对象能做什么.
state---当对象施加方法时对象的反映.
identity---与其他相似行为对象的区分标志.
每个对象有唯一的indentity 而这3者之间相互影响.
6.类之间的关系:
use-a :依赖关系
has-a :聚合关系
is-a :继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于共性中)
7.构造对象使用构造器:构造器的提出,构造器是一种特殊的方法,构造对象并对其初始化 。
例:Data类的构造器叫Data
new Data()---构造一个新对象,且初始化当前时间.
Data happyday=new Data()---把一个对象赋值给一个变量happyday,从而使该对象能够多次使用,此处要声明的使变量与对象变量二者是不同的.new返回的值是一个引用 。
构造器特点:构造器可以有0个,一个或多个参数
构造器和类有相同的名字
一个类可以有多个构造器
构造器没有返回值
构造器总是和new运算符一起使用.
8.重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载.编译器必须挑选出调用哪个方法 。
9.包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java,net等,包是分层次的所有的java包都在java和javax包层次内 。
10.继承思想:允许在已经存在的类的基础上构建新的类,当你继承一个已经存在的类时,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段 。
11.扩展类:扩展类充分体现了is-a的继承关系. 形式为:class (子类) extends (基类) 。
12.多态:在java中,对象变量是多态的.而java中不支持多重继承 。
13.动态绑定:调用对象方法的机制 。
(1)编译器检查对象声明的类型和方法名 。
(2)编译器检查方法调用的参数类型 。
(3)静态绑定:若方法类型为priavte static final 编译器会准确知道该调用哪个方法 。
(4)当程序运行并且使用动态绑定来调用一个方法时,那么虚拟机必须调用x所指向的对象的实际类型相匹配的方法版本 。
(5)动态绑定:是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码 。
14.final类:为防止他人从你的类上派生新类,此类是不可扩展的 。
15.动态调用比静态调用花费的时间要长 。
16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract 。
例: public abstract string getDescripition
17.Java中的每一个类都是从Object类扩展而来的 。
18.object类中的equal和toString方法 。
equal用于测试一个对象是否同另一个对象相等 。
toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.
(toString 方法是一个很重要的方法)
19.通用编程:任何类类型的所有值都可以同object类性的变量来代替 。
20.数组列表:ArrayList动态数组列表,是一个类库,定义在java.uitl包中,可自动调节数组的大小 。
21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类 。
22.class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具 。
能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大.
1.在运行时分析类的能力 。
2.在运行时探察类的对象 。
3.实现通用数组操纵代码 。
4.提供方法对象 。
而此机制主要针对是工具者而不是应用及程序 。
反射机制中的最重要的部分是允许你检查类的结构.用到的API有:
java.lang.reflect.Field 返回字段.
java.reflect.Method 返回方法.
java.lang.reflect.Constructor 返回参数.
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案 。
23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface 。
24.接口不是一个类,而是对符合接口要求的类的一套规范 。
若实现一个接口需要2个步骤:
1.声明类需要实现的指定接口 。
2.提供接口中的所有方法的定义 。
声明一个类实现一个接口需要使用implements 关键字
class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口.
25.一个类只有一个超类,但一个类能实现多个接口 。Java中的一个重要接口:Cloneable
26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法 。
例:ActionListener 接口监听.
类似的API有:java.swing.JOptionPane
java.swing.Timer
java.awt.Tookit
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它 。
28.内部类:一个内部类的定义是定义在另一个内部的类 。
原因是:
1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据 。
2.对于同一个包中的其他类来说,内部类能够隐藏起来 。
3.匿名内部类可以很方便的定义回调 。
4.使用内部类可以非常方便的编写事件驱动程序 。
29.代理类(proxy):
1.指定接口要求所有代码
2.object类定义的所有的方法(toString equals)
30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型 。
关于java代码大全视频和java 代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读