- 博客(136)
- 资源 (28)
- 论坛 (2)
- 收藏
- 关注

原创 Python开发系列课程(0) - 公告
好久都没有打开自己的博客,今天才注意到博客的访问量早已过了200万次,而关注我博客的人也越来越多,突然觉得有些惭愧,从2017年1月到现在居然只为自己的博客添了一篇博文,以前一直以没有时间作为借口没有把自己的博客建起来就选择了CSDN,然而选择了CSDN后这两年也没有好好写几篇对得起观众的博文,我自己对自己有点失望。当然2017年也并不是没有收获,至少家里又添了一个小宝宝,这让我的生活又多了很多的...
2018-02-26 01:03:18
5297
8

原创 Java面试题全集(下)
这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题。此外,这篇文章还对企业应用架构、大型网站架构和应用服务器优化等内容进行了简单的探讨,这些内容相信对面试会很有帮助。
2015-04-14 17:19:19
219053
48

原创 Java面试题全集(中)
2015年重新整理发布的Java面试题全集,这部分主要是与Java Web和Web Service相关的面试题。
2015-04-09 22:05:20
236345
28

原创 Java面试题全集(上)
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。
2015-04-08 17:14:00
1255058
310

原创 Java的第20年:Java和我的故事
今年是Java诞生的第20年,写这样的一篇文章纪念那个曾经让我执着和疯狂的Java,也纪念那个从单纯到迷茫再回归单纯的我。
2015-03-29 06:42:12
19535
51

原创 关于Java并发编程的总结和思考
编写优质的并发代码是一件难度极高的事情。Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更好的选择。本文是对并发编程的一点总结和思考,同时也分享了Java 5以后的版本中如何编写并发代码的一点点经验。
2015-03-27 10:36:10
134539
35

原创 程序员必读书籍及导读指南
最近在网上看了一个非常好的帖子《程序员一生必读的书》, 这张图是由ThoughtWorks的资深人士提供的,它将程序员要读的书分为四个类别,每个类别又分为初级、进阶和高级读物,并用黄色三角形点出了强烈推荐阅读的书籍。
2015-03-23 00:59:20
52692
57

原创 Java Web自定义MVC框架详解
最近给学生讲Java Web,希望他们能够在学完这部分内容后自己实现一个MVC框架。但是突然发现百度上能搜索到的靠谱的资料并不是很多,有些只是原理没有代码实现,有些有代码实现但是对于初学者来说理解起来还是比较困难,于是决定把自己讲自定义MVC框架的内容放在这里分享给大家,不仅仅是代码,也有原理和探讨。内容会比较长,因为我打算用递增的方式讲解如何写一个自定义MVC框架,重点是前端控制器的开发。先...
2015-01-16 10:56:01
50108
26
原创 Python开发系列课程(20) - 网络应用开发
网络应用开发发送电子邮件在即时通信软件如此发达的今天,电子邮件仍然是互联网上使用最为广泛的应用之一,公司向应聘者发出录用通知、网站向用户发送一个激活账号的链接、银行向客户推广它们的理财产品等几乎都是通过电子邮件来完成的,而这些任务应该都是由程序自动完成的。就像我们可以用HTTP(超文本传输协议)来访问一个网站一样,发送邮件要使用SMTP(简单邮件传输协议),SMTP也是一个建立在T...
2018-05-05 00:33:43
4618
2
原创 Python开发系列课程(19) - 数据可视化
数据可视化数据的处理、分析和可视化已经成为Python近年来最为重要的应用领域之一,其中数据的可视化指的是将数据呈现为漂亮的统计图表,然后进一步发现数据中包含的规律以及隐藏的信息。数据可视化又跟数据挖掘和大数据分析紧密相关,而这些领域以及当下被热议的“深度学习”其最终的目标都是为了实现从过去的数据去对未来的状况进行预测。Python在实现数据可视化方面是非常棒的,即便是使用个人电脑也能够实现对...
2018-05-01 00:16:34
3305
2
原创 Python开发系列课程(18) - 网络编程入门
网络编程入门计算机网络基础计算机网络是独立自主的计算机互联而成的系统的总称,组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数,而计算机网络也可以称得上是一个“复杂巨系统”,对于这样的系统,我们不可能用一两篇文章把它讲清楚,有兴趣的读者可以自行阅读Andrew S.Tanenbaum老师的经典之作《计算机网络》或Ku...
2018-04-26 23:32:15
2364
1
原创 Python开发系列课程(17) - Python“惯例”
Python“惯例”“惯例”这个词指的是“习惯的做法,常规的办法,一贯的做法”,与这个词对应的英文单词叫“idiom”。由于Python跟其他很多编程语言在语法和使用上还是有比较显著的差别,因此作为一个Python开发者如果不能掌握这些惯例,就无法写出“Pythonic”的代码。下面我们总结了一些在Python开发中的惯用的代码。让代码既可以被导入又可以被执行。if __name__...
2018-04-24 18:31:13
1927
1
原创 Python开发系列课程(16) - 进程和线程
进程和线程今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发的执行,从而缩短程序的执行时间,同时也让用户获得更好的体验。因此在当下不管是用什么编程语言进行开发,实现让程序同时执行多个任务也就是常说的“并发编程”,应该是程序员必备技能之一。为此,我们需要先...
2018-03-27 19:10:58
3000
原创 Python开发系列课程(15) - Python参考书籍
Python参考书籍入门读物《Python基础教程》(Beginning Python From Novice to Professional)《Python学习手册》(Learning Python)《Python编程》(Programming Python)《Python Cookbook》《Python程序设计》(Python Programming: An Intro...
2018-03-25 17:10:35
7567
3
原创 Python开发系列课程(14) - 玩转正则表达式
玩转正则表达式正则表达式相关知识在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉)。如果你在Windows操作系统中使用过文件查找并且在指定文件名时使用过通配符(*和?...
2018-03-23 14:47:08
1969
原创 Python开发系列课程(13) - 文件和异常
文件和异常在实际开发中,常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,对于这个概念,维基百科上给出了很好的诠释,这里不再浪费笔墨。在Python中实现文件的读写操作其实非常简单,通过Python内置的open函数,我们可以指定文件名、操作模式、编码信息等来获得操作文件的对象,接下来就可...
2018-03-23 00:29:38
1447
1
原创 Python开发系列课程(12) - 图形用户界面和游戏开发
图形用户界面和游戏开发基于tkinter模块的GUIGUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python 3以前的版本中名为Tkinter),从这个名字就可以看出它是基于Tk的,Tk是一个工具包,最初是为Tcl设计的,后来被移植到很多其他的脚本语言中,它提供了跨平台的GUI控...
2018-03-18 22:03:25
5714
1
原创 Python开发系列课程(11) - 面向对象编程进阶
面向对象编程进阶在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息。为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程进行更为深入的了解。@property装饰器之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有...
2018-03-13 19:46:28
2525
2
原创 Python开发系列课程(10) - 那些年我们踩过的那些坑(上)
那些年我们踩过的那些坑坑01 - 整数比较的坑在 Python 中一切都是对象,整数也是对象,在比较两个整数时有两个运算符==和is,它们的区别是:is比较的是两个整数对象的id值是否相等,也就是比较两个引用是否代表了内存中同一个地址。==比较的是两个整数对象的内容是否相等,使用==时其实是调用了对象的__eq__()方法。知道了is和==的区别之后,我们可以来看看下...
2018-03-11 22:42:42
25134
6
原创 Python开发系列课程(9) - 面向对象编程基础
面向对象编程基础活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。 把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(...
2018-03-11 09:45:05
2618
原创 Python开发系列课程(8) - 字符串和常用数据结构
字符串和常用数据结构使用字符串第二次世界大战促使了现代电子计算机的诞生,当初的想法很简单,就是用计算机来计算导弹的弹道,因此在计算机刚刚诞生的那个年代,计算机处理的信息主要是数值,而世界上的第一台电子计算机ENIAC每秒钟能够完成约5000次浮点运算。随着时间的推移,虽然对数值运算仍然是计算机日常工作中最为重要的事情之一,但是今天的计算机处理得更多的数据都是以文本信息的方式存在的,而P...
2018-03-09 02:02:19
2528
2
原创 Python开发系列课程(7) - 函数和模块的使用
函数和模块的使用在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。x1+x2+x3+x4=8x1+x2+x3+x4=8x_1 + x_2 + x_3 + x_4 = 8事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。CNM=M!N!(M−N)!,(M=7, N=3)CMN=M!N!(M...
2018-03-05 23:40:20
2809
1
原创 Python开发系列课程(6) - 要不要使用复杂表达式
要不要使用复杂表达式Perl语言的原作者Larry Wall曾经说过,伟大的程序员都有三个优点:懒惰、暴躁和自负。乍一看这三个词语没有一个是褒义词,但在程序员的世界里,这三个词有不同的意义。首先,懒惰会促使程序员去写一些省事儿的程序来辅助自己或别人更好的完成工作,这样我们就无需做那些重复和繁琐的劳动;同理能够用3行代码解决的事情,我们也绝不会写出10行代码来。其次,暴躁会让程序员主动的去完成一...
2018-03-03 20:37:00
2558
1
原创 Python开发系列课程(5) - 玩转PyCharm(上)
玩转PyCharm(上)PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补全、单元测试、版本控制等等。此外,PyCharm还提供了对一些高级功能的支持,包括支持基于Django框架的Web开发、。...
2018-03-02 00:01:55
4128
原创 Python开发系列课程(4) - 循环结构
循环结构循环结构的应用场景如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意到了,刚才的描述中其实不仅仅有需要重复的动作,还有我们上一个章节讲到的分支结构。再举一个简单的例子,比如在我们的程序中要实现每隔1秒中在屏幕上打印一个"hello, world"这样...
2018-02-28 18:19:13
2763
原创 Python开发系列课程(3) - 分支结构
分支结构分支结构的应用场景迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种结构的代码我们称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本局游戏后我们要根据玩家得到分数来决定究竟是进入第二关还是告诉玩家“Game Over”,这里就会产生两个分支,而且这两个分支只有一个会被执行,这就是程序中...
2018-02-28 16:35:24
2885
2
原创 Python开发系列课程(2) - 语言元素
语言元素指令和程序计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们写程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情。今天我们使用的计算机虽然器件...
2018-02-27 19:05:26
3697
原创 Python开发系列课程(1) - 初识Python
初识PythonPython简介Python是一个很棒的语言,从它诞生的那天起,一直致力于向开发者提供同时具备可读性和生产力的多范式编程语言。曾经有人Python仅仅是一门脚本语言,不适合构建大型系统,但是现在在社区和先驱公司的努力下,Python已经成为可以构建绝大多数应用系统的开发语言。Python的历史1989年圣诞节:Guido von Rossum开始写Pyth...
2018-02-26 19:34:42
8328
8
原创 字符编码和Java中的乱码问题
一篇文章帮你理解字符编码以及Java中的各种编码问题,从此以后,妈妈再也不用担心我程序中乱码和编码黑洞这些问题啦!
2017-01-17 18:42:50
11154
1
原创 欢迎加入我们的Java技术交流群
群名称:Java技术交流D群 群号:212515971 二维码:群号:643041619(已满) 二维码: 说明:加入时请说明是CSDN的用户,谢谢。群号:205287502(已满) 二维码: 说明:加入时请说明是CSDN的用户,谢谢。群号:228436533(已满) 二维码: 说明:加入时请说明是CSDN的用户,谢谢。
2016-10-22 22:11:39
17415
原创 iOS开发笔记 - Swift快速入门(视频分享)
连续录制了3天Swift的课堂视频,希望帮助有Objective-C使用经验和iOS开发经验的小伙伴迅速了解这门语言,由于Swift这个语言本身还在演进中,我自己也是一边学习一边把心得体会跟大家分享,希望能够给大家带来一些帮助,下面是相关内容的百度云盘链接,我先检讨一下不应该使用百度的任何产品,我们应该为抵制无良企业做出自己的贡献。
2016-05-05 19:44:18
3880
原创 iOS开发笔记 - 语言篇之Swift
2014年的苹果全球开发者大会(WWDC),当Craig Federighi向全世界宣布“We have new programming language”(我们有了新的编程语言)的时候,全场响起了最热烈和持久的掌声,伴随着掌声到来的语言叫Swift。接下来Craig Federighi更是毫不掩饰的告诉大家,Swift将成为主宰iOS和Mac开发的新语言,甚至是整个软件行业中最举足轻重的语言。
2016-03-20 18:18:44
10246
1
原创 iOS开发笔记 - 用CocoaPods管理第三方库
在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确配置这些第三方库会非常的繁琐,还好我们有CocoaPods来做这件事情,就如同在Java的世界里有Maven和Gradle,当然Maven的作用不仅仅是第三依赖库管理。通过CocoaPods工具我们可以为项目添加被称为"Pods"的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
2016-03-20 10:02:07
5830
原创 iOS开发笔记 - 界面调试神器Reveal
Reveal是iOS开发中调试UI的利器,它能够在应用程序运行过程中调试应用程序界面。 通过Reveal我们可以连接到应用程序,并允许开发者编辑各种用户界面参数,结果会马上在用户界面上呈现,就像用浏览器的开发人员工具调试HTML页面一样,在不改写代码、重新构建和重新部署应用程序的情况下就能够调试iOS应用的用户界面。
2016-03-20 00:30:38
10587
1
原创 iOS开发笔记 - 工具篇
工欲善其事,必先利其器。作为一个合格的iOS开发者,熟练的使用各种开发或辅助开发的工具也算是一项必备技能吧,下面是我整理的一些工具及其应用场景和使用方法。
2016-03-03 11:07:49
5240
2
Java Web自定义MVC框架项目源代码
2015-04-13
C#开发的记忆力测试游戏
2014-04-06
Spring3.x企业应用开发实战源代码
2014-01-06
Introduction to Java Programming 6th Edition习题解答
2009-02-12
Introduction to Java Programming sixth Edition练习答案
2009-02-12
Introduction to Java Programming sixth Edition源程序
2009-02-12
《Java学习笔记 JDK 5》 林信良 著作
2009-02-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝