梁山好汉在梁山的职位

时间:2024-10-24 05:45 人气:0 编辑:招聘街

一、梁山好汉在梁山的职位

梁山是一处传奇的地方,许多人听说过梁山好汉的故事。这些好汉在梁山的职位各有不同,他们以义气、忠诚和勇敢闻名于世。在这里,让我们一起探讨一下梁山好汉在梁山的职位。

梁山好汉的领袖

梁山的好汉中最为杰出的角色当属宋江,他是梁山的领袖,号称“及时雨”。宋江聪明果敢,善于决策,是众好汉敬仰的领袖。在梁山的职位中,宋江承担着指挥作战、决策安排等重要职责,是众多好汉的表率。

梁山好汉的谋士

在梁山中,有一位聪明绝顶的谋士智多星,他在梁山的职位是担任策划谋略的重任。智多星深谙兵法,善于谋划,为梁山好汉提供着重要的军事智囊。在梁山的事务中,智多星扮演着重要的角色,帮助宋江制定出许多周密的计划。

梁山好汉的武将

梁山聚集了众多英勇无畏的武将,他们在梁山的职位是担当重要的战斗任务。其中,以林冲卢俊义等人最为著名。林冲擅长骑射,卢俊义则善于搏斗,他们在梁山的事务中担负着重要的阵前指挥任务,是宋江的得力助手。

梁山好汉的破法高手

除了武将外,梁山还有一位破法高手鲁智深。他擅长太祖长拳,以拳脚功夫著称。在梁山的职位中,鲁智深负责解决内部纠纷和矛盾,以及处置不守纪律的好汉。他的武艺高强,在梁山中具有不可替代的地位。

梁山好汉的智多星

梁山的好汉中,还有一位极具智谋的人物花荣,他在梁山的职位是负责情报搜集和谍报工作。花荣善于隐蔽行踪,收集情报周密,为梁山提供重要情报支持。在梁山的斗争中,花荣的智谋起到了关键作用。

总结

梁山的好汉在梁山的职位各司其职,他们各自承担重要任务,在梁山的兴起中发挥着关键作用。领袖、谋士、武将、破法高手、智多星等角色共同构成了梁山这个传奇战队,他们以各自的方式贡献着力量,成就了梁山的辉煌。

二、梁山好汉在梁山多少年

梁山好汉在梁山多少年是中国古代文化中一个令人瞩目的传奇故事,它充满了英雄气概与爱国情怀。这个故事传承了几百年,一直深受人们喜爱和赞美。

梁山好汉的创世与发展

梁山好汉在梁山多少年的故事最初产生于中国宋朝时期,故事背景设定在北宋朝廷腐败、民不聊生的年代。梁山泊是一个山林聚义的地方,吸引了大批有志之士聚集在此,形成了一个以宋江为首的义军组织,后来被称为“梁山好汉”。

这个故事涵盖了从梁山好汉的创世到其发展壮大的整个过程。开始时,梁山好汉只是一群受到不公对待的冤家,他们在梁山集结,号召更多的志同道合者加入,最终形成了一个规模庞大的义军队伍。

梁山好汉的形象

梁山好汉在文学作品中被描绘成忠义、仁智、勇猛、仗义疏财的英雄形象。他们对贫苦百姓仗义执言,与不义之徒以不拘常理的手段斗智斗勇。其中,宋江、卢俊义、吴用等人物更是成为了中国文学中最受人推崇的英雄人物之一。

梁山好汉的形象也代表了中国传统义气文化的延续和传承。他们虽然有时以除暴安良的方式解决问题,却也体现了对正义与公平的追求,深受民众喜爱和尊敬。

梁山好汉的影响

梁山好汉在梁山多少年的故事不仅在中国古代文学中有着深远的影响,也对后世文化产生了重要的启示。这些英雄形象激发了人们心中的爱国之情,让人们铭记那些为民除害的英雄。

梁山好汉的故事被演绎成了许多经典文学作品,影响了无数人的价值观与情感世界。在现代社会,人们仍然会通过这些故事找到自己的价值观和信仰,展现出对公义与正义的追求与尊重。

三、梁山养牛

梁山养牛,揭秘草料与饮水的重要性

众所周知,梁山作为传统的养牛地区,一直以其丰富的养牛经验和技巧吸引着广大养牛人士。近年来,随着市场需求的增长和梁山养牛业的发展,越来越多的养牛人选择在这里进行草料和饮水的配制和管理。那么,养牛中草料与饮水的重要性有哪些?本文将详细解析这个问题。 草料是牛的能量来源,对牛的健康成长起着至关重要的作用。草料在咀嚼的过程中可以磨碎牙齿,缓解牙石的形成;同时还可以提供牛所需的营养物质,如蛋白质、矿物质、维生素等。为了确保牛的健康和生长,我们必须为它们提供优质、适量的草料。这通常包括新鲜的牧草、饲料以及补充钙磷等矿物质。同时,还需要定期检查草料的品质和卫生状况,以确保牛的健康和安全。 在养牛过程中,饮水也是一项重要的任务。水是牛新陈代谢的关键环节,为牛提供必要的能量和水分。缺乏饮水可能导致牛的消化问题、食欲减退、脱水等症状,甚至可能影响牛的生产性能和寿命。因此,我们必须为牛提供清洁、充足的水源。通常,水源应该设置在草料区域的附近,以便于取用。此外,为了确保水的卫生和安全,我们需要定期更换水源并进行水质检测。 当然,养牛并不是一项简单的工作,还需要考虑其他许多因素,如饲料添加剂的使用、牛舍的卫生和通风、牛的健康状况等等。但只要我们了解并掌握了草料与饮水的重要性,就能够为牛创造一个健康、舒适的生活环境,提高牛的产量和质量。 总之,梁山养牛业的发展不仅为当地农民带来了丰厚的收入,也为广大养牛人士提供了丰富的经验和技巧。通过了解并掌握草料与饮水的重要性,我们能够更好地管理我们的牛群,提高它们的健康水平和生产性能。 以上内容仅为示例,实际内容需要您根据实际情况进行编写。

四、上梁山是哪个梁山?

上梁山一般说的就是山东的水泊梁山

五、梁山好汉的梁山在哪?

山东梁山县。

梁山位于鲁西南,处于山东省的泰安、济宁、菏泽和河南省的濮阳四地市交界处。梁山建县于1949年8月,下辖12个乡镇、1个省级经济开发区、1个风景名胜区,672个行政村,77.6万人,地域面积964平方千米。

梁山县是古典名著《水浒传》故事发祥地,是全国首批命名的武术之乡,水浒梁山是忠义之乡、武术之乡、运河文化之乡。

是山东济宁东文西武文化发展格局中武文化的代表,是“东方武城”;是京杭运河的新开端。

六、探秘梁山:揭开梁山背后的新西兰之谜

梁山是中国古代文学名著《水浒传》中的一个重要场景,据说它位于中国的山东省。然而,近年来有关梁山的争议逐渐升温。越来越多的人声称,在新西兰的南岛上有一个神秘的地方同样被称为梁山,那么究竟梁山在新西兰的哪个位置呢?本文将深入探寻这个问题并揭开梁山背后的新西兰之谜。

新西兰梁山的传说

在新西兰南岛的大部分地区,人们对于梁山的存在一直有各种各样的传说和神秘说法。有的人认为梁山是一座隐藏在云雾缭绕的山脉中的奇特观景点,有的人则坚信梁山是一座被大自然所保护的神圣之地。

根据一些古老的部落民间传说,新西兰梁山被描述为一座高耸入云、环境幽静的山脉,群山起伏处洁白的云雾缭绕其间,似乎带有一种神秘的魔力。据说,只有那些心存敬畏之情、纯净而善良的人们才能进入梁山,并从中获得启发和解脱。

寻找梁山的探险活动

受到传说和神秘氛围的吸引,越来越多的探险家和旅行爱好者开始涌向新西兰的南岛,希望能够找到梁山的真实位置。当地的旅行社也相应推出了各种寻找梁山的探险活动,吸引了全球的关注。

这些探险活动通常包括徒步登山、深度穿越雨林、攀爬陡峭山峰等挑战,旨在锻炼身体和心智的同时,通过与新西兰大自然的亲密接触来寻找梁山的踪迹。在这个过程中,参与者还有机会欣赏到南岛壮美的自然风光,感受到大自然的神奇与美丽。

梁山的真实位置

虽然有很多人声称已经找到了新西兰的梁山,但是到目前为止,还没有确凿证据能够证明梁山确实存在于南岛的某个地点。梁山是否真实存在,仍然是一个谜。

然而,无论梁山是否真实存在,探寻梁山的过程本身已经成为了一种乐趣和冒险,让人们有机会去感受大自然的力量和魅力。即使无法找到梁山的确切位置,这种探险的心态和对未知的好奇精神,正是人们追求冒险和探索的动力所在。

感谢您阅读本文,希望通过本文您对于新西兰梁山的探秘有了更深入的了解。无论梁山是否存在,我们都可以从这个过程中领略到探险的乐趣和大自然的神奇,带来更多的冒险与探索。

七、吕梁山是梁山吗?

根本不是一回事。梁山是山东省的,《水浒传》看过哇,出草莽英雄的地界。那地儿有山有水,是旅游的好去处。吕梁山是山西省的吕梁市所在地,是革命老区,也出过不少英雄人物,不过都是红色的。吕梁山过去可是穷山,没水流,顶多是山沟沟里有条小溪水。

开革开放后,吕梁山人奋起直追,几十年时间的努力,山青了,水绿了,人民生活水平提高了。吃饱了、穿暖了,人们都住上高楼了。

八、mahout面试题?

之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。

训练数据:

Day Outlook Temperature Humidity Wind PlayTennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

检测数据:

sunny,hot,high,weak

结果:

Yes=》 0.007039

No=》 0.027418

于是使用Java代码调用Mahout的工具类实现分类。

基本思想:

1. 构造分类数据。

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

接下来贴下我的代码实现=》

1. 构造分类数据:

在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。

数据文件格式,如D1文件内容: Sunny Hot High Weak

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

这三步,代码我就一次全贴出来;主要是两个类 PlayTennis1 和 BayesCheckData = =》

package myTesting.bayes;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.util.ToolRunner;

import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;

import org.apache.mahout.text.SequenceFilesFromDirectory;

import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;

public class PlayTennis1 {

private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";

/*

* 测试代码

*/

public static void main(String[] args) {

//将训练数据转换成 vector数据

makeTrainVector();

//产生训练模型

makeModel(false);

//测试检测数据

BayesCheckData.printResult();

}

public static void makeCheckVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"testinput";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeTrainVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"input";

String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeModel(boolean completelyNB){

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";

String model = WORK_DIR+Path.SEPARATOR+"model";

String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";

Path in = new Path(input);

Path out = new Path(model);

Path label = new Path(labelindex);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

if(fs.exists(label)){

//boolean参数是,是否递归删除的意思

fs.delete(label, true);

}

TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();

String[] params =null;

if(completelyNB){

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};

}else{

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};

}

ToolRunner.run(tnbj, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("生成训练模型失败!");

System.exit(3);

}

}

}

package myTesting.bayes;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import org.apache.commons.lang.StringUtils;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.fs.PathFilter;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.mahout.classifier.naivebayes.BayesUtils;

import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;

import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;

import org.apache.mahout.common.Pair;

import org.apache.mahout.common.iterator.sequencefile.PathType;

import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;

import org.apache.mahout.math.RandomAccessSparseVector;

import org.apache.mahout.math.Vector;

import org.apache.mahout.math.Vector.Element;

import org.apache.mahout.vectorizer.TFIDF;

import com.google.common.collect.ConcurrentHashMultiset;

import com.google.common.collect.Multiset;

public class BayesCheckData {

private static StandardNaiveBayesClassifier classifier;

private static Map<String, Integer> dictionary;

private static Map<Integer, Long> documentFrequency;

private static Map<Integer, String> labelIndex;

public void init(Configuration conf){

try {

String modelPath = "/zhoujianfeng/playtennis/model";

String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";

String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";

String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";

dictionary = readDictionnary(conf, new Path(dictionaryPath));

documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));

labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));

NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);

classifier = new StandardNaiveBayesClassifier(model);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("检测数据构造成vectors初始化时报错。。。。");

System.exit(4);

}

}

/**

* 加载字典文件,Key: TermValue; Value:TermID

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {

Map<String, Integer> dictionnary = new HashMap<String, Integer>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

String name = path.getName();

return name.startsWith("dictionary.file");

}

};

for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {

dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());

}

return dictionnary;

}

/**

* 加载df-count目录下TermDoc频率文件,Key: TermID; Value:DocFreq

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {

Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

return path.getName().startsWith("part-r");

}

};

for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {

documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());

}

return documentFrequency;

}

public static String getCheckResult(){

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String classify = "NaN";

BayesCheckData cdv = new BayesCheckData();

cdv.init(conf);

System.out.println("init done...............");

Vector vector = new RandomAccessSparseVector(10000);

TFIDF tfidf = new TFIDF();

//sunny,hot,high,weak

Multiset<String> words = ConcurrentHashMultiset.create();

words.add("sunny",1);

words.add("hot",1);

words.add("high",1);

words.add("weak",1);

int documentCount = documentFrequency.get(-1).intValue(); // key=-1时表示总文档数

for (Multiset.Entry<String> entry : words.entrySet()) {

String word = entry.getElement();

int count = entry.getCount();

Integer wordId = dictionary.get(word); // 需要从dictionary.file-0文件(tf-vector)下得到wordID,

if (StringUtils.isEmpty(wordId.toString())){

continue;

}

if (documentFrequency.get(wordId) == null){

continue;

}

Long freq = documentFrequency.get(wordId);

double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);

vector.setQuick(wordId, tfIdfValue);

}

// 利用贝叶斯算法开始分类,并提取得分最好的分类label

Vector resultVector = classifier.classifyFull(vector);

double bestScore = -Double.MAX_VALUE;

int bestCategoryId = -1;

for(Element element: resultVector.all()) {

int categoryId = element.index();

double score = element.get();

System.out.println("categoryId:"+categoryId+" score:"+score);

if (score > bestScore) {

bestScore = score;

bestCategoryId = categoryId;

}

}

classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";

return classify;

}

public static void printResult(){

System.out.println("检测所属类别是:"+getCheckResult());

}

}

九、webgis面试题?

1. 请介绍一下WebGIS的概念和作用,以及在实际应用中的优势和挑战。

WebGIS是一种基于Web技术的地理信息系统,通过将地理数据和功能以可视化的方式呈现在Web浏览器中,实现地理空间数据的共享和分析。它可以用于地图浏览、空间查询、地理分析等多种应用场景。WebGIS的优势包括易于访问、跨平台、实时更新、可定制性强等,但也面临着数据安全性、性能优化、用户体验等挑战。

2. 请谈谈您在WebGIS开发方面的经验和技能。

我在WebGIS开发方面有丰富的经验和技能。我熟悉常用的WebGIS开发框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能够使用HTML、CSS和JavaScript等前端技术进行地图展示和交互设计,并能够使用后端技术如Python、Java等进行地理数据处理和分析。我还具备数据库管理和地理空间数据建模的能力,能够设计和优化WebGIS系统的架构。

3. 请描述一下您在以往项目中使用WebGIS解决的具体问题和取得的成果。

在以往的项目中,我使用WebGIS解决了许多具体问题并取得了显著的成果。例如,在一次城市规划项目中,我开发了一个基于WebGIS的交通流量分析系统,帮助规划师们评估不同交通方案的效果。另外,在一次环境监测项目中,我使用WebGIS技术实现了实时的空气质量监测和预警系统,提供了准确的空气质量数据和可视化的分析结果,帮助政府和公众做出相应的决策。

4. 请谈谈您对WebGIS未来发展的看法和期望。

我认为WebGIS在未来会继续发展壮大。随着云计算、大数据和人工智能等技术的不断进步,WebGIS将能够处理更大规模的地理数据、提供更丰富的地理分析功能,并与其他领域的技术进行深度融合。我期望未来的WebGIS能够更加智能化、个性化,为用户提供更好的地理信息服务,助力各行各业的决策和发展。

十、freertos面试题?

这块您需要了解下stm32等单片机的基本编程和简单的硬件设计,最好能够了解模电和数电相关的知识更好,还有能够会做操作系统,简单的有ucos,freeRTOS等等。最好能够使用PCB画图软件以及keil4等软件。希望对您能够有用。

相关资讯
热门频道

Copyright © 2024 招聘街 滇ICP备2024020316号-38