`
76052186
  • 浏览: 36719 次
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多
取这个题目,给我的感觉很沉重(跟最近心情有关,这里就不说了),做软件也有5,6年了(决不是为了炫耀,没什么能力,现在还是个程序员),也有一些体会,我感觉在实际项目中遇到很多问提,但是有没有一个好的解决方案。我希望这个贴子只是一个开始,希望有更多的人,把自已常遇到的问题提出来,把自已的解决方案提出来,在家一学习,进步。
我先说一个。性能问题(这个网站讨能架构,幽雅的设计,新技术有很多,但从多方面讨论性能的很少,我没看见)。现面列出两个我感触很深的例子:

1,教务系统中的学生选课,在这种情况下,并发很多,到少上千,数据必须时时动态的,当学生选课时,服务器会搞得很慢,最坏情况,就是压死。
2,从历史系统中查数据,因为是历史系统,没办法该动原表结构,为了查询一些数据,要关联很多表,查询非常慢(最坏的情况,一个sql查询要几分钟,好的要几十秒,这还是经过优化的),几十个用户就跑不动了。

对以上这些问提,我们该从那些方面来考虑(从系统架构方面,设计方面,sql方面,数据库方面,还是服务器方面,,,,,还是其它),我认为,从数据库,sql等方面来解决,只能治标,不能治本,治本必须从架构方面,设计方面,如果从架构方面我们该注意一些什么问提,该如何来设计(常听高人说,必须从设计方面来解决,但从没看到谁举下实际的例子出来),希望有高手能指点一下,大家能把自已的经验供享一下,最好能有实标例子,与解决方法。
分享到:
评论
25 楼 jianfeng008cn 2007-01-20  
Allen 写道
有时候也要考虑一些变通的办法,比如楼主提出的第一个学生选课的问题。

学校一般没什么钱来给你配置好的服务器(而且经常是一个服务器上跑着很多个应用,光是应用服务器和CMS通常都有运行着好几个不同的),数据库也基本用的是MySQL这样在他们看来“免费的软件”……

那么就可以尽量争取让服务器的内存容量大一些,MySQL允许的并发连接稍微多几条(同时一定要仔细谨慎地配置一个数据源/JDBC连接池来维护这些连接),MySQL可以获取使用的内存也适当加大一点……

如果使用了Hibernate的话,良好的持久化关联关系配置、合理的缓存规划、逻辑清醒的业务代码……这些都可以提升应用程序的可延展性。

最后,也是最现实的一点(也许可以说是最管用的一条)——和学校这方面的负责人协商一下,改善一下学生选课的流程,适当延长选课的时间段,不要让所有学生都同时在使用你们的选课系统。(一个普通的大学一般都有数以万计的学生,如果很短的时间段里他们同时在你们的系统上进行操作,那么很难相信学校这种近乎业余级别的服务器可以承受得住。)



曾在国内大学教务软件市场做得最好的公司工作过一年,学校的情况可不是这样的哦,硬件条件很不错,数据库也都是oracle的。
24 楼 kevinStar 2007-01-20  
76052186 写道
不过这里我产生另外两个疑问,我本来相作实验的,但没做,偷一下懒,有人知到的回答一下。
1,对一个复杂的sql,我们是分成一个一个的小sql好,还是一个大sql好,我想分成一个一个的小sql可能在大并发时,能提高性能 ,

select * from (select teacher.*,student.*,rownumber() over(ORDER BY studnet.id ASC) AS rn  from select * from teacher left join studenton teacher.id =student.teacherId) where rn >=0 and rn <15,
对这样一个查询,我们一次只需取15条记录 ,如果我们改一下,改成如下方式  
select teacher.id from teacher,
select * from (select *,rownumber() over(order by id) from student where teacherid in("t1","t2",,,)) where rn>=0 and rn<15

这样一个(上面sql有优化的地方,只是示例用,就不优化了),sql是多了,数据库要多执行几次,但每次都是单表查询,数据库不会去做表间连接,响应更快,压力会分散在集群中的各个服务器上,减轻数据库服务器压力。不知可行不,有人做过没有,希望高手提提意见。


这个我在局域网内测试过,我测试的2张表分别有20多万条数据。结果反而比大sql还慢了1-3秒,用了30多秒。大sql其实还关联了一个辅助表。比小的sql还少个表用了30秒就查询出结果了。
我个人认为这种嵌套查询,千万不要写得太多,如果事物再没有控制好的话,在并发量高的时候,特别容易造成数据库死锁。
23 楼 lixigua 2007-01-20  
Lucas Lee 写道

这叫什么说法,数据库集群如果不能提高性能,那集群跟双机热备有什么区别,那一个集群里有几台几十台机器都是用来干什么的?

分区与集群不一样哦。多分区就是多分区,集群是集群,数据库集群没见过,不过多分区用过。
22 楼 lixigua 2007-01-20  
要说分区没用,我估计我们那客户会着急了,前年那项目,1千多万的硬件投入,分区没有用?搞么子哦。别人说没有用,可能是针对你的设备来说没用倒是可能。你搞一个SCSI硬盘用来分区当然没有什么大用了,分区有没有用,也得看你什么设备阿。
21 楼 LucasLee 2007-01-20  
76052186 写道

3,对数据库而言,如何考增加服务器,来提高性能.分区数据库吗?可这个东西,连ibm自已的工程师都说这种方式不能提高性能。


这叫什么说法,数据库集群如果不能提高性能,那集群跟双机热备有什么区别,那一个集群里有几台几十台机器都是用来干什么的?

一般来说,对于简单的集群,比如CJDBC(复杂的集群没研究过),对于查询都是可以线性提高性能的,因为查询是只读的,可以分在不同的机器上独立执行,性能提升倍数基本上等于机器数;
而对于写操作,(insert update delete)需要在所有机器上同时执行,执行性能应该和单台机器基本相同。

76052186 写道

4,不用集群,提高单台服务器的硬件性能,我认为这是最不好的方式,软件太没伸缩性。这种方案会导至用户原来的硬件不在使用,用户会很不满意的。

提高硬件性能有很多方法,并不是直接需要弃用硬件,最简单的就是加内存,加CPU(如果支持的话),这样原来的硬件都保留了。
软件有没有伸缩性应该早考虑,项目都做完了,再说这个有点晚,寄希望于可后期优化来实现所谓伸缩性是很难的。当然,优化还是有很多潜力可挖的,但是前期没有做好应有的性能考虑,在后期就很被动了。


你还没有完全描述清楚你的问题。
1.你访问数据库是直接用的JDBC么?使用了PreparedStatement么?
2.选课似乎就是系统唯一的瓶颈,它主要依赖于那些功能,哪几个SQL,具体操作步骤,或者截图,都说说,性能优化最需要的就是对症下药,问题越明确,方案就越容易奏效。
20 楼 LucasLee 2007-01-20  
zuly 写道
Hibernate的性能关键体现在实体的模式抽象度是否足够!类似ejb的Session facade模式!至于集群的问题!我个人认为以product pre analyse不够充分!集群以硬件环境换软件环境是一种高成本,高维护的措施!

至于楼上列举的一种sql,这种无任何封装的业务模式是非常愚蠢的和不可取的!首先sql的操作是不保持连接的,这首先就是一种性能上的丧失!并且大量的曝露了数据结构,死板的设计模版.

其实业务的性能最多丧失在网络和数据库上!争对网络的优化我认为应该把重点放在锐化网络通行上!一如采用代理(agent)的模式来代替裸露的协议!对一些通信要尽可能的封装(单纯的把identify包装)!而争对数据库的优化要争对数据的sync和连接的保持!数据的sync是实时性要求很高的系统中经常遇到的!如果在sync的时候不保持连接(或者有效的保持连接或者条件性的保持的连接)是优化数据库的有效方法!


这位同学的行文看起来很夸张,每句话都是惊叹号结尾。我猜你写的程序里给用户的提示也是每句都是惊叹号吧。
19 楼 zuly 2007-01-19  
76052186 写道
谢谢楼上的各位,看了后有所收获。疑问如下:
1.关于hibernate 的集群问题,我已搜过相关在贴子,没看到实际可行的方法,有人说用支持集群的cache,用这过个东西,我不报太大的希望,至少我没听说过有什么太好的产品。不知到有人用过这种方式没有,如果有,希望分享一下(关建还是cache同步对性能的影响,有几位老兄已经提出这个问题了)。或者有人给过有这种解决方法的联接.
2,查询与计算分开,这在业务复杂时应该是一下好方法,减轻了数据库的负担,但对以下两个例子而言,只存在查询与更新,没有什么复杂的计算。
3.有位老兄提出说学校硬件太差,就实际我遇到的情况而言,硬件环境还是不错的,到少都是4G内存,2cpu/4cpu.不过最后确实如老兄所说,与学校协商,学生选课按学院分了一下,减少并发,看来穷则变,变则通呀。

不过这里我产生另外两个疑问,我本来相作实验的,但没做,偷一下懒,有人知到的回答一下。
1,对一个复杂的sql,我们是分成一个一个的小sql好,还是一个大sql好,我想分成一个一个的小sql可能在大并发时,能提高性能 ,

select * from (select teacher.*,student.*,rownumber() over(ORDER BY studnet.id ASC) AS rn  from select * from teacher left join studenton teacher.id =student.teacherId) where rn >=0 and rn <15,
对这样一个查询,我们一次只需取15条记录 ,如果我们改一下,改成如下方式  
select teacher.id from teacher,
select * from (select *,rownumber() over(order by id) from student where teacherid in("t1","t2",,,)) where rn>=0 and rn<15

这样一个(上面sql有优化的地方,只是示例用,就不优化了),sql是多了,数据库要多执行几次,但每次都是单表查询,数据库不会去做表间连接,响应更快,压力会分散在集群中的各个服务器上,减轻数据库服务器压力。不知可行不,有人做过没有,希望高手提提意见。

2,老有人说,创建太多的对象影响性能,这个不否认。但是到底会关生多少性能影响(先否定太多的对象的情况,如很多str相加的情况),就拿数据库操作而言,你从数据库中得到一个学生的数据 包括(name,sex,age,addree,)  把这些存在一些变量中,与存在一个studnet(如通过hiberante获得) 这样一个对象中,两者之间到底会关生多少性能影响。          


Hibernate的性能关键体现在实体的模式抽象度是否足够!类似ejb的Session facade模式!至于集群的问题!我个人认为以product pre analyse不够充分!集群以硬件环境换软件环境是一种高成本,高维护的措施!

至于楼上列举的一种sql,这种无任何封装的业务模式是非常愚蠢的和不可取的!首先sql的操作是不保持连接的,这首先就是一种性能上的丧失!并且大量的曝露了数据结构,死板的设计模版.

其实业务的性能最多丧失在网络和数据库上!争对网络的优化我认为应该把重点放在锐化网络通行上!一如采用代理(agent)的模式来代替裸露的协议!对一些通信要尽可能的封装(单纯的把identify包装)!而争对数据库的优化要争对数据的sync和连接的保持!数据的sync是实时性要求很高的系统中经常遇到的!如果在sync的时候不保持连接(或者有效的保持连接或者条件性的保持的连接)是优化数据库的有效方法!
18 楼 76052186 2007-01-19  
谢谢楼上的各位,看了后有所收获。疑问如下:
1.关于hibernate 的集群问题,我已搜过相关在贴子,没看到实际可行的方法,有人说用支持集群的cache,用这过个东西,我不报太大的希望,至少我没听说过有什么太好的产品。不知到有人用过这种方式没有,如果有,希望分享一下(关建还是cache同步对性能的影响,有几位老兄已经提出这个问题了)。或者有人给过有这种解决方法的联接.
2,查询与计算分开,这在业务复杂时应该是一下好方法,减轻了数据库的负担,但对以下两个例子而言,只存在查询与更新,没有什么复杂的计算。
3.有位老兄提出说学校硬件太差,就实际我遇到的情况而言,硬件环境还是不错的,到少都是4G内存,2cpu/4cpu.不过最后确实如老兄所说,与学校协商,学生选课按学院分了一下,减少并发,看来穷则变,变则通呀。

不过这里我产生另外两个疑问,我本来相作实验的,但没做,偷一下懒,有人知到的回答一下。
1,对一个复杂的sql,我们是分成一个一个的小sql好,还是一个大sql好,我想分成一个一个的小sql可能在大并发时,能提高性能 ,

select * from (select teacher.*,student.*,rownumber() over(ORDER BY studnet.id ASC) AS rn  from select * from teacher left join studenton teacher.id =student.teacherId) where rn >=0 and rn <15,
对这样一个查询,我们一次只需取15条记录 ,如果我们改一下,改成如下方式  
select teacher.id from teacher,
select * from (select *,rownumber() over(order by id) from student where teacherid in("t1","t2",,,)) where rn>=0 and rn<15

这样一个(上面sql有优化的地方,只是示例用,就不优化了),sql是多了,数据库要多执行几次,但每次都是单表查询,数据库不会去做表间连接,响应更快,压力会分散在集群中的各个服务器上,减轻数据库服务器压力。不知可行不,有人做过没有,希望高手提提意见。

2,老有人说,创建太多的对象影响性能,这个不否认。但是到底会关生多少性能影响(先否定太多的对象的情况,如很多str相加的情况),就拿数据库操作而言,你从数据库中得到一个学生的数据 包括(name,sex,age,addree,)  把这些存在一些变量中,与存在一个studnet(如通过hiberante获得) 这样一个对象中,两者之间到底会关生多少性能影响。          


17 楼 zrweng 2007-01-19  
这和用什么开发工具没关系,如果你将数据存取和数据计算分离,那么就可以做到分布式运算,可以用多个普通PC机,一起计算(数据分类)后将结果存入数据库!
16 楼 feng13041 2007-01-19  
Allen 说得对!学校一般不大可能配置多台服务器。如果数据库和WEB服务器都装在同一台服务器中。要想性能方面由提升,就要考虑增加内存。当然还有CPU。现在服务器一般都支持多CPU。
15 楼 Cecily 2007-01-19  
也在学习Hibernate,看上面的发言都有点怕了 
14 楼 sopestar 2007-01-19  
关注!了解性能不多,但碰到类似的问题,解决方法正在寻找
13 楼 Allen 2007-01-19  
有时候也要考虑一些变通的办法,比如楼主提出的第一个学生选课的问题。

学校一般没什么钱来给你配置好的服务器(而且经常是一个服务器上跑着很多个应用,光是应用服务器和CMS通常都有运行着好几个不同的),数据库也基本用的是MySQL这样在他们看来“免费的软件”……

那么就可以尽量争取让服务器的内存容量大一些,MySQL允许的并发连接稍微多几条(同时一定要仔细谨慎地配置一个数据源/JDBC连接池来维护这些连接),MySQL可以获取使用的内存也适当加大一点……

如果使用了Hibernate的话,良好的持久化关联关系配置、合理的缓存规划、逻辑清醒的业务代码……这些都可以提升应用程序的可延展性。

最后,也是最现实的一点(也许可以说是最管用的一条)——和学校这方面的负责人协商一下,改善一下学生选课的流程,适当延长选课的时间段,不要让所有学生都同时在使用你们的选课系统。(一个普通的大学一般都有数以万计的学生,如果很短的时间段里他们同时在你们的系统上进行操作,那么很难相信学校这种近乎业余级别的服务器可以承受得住。)
12 楼 刑天战士 2007-01-19  
分区,索引可以适当食用
11 楼 giscat 2007-01-19  
复杂查询建视图,这样结构很清晰

可做个物化视图,数据库端做个缓存

还可以做个应用级别的缓存,对关键数据进行缓存

页面级别的缓存也可以用

不过应用级的缓存是最有效的
10 楼 galaxystar 2007-01-19  
在高性能环境下,H反而成本更高!
9 楼 magice 2007-01-19  
Hibernate等东西出来是为了方便我们以常规的思维写程序,也就是面向对象,但是它的长处绝对不在性能,换一句话说,要提高性能的地方,最好不要用Hibernate等。
再有,个人认为在查询历史数据的思想就是创建冗余字段,最好达到不要关联其他表,以空间换速度
8 楼 KayMO 2007-01-19  
zuly 写道
76052186 写道
很高兴有人回贴,我可能没说清楚,我在补充一下
以上列出的两个项目,是我亲身经历的,一个项目是websphere +db2,一个是weblogic+oracle
两个项目都是经过优化的,并且是ibm,oracle公司的服务人员来优化的。sql也是经过优化.查询是分页的,
项目是一个漏斗行,既 apache http(最大连接) ->应用服务器(线程数,连接数)->数据库, 整个是一个逐渐减小的过程。

对于以上几个兄弟的方法,提出几点不明白的,
1.内存换速度,这是个好方法,曾经想用。问题是在集群时(或者多应用同时访问一个数据库时),如何保持数据同步,什么时候清除内存中的数据,其实Hibernate 有同样的问题,怎么解决(现在我真的怀疑Hibernate 有多大在实用价值,在真实环境中,缓存,集群,多个应用同时访问同一个数据库,是常见的事,Hibernate如何解决,说远了。。。回主题).
2,有些时候数据是从其它系统来的,不可能动别人的数据库结构,
3,对数据库而言,如何考增加服务器,来提高性能.分区数据库吗?可这个东西,连ibm自已的工程师都说这种方式不能提高性能。
4,不用集群,提高单台服务器的硬件性能,我认为这是最不好的方式,软件太没伸缩性。这种方案会导至用户原来的硬件不在使用,用户会很不满意的。
希望高手继需!希望能看到更新奇在思想,我正有个想法,但还不成熟,待我做通实验,在请大家指点。
关键是对核心技术的把握不够!我看到过很多的项目把ejb用的就和Hibernate一样!

这个狠

关于hibernate性能,cache,cluster环境等问题论坛已经有过N个相关帖了,楼主可以细心搜索下
7 楼 WinLive 2007-01-18  
这确确实实是个很让人头疼得事情,
平时服务器可能根本就没什么事情
在选课期间会有非常高的并发率,
可以研究一下RowSet,
可以不需要一直与数据库保持连接,而在内存中执行
6 楼 zuly 2007-01-18  
76052186 写道
很高兴有人回贴,我可能没说清楚,我在补充一下
以上列出的两个项目,是我亲身经历的,一个项目是websphere +db2,一个是weblogic+oracle
两个项目都是经过优化的,并且是ibm,oracle公司的服务人员来优化的。sql也是经过优化.查询是分页的,
项目是一个漏斗行,既 apache http(最大连接) ->应用服务器(线程数,连接数)->数据库, 整个是一个逐渐减小的过程。

对于以上几个兄弟的方法,提出几点不明白的,
1.内存换速度,这是个好方法,曾经想用。问题是在集群时(或者多应用同时访问一个数据库时),如何保持数据同步,什么时候清除内存中的数据,其实Hibernate 有同样的问题,怎么解决(现在我真的怀疑Hibernate 有多大在实用价值,在真实环境中,缓存,集群,多个应用同时访问同一个数据库,是常见的事,Hibernate如何解决,说远了。。。回主题).
2,有些时候数据是从其它系统来的,不可能动别人的数据库结构,
3,对数据库而言,如何考增加服务器,来提高性能.分区数据库吗?可这个东西,连ibm自已的工程师都说这种方式不能提高性能。
4,不用集群,提高单台服务器的硬件性能,我认为这是最不好的方式,软件太没伸缩性。这种方案会导至用户原来的硬件不在使用,用户会很不满意的。
希望高手继需!希望能看到更新奇在思想,我正有个想法,但还不成熟,待我做通实验,在请大家指点。
关键是对核心技术的把握不够!我看到过很多的项目把ejb用的就和Hibernate一样!

相关推荐

    模拟电路设计经验谈-模拟电路设计经验谈-模拟电路设计经验谈

    ### 模拟电路设计经验谈 #### 一、模拟电路设计的重要性及背景 模拟电路设计在电子工程领域占据着至关重要的地位。随着信息技术的发展,模拟电路不仅被广泛应用于通信、信号处理、电源管理等多个领域,而且其设计...

    软考经验谈如何轻松通过软件设计师考试

    软考经验谈如何轻松通过软件设计师考试,我的计算机学习过程是与考试同步进行的,参加了一系列大大小小的计算机考试有十余次,其中有成功,也有失败,最大的收获是不怕考试。从初、中级职称计算机考试开始,参加过...

    FPGA设计应用经验谈

    【FPGA设计应用经验谈】 在FPGA设计领域,经验和技巧是至关重要的。FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,它允许用户根据需求配置内部逻辑,实现各种数字电路功能。本文将分享一些关于FPGA...

    PCB设计经验谈

    标题"PCB设计经验谈"暗示了这是一份关于PCB设计实践经验和技巧的文档,可能包含了一些专家或资深工程师的心得体会。 PCB设计不仅是技术性的,也包含艺术成分,因为设计师需要在有限的空间内优化电路性能,同时考虑...

    数据库设计经验谈

    数据库设计是软件开发中的核心环节,它直接影响到系统的效率、稳定性和可维护性。本文将基于标题和描述,结合提供的部分内容,详细阐述数据库设计的关键点。 首先,设计数据库之前,我们需要充分理解业务需求并考察...

    新手网页制作经验谈

    在这个经验谈中,我们将探讨一些关键的步骤和策略,帮助新手成功创建自己的网站。 首先,热情和决心是成功的关键。即使你对编程一窍不通,只要有意愿、时间和精力投入,都可以克服初期的困难。如果对电脑操作不熟悉...

    数据库设计经验谈,比较详细的数据库设计经验(doc文档),

    数据库设计是IT行业中至关重要的一个环节,它直接影响到软件系统的性能、稳定性和可维护性。在数据库设计过程中,有许多经验和技巧需要掌握。以下是对给定文件内容的详细解读: 1. **设计数据库之前** 在设计...

    Protel 99 PCB设计经验谈

    《Protel 99 PCB设计经验谈》这篇文章深入探讨了使用Protel 99软件进行PCB(Printed Circuit Board,印制电路板)设计的关键技巧与注意事项,旨在帮助读者提升设计水平,避免常见错误,从而提高PCB设计的质量与效率...

    数据库设计之——数据库设计经验谈

    ### 数据库设计之——数据库设计经验谈 在当今数字化时代,数据成为了企业运营的重要组成部分,而数据库则是管理和存储这些数据的核心工具。一个优秀的数据库设计能够极大地提升系统的性能、可靠性和可扩展性。本文...

    数据库设计经验谈.pdf

    这份"数据库设计经验谈"涵盖了从前期准备到具体实施的多个关键步骤,以下是对这些内容的详细阐述: 1. **设计数据库之前** 在开始设计之前,需要深入考察现有的环境,理解当前系统的工作方式、数据流转以及存在的...

    Protel 99 PCB设计经验谈+学习进阶资料(一位成功工程师)

    总之,这份"Protel 99 PCB设计经验谈"结合实践经验和深入学习资料,为读者提供了一个全面了解和掌握PCB设计的平台,有助于提升设计水平和解决实际问题的能力。对于有志于在电子设计领域发展的朋友们来说,这是一个...

    温昱---架构设计方法经验谈

    温昱作为一位资深的架构师,他的"架构设计方法经验谈"为我们提供了宝贵的见解和深入的理解。以下是根据标题、描述以及可能包含在PDF文档中的内容推测出的一些关键知识点: 1. **架构定义与角色**:首先,架构设计是...

    源码追踪经验谈

    这份名为“源码追踪经验谈”的PDF文档,很可能是某位资深开发者或者技术专家根据自己的实践经历编写的,旨在分享他们在源码分析和调试过程中的技巧和心得。下面我们将深入探讨源码追踪的相关知识点,并结合实际应用...

    软件项目测试管理经验谈

    ### 软件项目测试管理经验谈 #### 一、软件测试员自身素质培养 软件测试作为软件开发的重要环节,其质量直接影响到软件产品的稳定性和用户体验。因此,培养优秀的软件测试人员至关重要。以下几点建议有助于提升...

    侯捷畅谈源码追踪经验谈

    《侯捷畅谈源码追踪经验谈》是Java领域的经典之作,由知名IT专家侯捷撰写,该书深入探讨了源码分析与调试的技术和策略。全书分为上下两册,旨在帮助开发者提升对代码的理解能力和问题排查能力,从而更好地驾驭复杂的...

    资料-Protel 99 PCB设计经验谈.zip

    本资料集围绕“Protel 99 PCB设计经验谈”展开,涵盖了从基本概念到高级技巧的全方位知识。 一、Protel 99概述 Protel 99是澳大利亚Altium公司(原名Protel)开发的一款电子设计软件,包括原理图设计(Schematic ...

    软件测试经验谈,摘自51testing.com

    ### 软件测试经验谈 #### 引言 随着软件产业的发展,软件测试作为确保产品质量的关键环节,其重要性日益凸显。对于刚踏入这一领域的新人来说,掌握正确的测试方法和积累实践经验至关重要。本文旨在为软件测试新手...

    Protel+99+PCB设计经验谈

    ### Protel 99 SE PCB设计经验谈 #### 一、引言 随着电子技术的飞速发展,印制电路板(PCB)的设计已经成为电子产品开发过程中不可或缺的一部分。Protel 99 SE作为一款广泛应用于PCB设计的专业软件,其易用性和强大的...

    源码追踪经验谈[侯捷]

    《源码追踪经验谈》是著名IT专家侯捷先生撰写的一本关于软件开发与调试的著作,这本书深入探讨了如何通过源代码分析和追踪来提升软件理解和优化的能力。书中涵盖了多个重要的知识点,以下是对这些核心内容的详细阐述...

Global site tag (gtag.js) - Google Analytics