自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JackChan

生活不止眼前的苟且,还有诗和远方!

  • 博客(88)
  • 资源 (57)
  • 收藏
  • 关注

原创 Android开发常用第三方平台

1. 性能监测 平台名称 说明 LeakCanary square出品的检测内存泄露 博睿bonree 领先的应用性能管理服务提供商,性能监测,移动监测…平台 听云 国内权威的应用性能监控平台2. 移动支付 平台名称 说明 支付宝 微信支付 银联支付 中国银联手机支付平台 tenpay QQ财付通 umpay 联动优势

2016-10-23 15:29:05 10706

原创 Android开发常用开源框架

Android开源框架系列Android开源项目Android开发常用开源框架2Android开发常用开源框架32017年伊始,你需要尝试的25个Android第三方库Android开发常用第三方平台免费的计算机编程类中文书籍free-programming-booksMark!Android最佳的开源库集锦移动开发周刊:Android最佳的开源库集锦GitHub Top 100

2016-10-23 12:41:20 17699 7

原创 Android N 新特性

2016年5月19日,谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布。2016年6月,Android N正式命名为“牛轧糖” 本届I/O开发者大会上,Google重点介绍了Android系统三个维度:分别是性能、安全和生产力。其中性能主要新增了Vulkan API与JIT编译器(前者优化图形性能、或者加快软件安装速度);安全性包括新的数据加密方式、恶意网站识别、系统的实时更新;

2016-10-21 20:43:30 7449 2

原创 XML解析器

相关阅读XML约束Xml 格式数据的生成和解析XML解析器一、操作XML文档概述1、如何操作XML文档XML文档也是数据的一种,对数据的操作也不外乎是“增删改查”。也被大家称之为“CRUD”C:Create;R:Retrieve;U:Update;D:Delete2、XML解析技术XML解析方式分为两种:DOM(Document Object Model)和SAX(Simple A

2016-10-08 23:38:39 9540 1

原创 Jquery

为了简化 JavaScript 的开发, 一些 JavsScript 库诞生了. JavaScript 库封装了很多预定义的对象和实用函数。能帮助使用者建立有高难度交互的 Web2.0 特性的富客户端页面, 并且兼容各大浏览器当前流行的 JavaScript 库有:jQuery,MooTools,Prototype,Dojo,YUI,EXT_JS DWRjquery是什么jQuery由美国人Joh

2016-10-31 20:35:00 815

原创 JavaWeb-JavaMail邮件开发

Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编写代码之前,有必要搞清楚电子邮件是如何在互联网上运作的。我们来看看传统邮件是如何运作的。假设你现在在北京,要给一个香港的朋友发一封信,怎么做呢?首先你得写好信,装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去。信件会从就近的小邮局转运到

2016-10-31 19:13:32 16648 2

原创 JavaWeb:上传下载文件

文件上传概述1、文件上传的作用例如网络硬盘!就是用来上传下载文件的。 在智联招聘上填写一个完整的简历还需要上传照片呢。2、文件上传对页面的要求上传文件的要求比较多,需要记一下:必须使用表单,而不能是超链接表单的method必须是POST,而不能是GET表单的enctype必须是multipart/form-data在表单中添加file表单字段,即<input type=”file” nam

2016-10-31 17:48:54 5782

原创 JavaWeb监听器

三大组件ServletListenerFilterListener:监听器初次相见:AWT二次相见:SAX监听器:它是一个接口,内容由我们来实现;它需要注册,例如注册在按钮上!监听器中的方法,会在特殊事件发生时被调用!观察者:事件源:小偷事件:偷东西监听器; 警察监听器中的方法:抓捕JavaWeb中的监听器事件源:三大域1、ServletContextServlet

2016-10-31 15:19:36 1108

原创 JavaWeb:JDBC之事务

系列阅读JavaWeb:用JDBC操作数据库JavaWeb:JDBC之事务JavaWeb:JDBC之数据库连接池 事务事务的四大特性:ACIDmysql中操作事务jdbc中操作事务事务概述为了方便演示事务,我们需要创建一个account表:CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARC

2016-10-31 12:43:27 3370 1

原创 JavaWeb:JDBC之数据库连接池

系列阅读JavaWeb:用JDBC操作数据库JavaWeb:JDBC之事务JavaWeb:JDBC之数据库连接池 池参数(所有池参数都有默认值)初始大小:10个最小空闲连接数:3个增量:一次创建的最小单位(5个)最大空闲连接数:12个最大连接数:20个最大的等待时间:1000毫秒四大连接参数连接池也是使用四大连接参数来完成创建连接对象!实现的接口连接池必须实现:javax.sql

2016-10-31 12:28:20 11091 3

原创 JavaWeb开发概述

JavaWeb开发入门,目录:JavaScript,XML解析器,JavaWeb开发入门,Http协议,Servlet技术,请求和响应,Cookie和Session,MySQL数据库,用JDBC操作数据库,JDBC之数据库连接池,JDBC之事务,上传下载文件,酷炫的文件上传技术,JavaMail邮件

2016-10-30 12:43:13 10055

原创 JavaWeb:过滤器Filter

一、过滤器概述1、什么是过滤器过滤器会在一组资源(jsp、servlet、.css、.html等等)的前面执行!它可以让请求得到目标资源,也可以不让请求达到!过滤器有拦截请求的能力!过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“放行”,那么会继承执行用户

2016-10-30 01:22:18 1025

转载 记住linux terminal下的快捷键,提高操作效率!

不少程序员操作linux就如同他们操作vim是一样的,会用的就是移动键,前后左右移动,输入内容,使用backspace删除相关的内容,然后号称自己会vim。而随便问几个简单的问题,就不知道了。而vim的命令甚多,需要不断积累,不是一朝一日可以操作熟练的。而linux的terminal的快捷键较少

2016-10-29 13:40:42 2175

原创 JavaWeb:AJAX

AJAX概述1、什么是AJAXAJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)AJAX还有一个最大的特点就是,当服务器响应时,不用刷新整个浏览器页面,而是可以局部刷新。这一特点给用户的感受是在不知不觉中完成请求和响应过程

2016-10-29 00:51:30 3320 4

原创 JavaWeb:MVC设计模式

1、MVC设计模式MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。MVC可对程序的后期维护和扩展提供了方便,并且使程

2016-10-29 00:25:46 1816

原创 JavaWeb:JSP

JSP入门1、JSP概述1.1 什么是JSPJSP(Java Server Pages)是JavaWeb服务器端的动态资源。它与html页面的作用是相同的,显示数据和获取数据。JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户

2016-10-28 22:05:39 2638

原创 JavaWeb:HttpServletResponse和HttpServletRequest

请求响应流程图response1、response概述response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletResponse。在客户端发出每个请求时,服务器都会创建一个response对象,并传入给Servlet.service()方法。response对象是用来对客户端进行响应的,这说明在service()方法中使用res

2016-10-28 20:53:55 6001 2

原创 JavaWeb:Servlet

Servlet概述生命周期方法:void init(ServletConfig):出生之后(1次)void service(ServletRequest request, ServletResponse response):每次处理请求时都会被调用void destroy():临死之前(1次)特性:单例,一个类只有一个对象;当然可能存在多个Servlet类线程不安全的,所以它的效率是高的

2016-10-28 19:55:10 1432

原创 JavaWeb:用JDBC操作数据库

JDBC系列阅读JavaWeb:用JDBC操作数据库JavaWeb:JDBC之事务JavaWeb:JDBC之数据库连接池1. 什么是JDBCJDBC的全称是Java数据库连接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、新增、更新和删除等操作。说白

2016-10-28 11:23:29 26496 3

原创 HTTP协议

网络编程Java基础:网络编程Uri、URL、UriMatcher、ContentUris详解Android应用开发:网络编程1Android应用开发:网络编程2 1. 什么是HTTP协议客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。HTTP是hypertext transfer protocol(

2016-10-28 11:12:14 1345

原创 JavaWeb:JavaScript

JavaScript概述Javascript是基于对象和事件驱动的脚本语言,主要应用在客户端基于对象:提供好了很多对象,可以直接拿过来使用事件驱动:html做网站静态效果,javascript动态效果客户端:专门指的是浏览器JavaScript的特点:交互性:信息的动态交互安全性:不可以直接访问本地硬盘跨平台性:只要是可以解析js的浏览器都可以执行,和平台无关javascript和j

2016-10-28 10:20:57 1723

原创 JavaWeb:HTML

什么是HTML?全称为HyperText Markup Language,译为超文本标记语言,不是一种编程语言,是一种描述性的标记语言,用于描述超文本中内容的显示方式。比如字体什么颜色,大小等超文本:超出文本的范畴,使用html可以轻松实现这样操作标记:html所有的操作都是通过标记实现的,标记就是标签,<标签名称>Html就是超文本标记语言的简写,是最基础的网页语言Html是通过标签来定

2016-10-28 09:43:48 1157 1

原创 Cookie和Session

会话跟踪技术1、什么是会话跟踪技术我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。在JavaWeb中,客户向某一服务器

2016-10-28 01:22:05 1106

原创 MySQL数据库:编码

1、查看MySQL编码SHOW VARIABLES LIKE 'char%';因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8。character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据;character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语

2016-10-27 17:28:03 1894

原创 MySQL数据库备份与还原

备份和恢复数据1、生成SQL脚本在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。   mysqldump –u用户名 –p密码 数据库名>生成的脚本文件路径现在可以在C盘下找到mydb1.sql文件了! 注意,mysqldump命令是在Windo

2016-10-27 17:24:57 770

原创 MySQL数据库:完整性约束

完整性约束是为了表的数据的正确性!如果数据不正确,那么一开始就不能添加到表中。主键当某一列添加了主键约束后,那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学生的学号可以用来做唯一标识,而学生的姓名是不能做唯一标识的,因为学习有可能同名。主键列的值不能为NULL,也不能重复!

2016-10-27 17:20:37 2113

原创 MySQL数据库:SQL语句

系列阅读MySQL数据库MySQL数据库:SQL语句MySQL数据库:完整性约束MySQL数据库备份与还原MySQL数据库:编码1、SQL概述1.1 什么是SQLSQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQL Server等。SQ标准(ANSI/ISO)

2016-10-27 15:01:47 8562 3

原创 MySQL数据库

数据库概念什么是数据库数据库就是用来存储和管理数据的仓库!数据库存储数据的优点:可存储大量数据方便检索保持数据的一致性、完整性安全,可共享通过组合分析,可产生新数据数据库的发展历程没有数据库,使用磁盘文件存储数据层次结构模型数据库网状结构模型数据库关系结构模型数据库:使用二维表格来存储数据关系-对象模型数据库MySQL就是关系型数据库!SQL语言Structured Que

2016-10-27 14:47:02 1045

原创 Android序列化与反序列化

1. 什么是java序列化,如何实现java序列化?我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输,但是,JRE本身就提供了这种支持,我们可以调用OutputStream的writeObject()方法来做,如果要让jav

2016-10-26 21:23:51 5297 1

原创 Notification详解

Notification

2016-10-26 00:54:54 8177 1

原创 Android 屏幕适配

一、适配方式之dp名词解释分辨率:480*800,1280*720。表示物理屏幕区域内像素点的总和。(切记:跟屏幕适配没有任何关系)因为我们既可以把1280*720 的分辨率做到4.0 的手机上面。我也可以把1280*720 的分辨率做到5.0 英寸的手机上面,如果分辨率相同,手机屏幕越小清晰。px:pixels 的意思,像素,就是屏幕中最小的一个显示单元,是屏幕的物理像素点,与密度相关,密度大了,

2016-10-25 15:31:18 1264

原创 Java高并发编程:原子类

并发编程概念1. 原子性一个操作不能被再拆分了;即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。一个很经典的例子就是银行账户转账问题。 增量操作符++,不是原子的操作,它是先读取旧值,然后写回新值,包含2个操作2. 可见性可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。3. 有序性即程序执行的顺序按照代码的先后

2016-10-25 00:26:03 5131 2

原创 Java高并发编程:Callable、Future和FutureTask

Callable & Future用于获取线程执行完的结果1、Callable 接口类似于Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常,而Callable返回结果并且可能抛出异常的任务。2、Future 接口表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。计算完成后只能使

2016-10-25 00:21:22 932

原创 Java高并发编程:HandlerThread

继承自Thread,在run()方法中,执行了Looper.prepare()和Looper.loop(),和handler结合使用,实现后台轮询线程功能

2016-10-24 21:09:53 1172

原创 Java高并发编程:线程池

笔记摘要这里首先介绍了java5中的并发的小工具包:automatic,然后介绍了线程池的概念,对使用java5的方式创建不同形式的线程进行了演示,之后介绍了两个 对象:Callable和Future,用于获取线程执行后的结果,对于线程锁技术则在另外一篇文章中介绍。Java5中的线程并发库都在java.util.concurrent包及子包中java.util.concurrent.atomic包:

2016-10-24 20:43:24 9041 1

原创 Java高并发编程:线程范围内共享数据

笔记摘要所谓线程范围内共享数据,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据,API中为我们提供了一个操作线程范围内共享数据的类ThreadLocal,对于线程范围内共享数据的应用,在ThreadLocal的应用场景中进行了介绍,然后主要对它的使用进行讲解,演示了由单一数据的共享到将多个数据封装到一个对象中,然后进行共享。在开始先用一个Ma

2016-10-24 20:32:11 3996

原创 Java高并发编程:定时器、互斥、同步通信技术

这里分析了多线程的一些细节问题,并介绍了传统定时器的创建,同时实现了根据自己的调度计划的自定义定时器,对于传统互斥技术中发现的内部类问题,进行了分析,最后对于同步通信技术,是重点,分析了如何处理类似的问题,如何设计能够更加清晰简单,体现了高内聚和程序的健壮性

2016-10-24 20:23:33 2796

原创 Java高并发编程:线程锁技术

这里介绍了java5中的线程锁技术:Lock和Condition,实现线程间的通信,其中的读锁和写锁的使用通过一个缓存系统进行了演示,对于Condition的应用通过一个阻塞队列进行演示

2016-10-24 20:13:55 5272 2

原创 Java高并发编程:同步工具类

这里主要介绍了java5中线程锁技术以外的其他同步工具,首先介绍Semaphore:一个计数信号量。用于控制同时访问资源的线程个数,CyclicBarrier同步辅助类:从字面意思看是路障,这里用于线程之间的相互等待,到达某点后,继续向下执行。CountDownLatch同步辅助类:在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。犹如倒计时计数器,然后是Exchanger:实现两个对象之间数据

2016-10-24 20:02:40 4617

原创 Java高并发编程:多个线程之间共享数据的方式探讨

多个线程之间共享数据,按照每个线程执行代码是否相同,我们可以采取不同的处理方式,这里通过简单的卖票示例说明了当每个线程执行相同代码的情况,对于多个线程执行不同代码的情况,处理方式比较灵活,这里主要介绍了2种方式,通过2种方式的对比和归纳,我们可以总结出在多个线程执行不同的代码情况下,如何进行代码的设计

2016-10-24 19:40:05 1033

数据结构各种算法实现(C++模板)

数据结构各种算法实现(C++模板)

2017-08-02

C语言程序设计教程

全书共分11章和5个附录,第1章介绍程序设计语言的基本概念、算法描述和C程序的框架以及上机基本方法;第2章讨论了C语言的数据;第3-6章讨论了C语言的结构化程序设计方法(包括顺序、分支、循环和函数);第7和8章讨论了数据的构造类型(包括数组、字符串、结构体、共用体等);第9章介绍了文件概念和各种操作;第10章讨论用C语言进行音乐和图形设计的基本方法;第11章详细介绍了TC2.0的上机环境,包括实践指导、实验、课程设计等内容。在附录中全面地介绍了C库函数。, 本书将C语言的精华和难点——“指针”分解到各个章节进行讨论,使读者能循序渐进,逐步了解、掌握“指针”的概念和各种应用方法,以达到熟练掌握的目的。, 本教材适用于本科、专科和各级职业技术学校的教学,可作为计算机等级考试教材、计算机爱好者自学用书或软件开发的参考资料。

2017-07-29

C语言面向对象编程与设计模式

C语言面向对象编程与设计模式

2017-07-28

Android项目宝典

Android项目宝典

2017-06-16

Android面试宝典5.0

Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享等内容

2017-06-16

Android面试宝典4.0

Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享等内容

2017-06-05

Android面试宝典3.0 pfd 下载

Android面试宝典3.0,内容:JavaSE 基础,JavaSE 高级,Android 基础,Android 高级,Android 项目,项目面试常见问题,面试实战记录,BAT 面试题,Android 最新技术

2017-05-15

Java设计模式 版本2

Java设计模式,目录:前言,UML建模技术,深入浅出UML类图,从招式与内功谈起——设计模式概述,面向对象设计原则,工厂三兄弟之简单工厂模式,工厂三兄弟之工厂方法模式,工厂三兄弟之抽象工厂模式,确保对象的唯一性——单例模式,对象的克隆——原型模式,复杂对象的组装与创建——建造者模式,不兼容结构的协调——适配器模式,处理多维度变化——桥接模式,树形结构的处理——组合模式,扩展系统功能——装饰模式,深入浅出外观模式,实现对象的复用——享元模式,设计模式之代理模式,请求的链式处理——职责链模式,请求发送者与接收者解耦——命令模式,自定义语言的实现——解释器模式,遍历聚合对象中的元素——迭代器模式,协调多个对象之间的交互——中介者模式,撤销功能的实现——备忘录模式,对象间的联动——观察者模式,处理对象的多种状态及其相互转换——状态模式,算法的封装与切换——策略模式,模板方法模式深度解析,操作复杂对象结构——访问者模式,设计模式与足球,多人联机射击游戏中的设计模式应用,设计模式综合实例分析之数据库同步系统

2017-04-07

JavaWeb基础入门

JavaWeb开发入门,目录:JavaScript,XML解析器,JavaWeb开发入门,Http协议,Servlet技术,请求和响应,Cookie和Session,MySQL数据库,用JDBC操作数据库,JDBC之数据库连接池,JDBC之事务,上传下载文件,酷炫的文件上传技术,JavaMail邮件

2017-04-05

JavaWeb开发入门

JavaWeb开发入门,目录:JavaScript,XML解析器,JavaWeb开发入门,Http协议,Servlet技术,请求和响应,Cookie和Session,MySQL数据库,用JDBC操作数据库,JDBC之数据库连接池,JDBC之事务,上传下载文件,酷炫的文件上传技术,JavaMail邮件开发,过滤器Filter,AJAX,JSP入门,JSTL标签库,MVC设计模式,在线支付,Jquery

2017-04-05

Java基础入门 版本5

java基础入门,GitBook本地命令行生成,等线字体版目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性

2017-04-05

Java基础入门 版本4

java基础入门,目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性

2017-04-05

Java基础入门 版本2

java基础入门,目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性

2017-04-04

Android Studio 使用指南

Android Studio 使用指南,Android Studio 提供用于为各类 Android 设备构建应用的最快速的工具。利用世界一流的代码编辑、调试、性能工具、一套灵活的构建系统以及一套即时构建/部署系统,您可以专注于构建独特的高品质应用。

2017-04-03

零基础学Python(第一版)

零基础学Python(第一版) Email:[email protected] GitHub:https://github.com/JackChen1999 GitBook:https://www.gitbook.com/@alleniverson 博客:http://blog.csdn.net/axi295309066 微博:AndroidDeveloper

2017-03-30

Android源码解析

Android源码解析

2017-03-21

Java基础入门 2017-03-21

Java基础入门开发笔记

2017-03-21

JavaWeb开发笔记

JavaWeb开发笔记

2017-03-21

Java和Android源码设计模式 2017-03-21

Java和Android源码设计模式 2017-03-21

2017-03-21

Git和GitHub教程 2017-03-21

Git和GitHub教程 2017-03-21版

2017-03-21

Android面试宝典6.0

Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享,BAT大咖助力,全面升级Android面试,Android高级面试,10大开源框架源码解析...等内容

2018-08-06

IT视频教程

IT视频教程,包括前端开发、后端开发、Android开发、数据结构与算法、数据库、人工智能、C++

2017-11-14

Kotlin 基础教程

内容摘要:Kotlin视频教程、第1章 Kotlin简介、第2章 快速开始:HelloWorld、第3章 Kotlin语言基础、第4章 基本数据类型与类型系统、第5章 集合类、第6章 泛型、第7章 面向对象编程、第8章 函数式编程、第9章 轻量级线程:协程、第10章 Kotlin与Java互操作、第11章 使用Kotlin集成SpringBoot开发Web服务端、第12章 使用Kotlin集成Gradle开发、第13章 使用 Kotlin 和 Anko 的Android 开发、第14章 使用 Kotlin DSL、第15章 Kotlin 文件IO操作与多线程、第16章 使用 Kotlin Native

2017-10-03

Kotlin 极简教程

内容摘要:Kotlin视频教程、第1章 Kotlin简介、第2章 快速开始:HelloWorld、第3章 Kotlin语言基础、第4章 基本数据类型与类型系统、第5章 集合类、第6章 泛型、第7章 面向对象编程、第8章 函数式编程、第9章 轻量级线程:协程、第10章 Kotlin与Java互操作、第11章 使用Kotlin集成SpringBoot开发Web服务端、第12章 使用Kotlin集成Gradle开发、第13章 使用 Kotlin 和 Anko 的Android 开发、第14章 使用 Kotlin DSL、第15章 Kotlin 文件IO操作与多线程、第16章 使用 Kotlin Native

2017-10-03

RxJava入门教程

上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。

2017-09-30

RxJava基础入门教程

上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。

2017-09-29

RxJava教程

上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。

2017-09-29

Python 基础入门教程

Python 基础入门教程,这是小白的Python新手教程。不要再犹豫了,这个教程就是为你准备的!

2017-09-28

零基础学Python

Python是目前最流行的动态脚本语言之一。本书由浅入深,全面、系统地介绍了使用Python进行开发的各种知识和技巧。 本书内容包括Python环境的安装和配置、Python的基本语法、模块和函数、内置数据结构、字符串和文件的处理、正则表达式的使用、异常的捕获和处理、面向对象的语言特性和设计、Python的数据库编程、Tkinter GUI库的使用、HTML应用、XML应用、Django网页开发框架的使用、测试驱动开发模式应用、Python中的进程和线程、Python系统管理、网络编程、Python图像处理、Python语言的扩展和嵌入以及Windows下Python开发等。为了便于读者学习,本书每个章节中都提供了详尽的例子,结合实例讲解各个知识点。 本书适合Python爱好者、大中专院校的学生、社会培训班学生,以及系统管理员、界面开发人员、Web开发人员、网络编程人员等有关人员学习、使用。

2017-09-28

RxJava Essentials 中文翻译版

本书是对Ivan.Morgillo所写一书的中文翻译版本,仅供交流学习使用,严禁商业用途。另外推荐一本姊妹篇《Learning Reactive Programming》。 如果你是一名有经验的Java开发者,reactive编程将会在后端系统中给你一种新的学习扩展和并发的 方式,而这不需要更换开发语言。这本书将帮助你学习RxJava的核心方面,也能帮助你克服Android平台局限性从而创建一个基于事件驱动的,响应式的,流畅体验的Android应用。

2017-09-28

Git和GitHub使用教程

Git和GitHub使用教程:Git简介,安装Git,创建版本库,时光机穿梭,远程仓库,分支管理,标签管理,使用GitHub,自定义Git,从0开始学习GitHub

2017-09-27

Java基础入门教程

java基础入门,GitBook本地命令行生成,等线字体版目录:java开发入门,java编程基础,面向对象,常见对象,多线程,集合框架,网络编程,IO流,反射机制,动态代理,注解,java新特性,内存管理。

2017-09-26

给 Android 开发者的 RxJava 详解

Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,现在已经支持几乎全部的流行编程语言了

2017-09-26

ReactiveX/RxJava文档中文版

Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,现在已经支持几乎全部的流行编程语言了

2017-09-25

Glide v4 中文版

Glide v4 文档 中文版,Glide是Android平台上的一个快速高效的图像加载库,专注于平滑滚动。Glide提供了一个简单易用的API,一个性能可扩展的资源解码管道流和自动资源池。

2017-09-25

kotlin-for-android-developers

在这本书中,我会使用Kotlin作为主要的语言来开发一个android应用。方式是通过开发一个应用来学习这门语言,而不是根据传统的结构来学习。我会在感兴趣的点停下来通过与Java1.7对比的方式讲讲Kotlin的一些概念和特性。用这种方法你就能知道它们的不同之处,并且知道哪部分语言特性可以让你提高你的工作效率。

2017-09-24

Kotlin极简教程

本书从Kotlin的HelloWorld开始,生动讲解Kotlin的基础知识和实战案例,分为两大部分:“基础知识”部分包括语言基础、基本数据类型与类型变量、集合类、泛型、面向对象编程、函数式编程、协程等;“实战”部分包括Kotlin与Java互操作、使用Kotlin集成Spring Boot开发WEB服务端、使用Kotlin集成Gradle开发、使用Kotlin和Anko的Android开发、使用Kotlin DSL、Kotlin文件IO操作与多线程、使用Kotlin Native。本书包含了大量精选示例代码和应用案例,为初学者提供了实用指南,也帮助熟练的Java开发者快速切换到Kotlin, Kotlin是JetBrains团队开发的一门现代的、注重工程实用性的静态类型编程语言,JetBrains团队以开发了世界上最好用的IDE而著称。Kotlin于2010年推出,并在2011年开源。Kotlin充分借鉴并汲取了Java、Scala、Groovy、C#、Gosu、JavaScript、Swift等多门杰出语言的优秀特性,语法简单优雅、表现力丰富、抽象扩展方便、代码可重用性好,同时也支持面向对象和函数式编程的多范式编程。Kotlin可以编译成Java字节码运行在JVM平台和Android平台,也可以编译成JavaScript运行在浏览器环境,而且还可以直接编译成机器码的系统级程序,直接运行在嵌入式、iOS、MacOS/Linux/Windows等没有JVM环境的平台。Kotlin源自产业界,它解决了工程实践中程序设计所面临的真实痛点,例如,类型系统可以避免空指针异常的问题。, 我最早是被Kotlin的下面这段代码所吸引:, package com.easy.kotlin, fun compose(f: (B) -> C, g: (A) -> B): (A) -> C {, return { x -> f(g(x)) }, }, fun isOdd(x: Int) = x % 2 != 0, fun length(s: String) = s.length, fun main(args: Array) {, val oddLength = compose(::isOdd, ::length), val strings = listOf('a', 'ab', 'abc'), println(strings.f?ilter(oddLength)), }, 13行。, 这大约是在三年前,当时我在学习Java 8中的函数式编程以及Lambda表达式等新特性。那时,我也对Scala、Groovy、Clojure、Haskell等技术很感兴趣,在伴随着兴趣的学习过程中,我无意中看到了上面那段Kotlin代码,第一眼看到这么优雅的函数式编程风格,尤其是compose函数的定义实现,深深地吸引了我。, Swift使用func关键字声明函数多个c,怪怪的;Groovy、Scala等语言使用def关键字,与函数本义联想不直接;JavaScript使用function关键字又显得死板了些。而Kotlin中的fun则简单优雅地恰到好处,关键还让人自然联想到“乐趣、开心、愉快”这样的意思,使用Kotlin每写一个函数都是充满乐趣的。, 我们不妨来看看同样的逻辑实现,如果使用Java 8来写会如何:, package com.easy.kotlin;, import java.util.ArrayList;, import java.util.List;, interface G {, B apply(A a);, }, interface F {, C apply(B b);, }, interface FG {, C apply(A a);, }, public class ComposeFunInJava {, public static void main(String[] args) {, G g = (s) -> s.length();, F f = (x) -> x % 2 != 0;, FG fg = (x) -> f.apply(g.apply(x));, List strings = new ArrayList();, strings.add('a');, strings.add('ab');, strings.add('abc');, List result = new ArrayList();, for (String s : strings) {, if (fg.apply(s)) {, result.add(s);, }, }, System.out.println(result);, }, }, 36行,差不多是Kotlin的3倍。, 我们知道,Java是一门非常优秀的面向对象语言。但是在函数式编程方面,与其他函数语言相比,还是显得有些笨重与生涩,并且其内在体现出来的思想,依旧是面向对象的思想。, 功能强大的Scala语言,复杂性相对较高,学习成本也高,而且Scala与Java的互操作性没有Kotlin好。所以,如果既想方便、流畅地使用Java强大与完善的生态库,又想使用更加先进的编程语言特性,无疑Kotlin是个非常不错的选择。, 因此,我立马进入了Kotlin的世界!, Kotlin之前一直是默默无闻的,直到今年(2017年)Google IO大会上,Google宣布正式支持Kotlin为Android的官方开发语言,而且从Android Studio 3.0开始,将直接内置集成Kotlin而无需安装任何的插件。另外,在Spring 5.0 M4中也引入了对Kotlin专门的支持。, 在学习和使用Kotlin的过程中,我发现我越来越喜欢Kotlin,它是一门非常优秀、优雅、有趣、流畅实用的语言,绝对值得一试。感谢Kotlin团队!, 本书可以说是我对Kotlin的使用和思考过程的粗浅总结。通过本书的写作,我加深了对Kotlin语言及其编程的理解,深刻体会到了学无止境的含义。写书的过程也是我系统学习与思考Kotlin的过程,如果本书能够对你有所帮助,将不胜欣慰。, 如何阅读本书, 受到Kotlin极简特性的感召,我希望也通过极简的表述,全面介绍Kotlin语言特性以及如何使用Kotlin进行实际项目开发。全书共16章,分为三大部分:第一部分“Kotlin语言基础”包括第1~4章,介绍如何快速开始使用Kotlin,以及Kotlin语法、基本数据类型和类型系统;第二部分“编程进阶”包括第5~10章,介绍Kotlin标准库中的集合类、泛型、面向对象编程特性、函数式编程、协程、与Java的互操作;第三部分“综合实战”包括第11~16章,介绍如何使用Kotlin集成Spring Boot、Spring MVC等框架来开发Web服务端应用,如何使用Kotlin开发Android应用,如何使用Kotlin的DSL代码风格,如何操纵文件IO、正则表达式以及多线程,如何定义Kotlin Native与C语言互操作。, 建议初学者最好按照顺序来阅读本书,Java程序员可以从第5章开始阅读,直接研究Kotlin的特殊点,C语言程序员可以先读第16章再考虑补充前面的基础知识。, 本书章节内容如下。, 第一部分 “Kotlin语言基础”, 第1章是Kotlin语言的简介,带领读者快速学习Kotlin的环境搭建以及常用工具的使用。该章最后还给出一个编程语言学习的小结。通过该章的学习,能够快速进入Kotlin的世界。, 第2章是快速开始Hello World,分别给出了使用命令行REPL、可执行应用程序、Web RESTful、Android、JavaScript等平台环境上的HelloWorld示例。, 第3章介绍Kotlin语言的基础知识,包括Kotlin语言的关键字与标识符等、表达式与流程控制、运算操作符、函数及其扩展等基本内容。, 第4章介绍Kotlin语言的基本类型和类型系统。包括Kotlin的内置基本类型:数字、字符串、布尔、数组等,以及Kotlin中引入的特殊的可空类型。, 第二部分 “编程进阶”, 第5章介绍Kotlin标准库中的集合类:List、Set、Map。通过该章的学习,我们将了解到Kotlin是如何扩展Java集合库的,这使得写代码更加简单容易。, 第6章介绍Kotlin泛型的基本概念、型变以及类型边界等内容。, 第7章介绍Kotlin面向对象编程的特性:类与构造函数、抽象类与接口、继承以及多重继承等基础知识,同时介绍了Kotlin中的注解类、枚举类、数据类、密封类、嵌套类、内部类、匿名内部类等。, 第8章介绍Kotlin函数式编程的相关内容,其中重点介绍了Kotlin中的高阶函数、Lambda表达式、闭包等核心语法,并给出相应的实例说明。还探讨了关于Lambda演算、Y组合子与递归等函数式编程思想的内容。, 第9章介绍Kotlin中的协程,包括协程的创建、执行、取消等操作。在该章的后半部分,主要探讨挂起函数的组合执行、协程上下文与调度器、通道与管道等相关内容。最后,对协程与线程进行了简单比较,简要介绍了Kotlin的协程API库。, 第10章介绍Kotlin与Java的互操作。, 第三部分 “综合实战”, 第11章介绍如何使用Kotlin集成Spring Boot、SpringMVC等框架来开发Web服务端应用,给出了一个完整的开发实例。最后,简单介绍了Spring 5.0中对Kotlin的支持特性。, 第12章介绍使用Kotlin集成Gradle开发的相关内容。, 第13章介绍如何使用Kotlin开发Android应用的具体方法,其中用到了Anko、ButterKnife、Realm等相关框架。, 第14章介绍Kotlin中DSL的相关内容。我们将会看到Kotlin的扩展函数和高阶函数(Lambda表达式)特性,为定义Kotlin DSL提供了极大的支持。使用DSL的代码风格,可以让程序更加直观易懂、简洁优雅。, 第15章介绍Kotlin文件IO操作、正则表达式以及多线程相关的内容。, 第16章简单介绍了Kotlin Native,并给出了Kotlin与C语言互操作的完整实例。, 谁适合阅读本书, 本书适合于所有程序员,不管你是前端开发者、Android/iOS开发者,还是Java开发者、C语言开发者,学习Kotlin都会非常容易,本书将帮助读者快速进入Kotlin世界。, 如果你目前还不是程序员,但想进入编程世界,那么可以尝试从Kotlin开始学习。虽然本书中的部分内容需要一定的Java编程基础,但是Kotlin本身的极简特性能激发你对编程的兴趣。, 代码下载, 几乎在每章末尾处,我都附上了该章示例工程源代码地址。这些源码都在https://github.com/EasyKotlin。读者可以根据需要,自由下载学习。, 致谢, 在本书的写作出版过程中,得到了很多人的帮助和陪伴。, 首先要感谢的是我的妻子和两个可爱的孩子。正是有了你们的陪伴,我的生活才更加有意义。我要感谢我的父母,虽然他们可能不知道我写的东西是什么,但是我在写书过程中,脑海里会经常浮现出他们的笑脸,正是由于他们的辛勤养育,我才能长成今天的我。, 我要衷心地感谢本书的策划编辑吴怡女士。在本书的写作修改过程中,她耐心细致地对稿件进行了详尽审阅和批注,还提出了很多宝贵的修改建议,并不断给予我鼓励,才使我快速完成了这本书。还感谢审稿编辑陈佳媛、曲熠对本书提出的宝贵意见,同时感谢本书出版过程中所有付出辛劳的华章公司工作人员。, 在此,我还要特别感谢我们公司的技术大牛雷卷(陈立兵),非常感谢他能够抽出宝贵时间审阅本书,并给出了内容的勘误,极大地提升了本书的质量,最后,还为本书写了序。真的非常感谢!, 我还要感谢在我的工作学习中认识的所有朋友和同事们,能够认识你们并跟你们一起学习、共事,是我的荣幸!, 请联系我, 虽然在本书写作与修改的过程中,我竭尽全力追求简单正确、清晰流畅地表达内容,但是限于自身水平和有限的时间,仍会有错误与疏漏之处,还望各位读者不吝指正。, 对本书的任何问题、意见或者建议,欢迎通过邮件[email protected]与我交流。, 快乐生活,快乐学习,快乐分享,快乐实践出真知。祝大家阅读愉快!, 陈光剑, 2017年8月于杭州, 本书是不可多得的优秀图书,内容翔实,描述简洁,作者对编程语言有深刻的理解,融入了自己多年的开发经验……Kotlin非常新,而且发展也非常快,是一门非常有前景的开发语言,我希望Android和Java程序员都能停下来阅读这本Kotlin的图书,以系统地了解这项技术。, 雷卷 阿里巴巴70后Java程序员, 这是一本精彩有趣的好书。阅读本书,你会再次感受到编程的乐趣。我读过许多编程的书籍,但是这本书对程序设计的深刻见解依然深深触动了我。, 雷影 阿里巴巴技术专家, 光剑的这本书是非常不错的Kotlin教程。书中有大量有趣而实用的代码实例,理论与实践相结合,强烈推荐大家阅读。, 木羽 阿里巴巴高级技术专家, 身处互联网大潮汹涌席卷的时代里,对新知识的无限渴望和孜孜不倦的探求,是一名技术人员对自己的基本要求。陈光剑的这本书是Kotlin语言领域中非常值得借鉴的学习资料,无论是刚入门的技术小白,还是需要进阶的技术痴汉,都可在这本书中找到另一番天地。, 郁磊 有赞测试专家, Kotlin具备简洁的语言、与Java的无缝互译、很棒的IDE支持,且不断进化,如果你刚刚从事或者一直从事Android开发,Kotlin都将成为你很好的起点或新的助手。本书作为对Kotlin语言编程上手和基本使用都是不错的参考资料,必定对大家有所帮助。, 石舟 阿里巴巴测试专家, 在快速发展与创新的今天,不断孕育出各种新语言。Kotlin非常具有代表性,具有简明性和独特的表达能力,同时易于“并发编程”。这本书丰富而全面地介绍了这门优秀的语言。任何对编程语言感兴趣的程序员都不妨阅读一下,相信你定会有收获。, 林文国 二维火资深架构师, 作为JetBrains IDE的忠实用户,也一样喜欢上了它的Kotlin,而这本书绝对是Kotlin难得的教程,内容全面,理论和实战兼得。对我来说,读这本书的收获比自己想象的更多。, 刘鼎亮 挖财资深工程师, 我清楚地记得当初从Eclipse切换到JetBrains的Intelij时带来的效率提升和极致的用户体验,其中细节只有真正用过才能体会到。可以想见,JetBrains出品的Kotlin必然也会带来各种令人惊喜的提升。光剑在许多人还没注意到Kotlin的时候就已经开始动手实践了,并带来了一本语言精练、内容全面、示例丰富的教程,他亲自使用并检验过Kotlin的很多特性,有许多心得和深刻理解,这是一本不可多得的带领程序员领略Kotlin的便捷和高效的指南。, 有山 阿里巴巴技术专家, 这是一本Kotlin入门的好书,内容翔实全面,并且由浅入深,通过大量的案例,引导读者一步步了解Kotlin的方方面面,于开卷者大有裨益。, 张立柱 策道科技CTO

2017-09-20

C/C++设计模式-2

C语言面向对象编程,C语言设计模式,C++设计模式

2017-08-01

C/C++设计模式

C语言面向对象编程,C语言设计模式,C++设计模式

2017-07-31

泡妞与设计模式

泡妞与设计模式

2017-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除