阅读更多

4顶
1踩

研发管理

转载新闻 编程从业 5 年后的 14 条经验

2013-04-19 17:48 by 副主编 WnouM 评论(44) 有21749人浏览



排列不分先后:

1. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把它从数据库层拿出来。排序和分组就是典型的例子。在应用层做性能提升总是要比在数据库层容易的多。就像对于MySQL,sqlite更容易掌控。

2. 关于并行计算,如果能避免就尽量避免。如果无法避免,记住,能力越大,责任越大。如果有可能,尽量避免直接对线程操作。尽可能在更高的抽象层上操作。例如,在iOS中,GCD,分发和队列操作是你的好朋友。人类的大脑没有被设计成用来分析那些无穷临时状态——这是我的惨痛教训所得。

3. 尽可能简化状态,尽可能局部本地化,适用至上。

4. 短小可组合的方法是你的好朋友。

5. 代码注释是危险的,因为它们很容易更新不及时或给人误导,但这不能成为不写注释的理由。不要注释鸡毛蒜皮的事情,但如果需要,在某些特殊地方,战略性的长篇注释是需要的。你的记忆会背叛你,也许会在明天早上,也许会在一杯咖啡后。

6. 如果你认为一个用例场景也许“不会有问题吧”,它也许就是一个月后让你在发布的产品中遭受惨痛失败的地方。做一个怀疑主义者,测试,验证。

7. 有疑问时,和团队中所有相关人交流。

8. 做正确的事情——你通常会知道这指的是什么。

9. 你的用户并不傻,他们只是没有耐心理解你的捷径。

10. 如果一个开发人员没有被安排长期的维护你们开发的系统,对他保持警惕。80%的血、汗、泪水都是在软件发布后的时间里流的——那时你会变成一个厌世者,但也是更聪明的“行家”。

11. 任务清单是你的好朋友。

12. 主动让你的工作更有乐趣,有时这需要你付出努力。

13. 悄无声息的崩溃,我仍然会为此从噩梦中惊醒。监控,日志,警报。清楚各种的假警报和不可避免的感觉钝化。保持你的系统对故障的敏感和及时警报。

14. 复杂是大敌。

*边注:Rich Hickey先生的谈话和Robert Martin先生的《Clean Code(代码整洁之道)》一书最近给我的工作带来了非常积极正面的影响。

英文原文:14 lessons after five years of professional programming / 译文:外刊IT评论
  • 大小: 37.4 KB
来自: 外刊IT评论
4
1
评论 共 44 条 请登录后发表评论
24 楼 huoyj 2013-04-22 13:10
teasp 写道
huoyj 写道
teasp 写道
huoyj 写道
teasp 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?

归并排序和快速排序都是很优秀的排序算法,JAVA中的归并排序是经过改进的,性能确实很优秀,而快速排序性能是依概率变化,在平均情况下很实用,但最坏情况时他的表现也糟糕,快速排序比归并排序好的一点是比较节省空间。这些算法的规则已经很固定了,谁来实现谁来调用都是一样的,除非你能发明一种更优秀的算法,时间复杂度为 O(1),空间复杂度也为O(1),但这几乎是不可能的.那你为什么还要发明重复的轮子呢,照你的说法大家都不要用JAVA提供的工具了、不要用数据库了,什么东西都自己实现比较放心。性能的问题涉及到的原因很多,如果你只是写个小程序,或者你不用任何厂商的东西,那你可以优化你的程序算法,如果你用到了底层的服务,厂商的产品和网络的协议话,这些因素都是要考虑的。现在的企业级的应用调优的话也没有哪个架构师说改算法的,都是从网络,服务器和数据库层面先找问题,希望上帝保佑但愿写的程序不要出bug就够了。

你展开得太多了。我没说要什么事情都自己做,我脑子坏掉了要自己实现一个归并排序?我是说在应用的特定场景,你往往会有比人家提供的工具更好的做法。特殊情况下O(1)的排序是可以的(当然,不算输入时间),这时你干嘛要用人家提供的方法呢?从你的发言也能看出来没有明白java为什么用归并。

好吧,愿闻其详。


那是因为Java里面的比较通常都是对象之间,而对象之间的比较通常又比较耗时,归并比快排的比较次数要少,因此Java里面用的是归并而不是快排。这就是一个不同场景有不同做法的例子。

没错,我之前确实没有想过这个问题,刚才也想了一下,JAVA中用归并而不用快速有一个原因是归并是一种稳定的排序,快速排序不稳定。比较排序的比较次数应该都是O(nlgn),但归并排序的系数更小一些。那么C++中为什么又选用快速排序呢,C++不也是一种面向对象的语言么。
23 楼 teasp 2013-04-22 13:05
huoyj 写道
huoyj 写道
teasp 写道
huoyj 写道
teasp 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?

归并排序和快速排序都是很优秀的排序算法,JAVA中的归并排序是经过改进的,性能确实很优秀,而快速排序性能是依概率变化,在平均情况下很实用,但最坏情况时他的表现也糟糕,快速排序比归并排序好的一点是比较节省空间。这些算法的规则已经很固定了,谁来实现谁来调用都是一样的,除非你能发明一种更优秀的算法,时间复杂度为 O(1),空间复杂度也为O(1),但这几乎是不可能的.那你为什么还要发明重复的轮子呢,照你的说法大家都不要用JAVA提供的工具了、不要用数据库了,什么东西都自己实现比较放心。性能的问题涉及到的原因很多,如果你只是写个小程序,或者你不用任何厂商的东西,那你可以优化你的程序算法,如果你用到了底层的服务,厂商的产品和网络的协议话,这些因素都是要考虑的。现在的企业级的应用调优的话也没有哪个架构师说改算法的,都是从网络,服务器和数据库层面先找问题,希望上帝保佑但愿写的程序不要出bug就够了。

你展开得太多了。我没说要什么事情都自己做,我脑子坏掉了要自己实现一个归并排序?我是说在应用的特定场景,你往往会有比人家提供的工具更好的做法。特殊情况下O(1)的排序是可以的(当然,不算输入时间),这时你干嘛要用人家提供的方法呢?从你的发言也能看出来没有明白java为什么用归并。

好吧,愿闻其详。

你说的有道理,我还是觉得调优是一门综合的技术,没有谁先谁后的,定位瓶颈应该是最主要的。

没错。
22 楼 huoyj 2013-04-22 12:57
huoyj 写道
teasp 写道
huoyj 写道
teasp 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?

归并排序和快速排序都是很优秀的排序算法,JAVA中的归并排序是经过改进的,性能确实很优秀,而快速排序性能是依概率变化,在平均情况下很实用,但最坏情况时他的表现也糟糕,快速排序比归并排序好的一点是比较节省空间。这些算法的规则已经很固定了,谁来实现谁来调用都是一样的,除非你能发明一种更优秀的算法,时间复杂度为 O(1),空间复杂度也为O(1),但这几乎是不可能的.那你为什么还要发明重复的轮子呢,照你的说法大家都不要用JAVA提供的工具了、不要用数据库了,什么东西都自己实现比较放心。性能的问题涉及到的原因很多,如果你只是写个小程序,或者你不用任何厂商的东西,那你可以优化你的程序算法,如果你用到了底层的服务,厂商的产品和网络的协议话,这些因素都是要考虑的。现在的企业级的应用调优的话也没有哪个架构师说改算法的,都是从网络,服务器和数据库层面先找问题,希望上帝保佑但愿写的程序不要出bug就够了。

你展开得太多了。我没说要什么事情都自己做,我脑子坏掉了要自己实现一个归并排序?我是说在应用的特定场景,你往往会有比人家提供的工具更好的做法。特殊情况下O(1)的排序是可以的(当然,不算输入时间),这时你干嘛要用人家提供的方法呢?从你的发言也能看出来没有明白java为什么用归并。

好吧,愿闻其详。

你说的有道理,我还是觉得调优是一门综合的技术,没有谁先谁后的,定位瓶颈应该是最主要的。
21 楼 teasp 2013-04-22 12:56
huoyj 写道
teasp 写道
huoyj 写道
teasp 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?

归并排序和快速排序都是很优秀的排序算法,JAVA中的归并排序是经过改进的,性能确实很优秀,而快速排序性能是依概率变化,在平均情况下很实用,但最坏情况时他的表现也糟糕,快速排序比归并排序好的一点是比较节省空间。这些算法的规则已经很固定了,谁来实现谁来调用都是一样的,除非你能发明一种更优秀的算法,时间复杂度为 O(1),空间复杂度也为O(1),但这几乎是不可能的.那你为什么还要发明重复的轮子呢,照你的说法大家都不要用JAVA提供的工具了、不要用数据库了,什么东西都自己实现比较放心。性能的问题涉及到的原因很多,如果你只是写个小程序,或者你不用任何厂商的东西,那你可以优化你的程序算法,如果你用到了底层的服务,厂商的产品和网络的协议话,这些因素都是要考虑的。现在的企业级的应用调优的话也没有哪个架构师说改算法的,都是从网络,服务器和数据库层面先找问题,希望上帝保佑但愿写的程序不要出bug就够了。

你展开得太多了。我没说要什么事情都自己做,我脑子坏掉了要自己实现一个归并排序?我是说在应用的特定场景,你往往会有比人家提供的工具更好的做法。特殊情况下O(1)的排序是可以的(当然,不算输入时间),这时你干嘛要用人家提供的方法呢?从你的发言也能看出来没有明白java为什么用归并。

好吧,愿闻其详。


那是因为Java里面的比较通常都是对象之间,而对象之间的比较通常又比较耗时,归并比快排的比较次数要少,因此Java里面用的是归并而不是快排。这就是一个不同场景有不同做法的例子。
20 楼 huoyj 2013-04-22 12:44
teasp 写道
huoyj 写道
teasp 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?

归并排序和快速排序都是很优秀的排序算法,JAVA中的归并排序是经过改进的,性能确实很优秀,而快速排序性能是依概率变化,在平均情况下很实用,但最坏情况时他的表现也糟糕,快速排序比归并排序好的一点是比较节省空间。这些算法的规则已经很固定了,谁来实现谁来调用都是一样的,除非你能发明一种更优秀的算法,时间复杂度为 O(1),空间复杂度也为O(1),但这几乎是不可能的.那你为什么还要发明重复的轮子呢,照你的说法大家都不要用JAVA提供的工具了、不要用数据库了,什么东西都自己实现比较放心。性能的问题涉及到的原因很多,如果你只是写个小程序,或者你不用任何厂商的东西,那你可以优化你的程序算法,如果你用到了底层的服务,厂商的产品和网络的协议话,这些因素都是要考虑的。现在的企业级的应用调优的话也没有哪个架构师说改算法的,都是从网络,服务器和数据库层面先找问题,希望上帝保佑但愿写的程序不要出bug就够了。

你展开得太多了。我没说要什么事情都自己做,我脑子坏掉了要自己实现一个归并排序?我是说在应用的特定场景,你往往会有比人家提供的工具更好的做法。特殊情况下O(1)的排序是可以的(当然,不算输入时间),这时你干嘛要用人家提供的方法呢?从你的发言也能看出来没有明白java为什么用归并。

好吧,愿闻其详。
19 楼 teasp 2013-04-22 12:25
taolei0628 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


truekbcl 写道
第一条是一个分水岭。


这确实是一个能力和经验的分水岭。
在许多情况下是可以做到数据库更高效的优化的。
因为应用的开发者总是比数据库了解更多的数据内在的规律,这点很重要。


就是这个理嘛,怎么会有这样大的争议呢?
18 楼 teasp 2013-04-22 12:24
huoyj 写道
teasp 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?

归并排序和快速排序都是很优秀的排序算法,JAVA中的归并排序是经过改进的,性能确实很优秀,而快速排序性能是依概率变化,在平均情况下很实用,但最坏情况时他的表现也糟糕,快速排序比归并排序好的一点是比较节省空间。这些算法的规则已经很固定了,谁来实现谁来调用都是一样的,除非你能发明一种更优秀的算法,时间复杂度为 O(1),空间复杂度也为O(1),但这几乎是不可能的.那你为什么还要发明重复的轮子呢,照你的说法大家都不要用JAVA提供的工具了、不要用数据库了,什么东西都自己实现比较放心。性能的问题涉及到的原因很多,如果你只是写个小程序,或者你不用任何厂商的东西,那你可以优化你的程序算法,如果你用到了底层的服务,厂商的产品和网络的协议话,这些因素都是要考虑的。现在的企业级的应用调优的话也没有哪个架构师说改算法的,都是从网络,服务器和数据库层面先找问题,希望上帝保佑但愿写的程序不要出bug就够了。

你展开得太多了。我没说要什么事情都自己做,我脑子坏掉了要自己实现一个归并排序?我是说在应用的特定场景,你往往会有比人家提供的工具更好的做法。特殊情况下O(1)的排序是可以的(当然,不算输入时间),这时你干嘛要用人家提供的方法呢?从你的发言也能看出来没有明白java为什么用归并。
17 楼 damoqiongqiu 2013-04-22 10:48
真可惜,第一条就暴露了作者的无知
16 楼 taolei0628 2013-04-22 10:40
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


truekbcl 写道
第一条是一个分水岭。


这确实是一个能力和经验的分水岭。
在许多情况下是可以做到数据库更高效的优化的。
因为应用的开发者总是比数据库了解更多的数据内在的规律,这点很重要。
15 楼 chaochao1238 2013-04-22 10:34
第一条。。。当小数据量时通过数据库优化或者代码优化没有本质提高,大数据量光是数据传输就要消耗不少时间,还要进行算法排序,效率真心不如在数据库层做的好吧,数据库层还可以通过索引来优化分组和排序
14 楼 truekbcl 2013-04-22 09:25
第一条是一个分水岭。
13 楼 huoyj 2013-04-22 09:07
teasp 写道
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?

归并排序和快速排序都是很优秀的排序算法,JAVA中的归并排序是经过改进的,性能确实很优秀,而快速排序性能是依概率变化,在平均情况下很实用,但最坏情况时他的表现也糟糕,快速排序比归并排序好的一点是比较节省空间。这些算法的规则已经很固定了,谁来实现谁来调用都是一样的,除非你能发明一种更优秀的算法,时间复杂度为 O(1),空间复杂度也为O(1),但这几乎是不可能的.那你为什么还要发明重复的轮子呢,照你的说法大家都不要用JAVA提供的工具了、不要用数据库了,什么东西都自己实现比较放心。性能的问题涉及到的原因很多,如果你只是写个小程序,或者你不用任何厂商的东西,那你可以优化你的程序算法,如果你用到了底层的服务,厂商的产品和网络的协议话,这些因素都是要考虑的。现在的企业级的应用调优的话也没有哪个架构师说改算法的,都是从网络,服务器和数据库层面先找问题,希望上帝保佑但愿写的程序不要出bug就够了。
12 楼 MrLee23 2013-04-22 09:04
句句在理,都是经验之谈,如果当初我还是刚毕业的毛头小子的时候,能遇见这样的文章,我想我进步还会快一些。
11 楼 【●】景天 2013-04-22 08:36
看来大家对第一条最有争议...五年前我反对第一条,和经理大吵一架,最后在javaeye上发帖问,最后也没有个结果.五年后我充分理解第一条的含义.在程序的世界里,每件事情都没有个绝对,当你们碰到实际问题,不同方法都尝试下,找出最优的方案,才是王道...
10 楼 teasp 2013-04-22 08:14
ArtsCrafts 写道
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?


恰恰是第一条最不扯淡。不同的场景有不同的做法,那些工具要考虑到最多的场景,因此它们的算法几乎可以肯定不是最优的。就像Java的Collections提供给你的排序算法是归并排序,C++通常都是快速排序,这是为啥呢?如果你做Java开发,难道你只会用到归并--因为Java的开发者总是比你厉害?
9 楼 ArtsCrafts 2013-04-21 18:54
    第一条真是是扯淡,难道你写的算法比Oracle,DB2,SQLServer里面的算法厉害?
8 楼 zshui_2007 2013-04-20 12:18
关于第一条 就完全是扯淡;

到底有没具体执行过,还只是纸上谈兵 何来真功夫
7 楼 finallygo 2013-04-20 12:10
第一条主要针对的还是互联网应用
6 楼 chenxun101 2013-04-20 09:15
第一条与我的观点恰恰相反
5 楼 huoyj 2013-04-19 23:13
第一条太不赞同了,写了五年程序还想像傻瓜式的写嘛,真的应该关注一下数据库层能为你带来哪些提升.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • PHP分页技术demo详解

    通过简单地例子解释php的分页原理,demo中附带分页链接生成函数,而且通过参数可以选择不同样式的分页链接

  • libghttp 示例代码

    前些时间,由于找不到一个比较好使用的http库,自己封装了一个,不过时间紧迫,也没有完整分析HTTP协议,因此心里总不塌实地使用它,一次偶然的机会,让我在网上找到一个好用的http库 -- libghttp,目前的版本因该是libghttp-1.0.9. 这个库十分的方便使用,它能够轻松地实现同步和异步的Http请求。 简单使用实例: #include int main(int

  • 收集自网络的wordpress 分页导航的代码教程(全网最全版)

    为什么80%的码农都做不了架构师?>>> ...

  • 分页-如何实现分页-实用有简单的分页代码及步骤分享

    private User user; private List<User> userList;// 分页数据 private int currPageNo; // 当前页码-来自于用户输入 private int totalCount; // 总数量(表) private int pageSize; // 页面容量 private int totalPageCount;// 总页数-totalCount/pageSize(+1)

  • js 实现简单分页导航栏

    最终的效果:  1. 分页需要的几个重要参数: 总记录条数: totalCount (查数据库) 每页记录数: pageSize  (自己设置) 总页数: totalPageNum  (根据上面的参数计算)  当前页: currentPageNum (前台传入) 当前页要显示的内容 : List<PageInfo> (查数据库: page...

  • 导航条和翻页代码

    1.翻页的静态页面实现 Document .fy{ width:958px; height:40px; list-style:none; border:1px solid red; padding:0;

  • 微信小程序开发:向数组中插入数据

    每次请求的数据插入到定义的数组中,之前数据不覆盖 concat(); Page({ data: { content: ['aaa', 'bbb', 'ccc'] }, //监听页面滚动到底部 onReachBottom() { const than = this; this.setData({ content: than.data.content.concat(than.data.content) }) } }) ...

  • html简单分页源码

    简单好用的分页源码,简单方便易上手。只需要简单配置就可以用。

  • 基于分页导航的实现

    分页控制器需要放置在一个父shi tu

  • libghttp库的使用心得

    需要用到native程序上网接收文件到本地,需要的协议为http。 由于android本身自带的chrome太过复杂,调用起来也不方便。在网上搜索过后,移植了libhttp到本地。比较简单易用,但程序是否能很好的支持多线程,这个还需要继续了解。 一开始参考网上的代码写了一个,但总是发现文件有错乱。在仔细debug后,发现问题出在使用同步和异步获取文件的问题上。在开发前,并没有好好的去区分异步和...

  • 一个简单的分页代码

        今天看了一下同事写的分页代码 虽然效率不高 但是比我的简单多了数据量小的首选(别忘了定义gridview的pagesize)protected void LinkButton1_Click(object sender, EventArgs e)    {        GridView1.PageIndex = 0;        BusinessWork BusinessWork = n...

  • 如何实现分页?

    一、分页的原理 满足:position =(pageNo-1)*pageSize,如下图的规律所示: select * from pagin,得到总数据,结果如下 select * from pagin limit 0,3,得到第一页的数据,每一页显示3条,即pageNo=1,position=0(实际是从第一条开始),pageSize=3,运行结果如下,显示前三行数据,是我们想要...

  • libghttp

    这个库十分的方便使用,它能够轻松地实现同步和异步的Http请求。   src: http://libghttp.sourcearchive.com/   example: #include int main(int argc, char *argv[]) { char *uri = "http://www.hao123.com"; ghttp_request

  • 分页设计

    分页设计: #9条记录,每页最多只能显示4条 ,会有3页 第一页 0,4 第二页 4,4 第三页 8,4 select * from user limit 4,4 #n条记录 每页最多只能显示4条,会有整除n/4 n/4+1 页 ,第一页 0,4 ,第二页4,4 第三页 8,4 第m页 (m-1)*4 ,4 #n条记录 select...

  • Bootstrap(五) 导航条、分页导航

    本文转自:http://www.imooc.com/learn/141 导航条基础 导航条(navbar)和上一节介绍的导航(nav),就相差一个字,多了一个“条”字。其实在Bootstrap框架中他们还是明显的区别。在导航条(navbar)中有一个背景色、而且导航条可以是纯链接(类似导航),也可以是表单,还有就是表单和导航一起结合等多种形式。在这一节中将一起探讨B

  • PHP开发-分页实现(附效果图)

    首先一个分页类,如下(摘自网络)可拷贝直接使用<?php /* * Created on 2013-12-3 * 分页类 * To change the template for this generated file go to * Window - Preferences - PHPeclipse - PHP - Code Templates */ class Pagination

  • Java中如何实现分页功能

    华清远见成都中心 2017-10-11 14:48 内容多了,我们就会想要去做分页,既能提升用户体验,又减少页面体积,提升加载速度。那么Java中怎么实现分页功能呢?今天华清Java学院就和大家分享一下Java中如何实现分页功能。 Java实现分页功能的具体思路: 这里先说下Java实现分页的具体思路,主要就是利用了jquery.pagination这个插件,这个插件的原理就是你只要

Global site tag (gtag.js) - Google Analytics