自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

5431的专栏

fk5431.com

  • 博客(217)
  • 资源 (40)
  • 收藏
  • 关注

原创 aqs源码

博客地址aqsAQS(AbstractQueuedSynchronizer)是JAVA中众多锁以及并发工具的基础,其底层采用乐观锁,大量使用了CAS操作, 并且在冲突时,采用自旋方式重试,以实现轻量级和高效地获取锁。AQS虽然被定义为抽象类,但事实上它并不包含任何抽象方法。AQS是被设计为支持多种用途,如果定义抽象方法,子类在继承的时候就需要实现所有抽象方法,所以AQS将需要子类覆盖的方法都...

2019-11-27 22:04:34 277

原创 HashMap阅读 (1.8|1.7)

HashMap阅读 (1.8|1.7)HashMap源码阅读 HashMap 内部默认的参数变量值含义DEFAULT_INITIAL_CAPACITY16默认容量MAXIMUM_CAPACITY1 << 30最大容量DEFAULT_LOAD_FACTOR0.75负载因子TREEIFY_THRESHOLD8链表超过8转为红黑...

2019-11-17 17:13:48 121

原创 ReentrantLock阅读

ReentrantLockReentrantLock是一个互斥锁,也是一个可重入锁。ReentrantLock锁在同一时刻只能被一个线程持有,但是它可被单个线程多次获取,每获取一次AQS的state就加1。ReentrantLock内部的实现(公平锁和非公平锁)都是基于内部Sync的实现。内部结构ReentrantLock内部定义了三个重要的内部类,Sync、FairSync、Nonfai...

2019-12-14 23:15:50 188

原创 ConcurrentHashMap(1.7|1.8)阅读

ConcurrentHashMapjdk1.7ConcurrentHashMap 和 HashMap非常类似,ConcurrentHashMap在实现上采取了分段锁的思想来实现的。ConcurrentHashMap在内部采用了一个叫做 Segment 的结构,一个Segment就类似HashMap中的table,这样在定位一个元素的时候,需要进行两次hash操作,一次定位到Segment,第...

2019-12-13 10:43:47 195

原创 synchronized和lock

锁的种类锁的种类很多,包括:自旋锁(CAS)、阻塞锁、可重入锁、读写锁、互斥锁、悲观锁、乐观锁、公平锁、可中断锁等等,主要介绍下可重入锁、读写锁、可中断锁和公平锁。可重入锁如果锁具备可重入性,则称作为可重入锁。synchronized和ReentrantLock都是可重入锁,可重入性在我看来实际上表明了锁的分配机制:基于线程的分配,而不是基于方法调用的分配。举比如说,当一个线程执行到met...

2019-11-24 21:47:19 166

原创 线程池阅读

http://fk5431.com/20191115/javasource/util/2_ExecutorService/类继承的结构Executor是最顶层的接口,定义了execute(Runnable runnable)方法。ExecutorService继承了Executor,继承了execute方法,还定义很多接口方法,例如shutdown、isTerminated、submit等方法...

2019-11-19 19:50:10 121

原创 ubantu16.04安装 nginx

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。安装Ng

2017-09-29 11:05:57 830

原创 linux tail 命令

linux tail 命令linux tail 命令是按照要求将指定的文件的最后部分输出到标准设备。tail语法tail [ -f ] [ -c Number | -n Number | -b Number | -k Number ] [file] 参数说明:-f 参数用于监视file文件增长-c Number 从Number字节位置读取指定文件-n Number 从Number行位置读取指定

2017-09-07 11:13:08 1264

原创 迭代器模式

迭代器模式介绍迭代器模式:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。(行为型模式) 迭代器模式是应该是java中使用的最多的一种设计模式,迭代器模式如下: 抽象容器:一般是一个接口,提供一个iterator()方法,例如java中的Collection接口,List接口,Set接口等。具体容器:就是抽象容器的具体实现类,比如List接口的有序列表实现ArrayList,

2017-08-17 22:10:59 680

原创 解释器模式

解释器模式介绍解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。(行为型模式)解释器模式uml图一般如下:AbstractExpression 抽象解释器     具体的解释任务由各个实现类完成,具体的解释器分别由TerminalExpression和NonterminalExpression完成。TerminalExpression终

2017-08-16 23:26:04 847

原创 命令模式

命令模式介绍 在软件系统中,行为请求者与行为实现者通常是一种紧耦合关系,但是有时候,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合关系就不大合适。将一个请求封装成一个对象,从而是你可用不同的请求对客户进行参数化,对请求排队和记录请求日志,以及支持可撤销的操作。 命令模式就是对命令进行封装,把发出命令和执行命令分开,请求方并不知道命令是怎么被接受,也不知道命令是否执

2017-08-09 10:58:54 412

原创 责任链模式

责任链模式介绍在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求会在这个链上传递,直到链上某一个对象可以处理这个请求。(行为型模式)结构图责任链模式的结构像下面这样:抽象处理者角色(handler):定义一个处理请求的接口,还可以定义一个后继连接(可选)。具体处理者角色(ConcreteHandler):具体处理者接到请求后,如果可以处理就处理请求,如果不能处理就把请求

2017-08-06 23:23:51 346

原创 代理模式

代理模式介绍代理模式为其他对象提供一种代理以控制对这个对象的访问。(结构型模式) 代理模式提供三种角色: - 抽象角色:声明真实对象和代理对象的共同接口。 - 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。 - 真实角色

2017-08-04 17:20:09 637

原创 享元模式

享元模式介绍享元模式使用共享来避免大量拥有相同内容对象的开销,避免内存的损耗。享元对象能做到共享的关键是区分内蕴状态和外蕴状态。 内蕴状态是存储在享元对象内部的,不会随环境的改变而有所不同(内蕴状态可以共享)。 外蕴状态是随环境的改变而改变的,不可以共享,外蕴状态不可以影响享元对象的内蕴状态,它们是相互独立的。优点大幅度地降低内存中对象的数量缺点使得系统更加复杂享元模式将享元对象的状态外

2017-08-02 17:54:14 360

原创 外观模式

外观模式介绍为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 就像下图,facade把众多子系统中通过一个接口统一起来: 适用场景设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,

2017-08-02 10:11:00 415

原创 装饰器模式

装饰器模式介绍装饰器模式允许向一个现有的对象添加新功能,同时又不改变其结构。(结构型模式) 这种形式在没有原类文件和使用继承的情况下动态的扩展了一个对象的功能。类的继承是在编译是时候增加的功能,而装饰器模式在运行时增加的功能装饰器模式构成Component : 组件对象接口,可以给这些对象动态添加职责ConcreteComponent : 具体的组件对象,实现了组件接口。这个对象通常是被装饰器修饰

2017-08-01 16:20:32 512

原创 组合模式

组合模式介绍组合模式将对象组合成树形结构表示“部分-整体”的层次结构,组合模式使用户对单个对象和组合对象的使用具有一致性。(结构型) 就像文件系统一样,文件由目录和文件组成,每个目录都可以装载目录,目录的内容既可以是文件,也可以是目录。计算机的文件系统就是以递归结构来组织的,这种情景就适用于组合模式。使用场景和涉及的角色适用性你想表示对象的部分-整体层次结构你希望用户忽略组合对象与单个对象的不

2017-07-30 19:32:37 404

原创 过滤器模式

过滤器模式介绍过滤器模式允许开发者用不同的标准过滤一组对象。(结构型模式) 使用过滤器模式可以很方便的进行扩展,单独一个过滤器的执行是独立的,不依赖其他过滤器。DEMO例如,一个Person类有姓名、性别、婚姻状况属性 :package factory.pattern.filter;/** * Created by fk5431 on 7/27/17. */public class Pers

2017-07-27 12:09:28 430 1

原创 桥接模式

桥接模式介绍桥接适用于把抽象化与实现化解耦,使得二者可以独立变化。(结构型模式) 用来解决两个或者多个纬度的变化,使用桥接模式可以降低复杂度。将两个角色之间的继承关系改为聚合关系,这样两者可以独立的变化。例子就像大话设计模式中讲的一样,每个手机都有其对应的功能(软件),而这些功能在不同手机上可能不兼容,那么列出一个手机品牌和其对应的部分功能的结构图如下: 但是这样的话,不管要增加一个手机品牌

2017-07-26 18:09:35 415

原创 适配器模式

适配器模式介绍适配器模式讲一个类的接口转换为被期望用到的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作.(结构型模式)适配器模式中的角色一般适配器模式中有以下三个角色:目标接口(Target) : 客户期待的接口.需要适配的类(Adaptee) : 需要适配的类.适配器(Adapter) : 包装一个需要适配的对象,吧原接口转换为目标接口.优点通过适配器,客户端调用

2017-07-25 15:25:08 321

原创 原型模式

原型模式介绍用原型实例制定创建对象的种类,并通过拷贝这些原型创建新的对象。(创建型模式) 原型模式比较简单的一种模式,实现一个接口就完成了原型模式。一般原型模式很少单独出现,会与其他模式混用。适用场景使用原型模式创建对象比直接new一个对象在性能上要好的多,因为Object类的clone方法是一个本地方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。 使用原型模式的另一个

2017-07-25 10:05:20 380

原创 建造者模式

建造者模式定义将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。(创建型模式)使用场景1 创建一些复杂的对象时,这些对象的内部组成间的构建顺序是稳定的,但是对象的内部组成构件面临着复杂的变化。 2 要创建的复杂对象的算法,独立于该对象的组成部分,也独立与组成部分的装配方法时。 优点:使用建造者模式可以让客户端不知道产品内部的组成细节.具体的

2017-07-24 10:24:29 398

原创 二叉树的路径和

给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。一个有效的路径,指的是从根节点到叶节点的路径。 您在真实的面试中是否遇到过这个题? 样例给定一个二叉树,和 目标值 = 5: 1 / \ 2 4/ \2 3返回:[ [1, 2, 2], [1, 4]]package com.fk5431;import java.util.Ar

2017-06-25 22:42:16 519 7

原创 双重检查锁定

双重检查锁定产生原因在写Java程序的时候,有时候会推迟高开销对象的初始化,在使用的时候在进行初始化,达到lazy loading的效果.但是进行延迟初始化的时候可能会产生很多问题(多线程环境),例如:public class UnsafeLazyLoading { private static UnsafeLazyLoading unsafeLazyLoading; private

2017-06-21 16:45:28 405

原创 设计模式--单例模式

单例模式定义一个类有且仅有一个实例,并且自行实例化向整个系统提供。(创建型模式) 设计模式中比较简单的几种之一,单例模式就是让一个类在系统运行过程中只会产生唯一的一个实例,单例模式主要:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。使用场景需要频繁实例化然后销毁的对象。创建对象时耗时过多或者耗资源过多,但又经常用到的对象。有状态的工具类

2017-06-19 22:09:48 297

原创 设计模式--抽象工厂模式

抽象工厂模式介绍为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。(创建型模式)和工厂模式区别工厂模式提供一个产品的结构,而抽象工厂模式提供多个产品的结构,可以组成一个产品族。 QQ换皮肤可以使用抽象工厂模式优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 缺点:扩展非常麻烦,需要修改很多代码。DEMO可以在前一个例子上给图

2017-06-19 12:14:47 304

原创 设计模式——工厂模式

工厂模式介绍定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。(创建型模式)使用场景例如orm框架,在选择数据库的时候只需要替换方言和驱动,不需要对已经实现的具体细节进行改动。优点:使用工厂模式可以屏蔽具体实现,只需要关心接口的调用;在增加一个产品的时候,只需要在工厂类里扩展一个产品就可以。缺点:每增加产品就必须增加具体实现类和实现工厂,增加了系统复

2017-06-18 10:50:43 393

原创 设计模式

设计模式设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。其实就是经过前人反复使用总结使用得出在不同场景有对应的解决方案。 使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计原则开闭原则模块应对扩展开放,对修改关闭,也就是在对程序进行拓展的时候,不要去修改原来的代码,实现热插拔的效果。这样可以使得程序扩展性更好,更易于维护。(主要是使用接口和抽象类实现,

2017-06-17 22:07:50 621

原创 深入分析ConcurrentHashMap

HashMap的问题HashMap是不支持并发操作的,多线程情况下HashMap可能会导致死循环的发生,导致CPU占用率达到100%。Hash表的数据结构HashMap通常会用一个指针数组(假设为table[])来做分散所有的key,当一个key被加入时,会通过Hash算法通过key算出这个数组的下标i,然后就把这个HashMap的源码public V put(K key, V value) {

2017-05-03 17:01:00 518

原创 深入理解volatile

java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。java语言提供了volatile,在某些情况下比锁更加方便。如果一个字段被声明成volatile,java线程内存模型确保所有线程看到这个变量的值是一致的。VolatileVolatile变量具有synchronized的可见性特性,但是不具备原子性。线程可以自动发现volatil

2017-05-02 13:59:28 966

原创 PyCharm激活码

CNEKJPQZEX-eyJsaWNlbnNlSWQiOiJDTkVLSlBRWkVYIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ2

2017-04-25 09:31:05 2582

原创 github个人博客(hexo+next)

已经做完了,直接看 我的博客: http://fk5431.com/引流 引流 引流

2017-04-17 16:39:22 1199

原创 如何在Ubuntu上安装最新版本的Node.js

Node.js是一个软件平台,通常用于构建大规模的服务器端应用。Node.js使用JavaScript作为其脚本语言,由于其非阻塞I/O设计以及单线程事件循环机制,使得它可以交付超高的性能。Node.js包含了Google V8 JavaScript引擎,libuv库和核心库几乎都是使用JavaScript编写的。libuv库提供了异步事件I/O的抽象和Node.js跨平台的机制。Node.js最初

2017-04-14 14:34:52 1145

原创 shell脚本数组报错Syntax error: "(" unexpected

按照正常的shell数组定义 #!/bin/sh a=(1 2 3) for number in a[@]doecho{a[@]} do echo number done 执行该脚本,在有的机器上会报错Syntax error: “(” unexpected这与你实际使用的shell版本有关。你可以用 ls -l /bin/*sh 打印出来,例如: -rwxr-xr-x 1 r

2017-04-13 10:56:17 27867 2

原创 不用netty实现OIO和NIO连接通信

首先是 OIO server端的package com.fk.testIO;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.nio.charset

2017-04-11 11:36:49 1164

转载 HTTP长连接与短链接以及推送技术原理

HTTP长连接和短连接以及推送服务原理 HTTP长连接和短连接1 1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致。TCP有可

2017-04-05 16:55:40 1043 1

原创 netty核心组件

netty核心组件ChannelsCallbacksFuturesEventshandlersChannels一个Channel是java NIO的一个基本抽象。可以吧一个channel相称一个输入和输出数据的媒介,它可以被打开或者关闭。Callbacks一个callback就是一个方法,一个提供给另一个的方法的引用,这样可以让另一个方法在合适的时候来回调callback方法。 ca

2017-04-01 14:17:31 901

原创 guava——集合(2)

guava提供了很多关于集合的工具方法,适用于所有集合的静态方法。 集合接口 属于JDK还是Guava 对应的Guava工具类 Collection JDK Collections2:不要和java.util.Collections混淆 List JDK Lists Set JDK Sets SortedSet JDK Sets Map

2017-03-31 14:02:18 568

原创 guava——集合(1)

2.1不可变集合当对象被不可信的库调用时,不可变形式是安全的;不可变对象被多个线程调用时,不存在竞态条件问题不可变集合不需要考虑变化,因此可以节省时间和空间。所有不可变的集合都比它们的可变形式有更好的内存利用率(分析和测试细节);不可变对象因为有固定不变,可以作为常量来安全使用。 不可变集合的优点如上,但是JDK页提供了Collections.unmodifiableXXX方法将集合

2017-03-30 15:15:45 948

原创 linux查看内存和cpu使用情况

最近总觉得使用firefox 时候电脑就会有点慢,觉得不大应该啊,于是就看了看电脑的内存的使用情况 只需要输入free -m 就可以查看电脑内存使用情况,具体如下:然后继续查看电脑的cpu使用情况:top在这发现是firefox的cpu占用太多了,火狐用起来挺方便,但是在打开多个窗口时间一长就会占用大量cpu,从截图上我已经换chrome了。

2017-03-30 14:40:57 2136

commons-dbcp-1.4.jar和commons-pool-1.5.6.jar

commons-dbcp-1.4.jar和commons-pool-1.5.6.jar

2016-02-29

commons-dbcp jar包

commons-dbcp spring开发的必备jar包

2016-02-29

mysql-connector-java-5.6-bin.jar

mysql-connector-java-5.6-bin.jar

2016-02-19

MySQL_5.1_zh.chm

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

2016-02-18

Linux培训资料

Linux 的基本操作 1、命令行操作及常用命令使用 2、文件查看/编辑方法介绍 3、网络配置及操作 4、常用使用技巧

2016-02-15

JSTL需要的jar包.rar

JSP 标准标签库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问. 如果要使用JSTL,则必须将standard-1.1.2.jar和 jstl-1.2.jar文件放到classpath中

2016-02-14

java Servlet

java servlet development kit 2.3 documentation by F.Alimant

2016-02-03

dom4j-1.6.1.jar

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的。如今可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这已经是必须使用的jar包, Hibernate也用它来读写配置文件。

2016-01-26

DTD的chmd教程

DTD教程 如果打开显示取消导航页 右键属性解除锁定 即可查看

2016-01-25

十天学会DIV+CSS

本教程只讲解一些基础知识,让您从原来的表格布局跨入到web标准(div+css)布局,会使用web标准制作出常见的页面

2016-01-24

JAVA API文档6.0中文

java的API文档 版本 是java6.0 语言是中文的

2016-01-24

commons-logging.jar

java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory 现在免费提供这个包 希望对大家有用

2016-01-22

commons-beanutils-1.8.0

commons-beanutils-1.8.0的jar包 有需要的下

2016-01-22

算法技术手册

《算法技术手册》内容简介:开发健壮的软件需要高效的算法,然后程序员们往往直至问题发生之时,才会去求助于算法。《算法技术手册》讲解了许多现有的算法,可用于解决各种问题。通过阅读它,可以使您学会如何选择和实现正确的算法,来达成自己的目标。另外,书中的数学深浅适中,足够使您可以了解并分析算法的性能。, 较之理论而言,《算法技术手册》更专注于应用。《算法技术手册》提供了高效的代码解决方案,使用多种语言进行编写,让您可以轻松地将其应用于特定的工程当中。通过《算法技术手册》,您可以:, · 解决特定代码的问题,或者提升既有解决方案的性能, · 快速找到与您所解决的问题相关的算法,并决定哪个算法才是最适合的那一个, · 探索使用C、C++、Java以及Ruby实现的算法解决方案以及开发小贴士, · 了解算法预期的性能,以及它达到最高性能时所需要的条件, · 发现不同算法之间相似的设计哲学, · 学习高级数据结构,来提升算法的性能, 通过《算法技术手册》,您能学到如何提升算法的性能,这将是您的软件应用程序走向成功的关键。

2016-01-20

java核心技术卷1

CayS.Horstmann等编著,公飞编译的《Java核心技术》(CoreJava)自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍。第8版针对JavaSE6平台进行了全面更新,囊括了Java平台标准版(JavaSE/J2SE)的全部基础知识,提供了大量完整且具有实际意义的应用实例,详细介绍了Java语言基础知识、面向对象程序设计、接口与内部类、事件监听器模型、swing图形用户界面程序设计、打包应用程序、异常处理、登录与调试、泛型程序设计、集合框架、多线程等内容。

2016-01-20

简单聊天工具

对于socket和多线程应用 实现在本机上模拟聊天程序的运行

2015-12-26

java坦克大战游戏

面向对象的思想写的坦克大战的游戏 简单的模拟 敌人的坦克 自己的坦克 还有血条 子弹 这些都有贴图 加了两个障碍物的模拟 操作 上下左右 Ctrl可以发射子弹 A可以发射超强子弹

2015-12-24

贪吃蛇游戏

面向对象的思想写的一个贪吃蛇的小示例,有四个文件,蛇的,地图的,蛋的,还有一个枚举文件

2015-12-17

山东科技大学万年历实训源码

闹钟 整点报时 备忘录 换肤 转到指定日期 最小化 总是在前 日历显示 可以更改系统时间 基本功能没有问题 扩展功能也很全

2015-11-22

Maven权威指南(中文)

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 Maven的官方站点是:http://maven.apache.org/

2017-10-09

设计模式解析(第二版)

第1章 面向对象范型 2 1.1 概览 2 1.2 面向对象范型之前:功能分解 2 1.3 需求问题 4 1.4 应对变化:使用功能分解 5 1.5 应对需求变更 7 1.6 面向对象范型 10 1.7 面向对象程序设计实践 15 1.8 特殊对象方法 17 1.9 小结 18 复习题 19 简答题 19 阐述题 20 观点与应用题 20 第2章 UML 21 2.1 概览 21 2.2 什么是UML 21 2.3 为什么使用UML 22 2.4 类图 22 2.5 交互图 28 2.6 小结 30 复习题 30 简答题 30 阐述题 30 观点与应用题 30 第二部分 传统面向对象设计的局限 第3章 对代码灵活性要求很高的问题 33 3.1 概览 33 3.2 提取CAD/CAM系统的信息 33 3.3 了解专业术语 34 3.4 问题描述 35 3.5 挑战及其解决方案 37 3.6 小结 39 复习题 40 简答题 40 阐述题 40 观点与应用题 40 第4章 标准的面向对象解决方案 41 4.1 概览 41 4.2 作为特例来解决 41 4.3 小结 48 复习题 48 简答题 48 阐述题 49 观点与应用题 49 第三部分 设计模式 第5章 设计模式简介 53 5.1 概览 53 5.2 设计模式源自建筑学和人类学 53 5.3 从建筑模式到软件设计模式 57 5.4 为什么学习设计模式 58 5.5 学习设计模式的其他好处 62 5.6 小结 63 复习题 63 简答题 63 阐述题 64 观点与应用题 64 第6章 Facade模式 65 6.1 概览 65 6.2 Facade模式简介 65 6.3 学习Facade模式 65 6.4 实践注记:Facade模式 68 6.5 Facade模式与CAD/CAM问题的联系 69 6.6 小结 70 复习题 70 简答题 70 阐述题 70 观点与应用题 71 第7章 Adapter模式 72 7.1 概览 72 7.2 Adapter模式简介 72 7.3 学习Adapter模式 73 7.4 实践注记:Adapter模式 77 7.5 Adapter模式与CAD/CAM问题的联系 80 7.6 小结 80 复习题 80 简答题 80 阐述题 81 观点与应用题 81 第8章 开拓视野 82 8.1 概览 82 8.2 对象:传统看法与新看法 83 8.3 封装:传统看法与新看法 84 8.4 发现变化并将其封装 87 8.5 共性和可变性分析与抽象类 90 8.6 敏捷编程的品质 92 8.7 小结 95 复习题 96 简答题 96 阐述题 96 观点与应用题 97 第9章 Strategy模式 98 9.1 概览 98 9.2 处理新需求的一种途径 98 9.3 国际电子商务系统案例研究:最初的需求 100 9.4 处理新的需求 101 9.5 Strategy模式 108 9.6 实践注记:使用Strategy模式 110 9.7 小结 111 复习题 111 简答题 111 阐述题 112 观点与应用题 112 第10章 Bridge模式 113 10.1 概览 113 10.2 Bridge模式简介 113 10.3 学习Bridge模式:示例 114 10.4 对使用设计模式的观察 123 10.5 学习Bridge模式:通过将它推演出来 124 10.6 Bridge模式回顾 131 10.7 实践注记:使用Bridge模式 132 10.8 小结 135 复习题 137 简答题 137 阐述题 137 观点与应用题 137 第11章 Abstract Factory模式 138 11.1 概览 138 11.2 Abstract Factory模式简介 138 11.3 学习Abstract Factory模式:示例 138 11.4 学习Abstract Factory模式:实现该模式 144 11.5 实践注记:Abstract Factory模式 149 11.6 将Abstract Factory模式与CAD/CAM问题联系起来 151 11.7 小结 151 复习题 152 简答题 152 阐述题 152 观点与应用题 152 第四部分 组合起来:用模式思考 第12章 专家设计之道 154 12.1 概览 154 12.2 添加特征的创建方式 154 12.3 小结 160 复习题 160 简答题 160 阐述题 161 观点与应用题 161 第13章 用模式解决CAD/CAM问题 162 13.1 概览 162 13.2 对CAD/CAM问题的回顾 162 13.3 用模式思考 163 13.4 用模式思考:步骤1 164 13.5 用模式思考:步骤2a 165 13.6 用模式思考:步骤2b 169 13.7 用模式思考:步骤2c 172 13.8 用模式思考:重复步骤2a和步骤2b(Facade模式) 173 13.9 用模式思考:重复步骤2a和步骤2b(Adapter模式) 174 13.10 用模式思考:重复步骤2a和步骤2b(Abstract Factory模式) 174 13.11 用模式思考:步骤3 175 13.12 与原解决方案的比较 175 13.13 小结 176 复习题 177 简答题 177 阐述题 177 观点与应用题 177 第五部分 迈向新的设计方式 第14章 设计模式的原则与策略 180 14.1 概览 180 14.2 开闭原则 181 14.3 从背景设计原则 181 14.4 封装变化原则 185 14.5 抽象类与接口 186 14.6 理性怀疑原则 187 14.7 小结 187 复习题 188 简答题 188 阐述题 188 观点与应用题 188 第15章 共性与可变性分析 189 15.1 概览 189 15.2 共性和可变性分析与应用程序设计 189 15.3 用CVA解决CAD/CAM问题 190 15.4 小结 194 复习题 194 简答题 194 阐述题 194 观点与应用题 195 第16章 分析矩阵 196 16.1 概览 196 16.2 现实世界:充满变化 196 16.3 国际电子商务系统案例研究:应对变化 197 16.4 实践注记 203 16.5 小结 206 复习题 206 简答题 206 阐述题 206 观点与应用题 206 第17章 Decorator模式 207 17.1 概览 207 17.2 更多细节 207 17.3 Decorator模式 209 17.4 将Decorator模式应用到我们的案例研究 210 17.5 另一个例子:输入/输出 213 17.6 实践注记:使用Decorator模式 215 17.7 Decorator模式的本质 216 17.8 小结 217 复习题 217 简答题 217 阐述题 217 观点与应用题 217 第六部分 其他重要模式 第18章 Observer模式 220 18.1 概览 220 18.2 模式的分类 220 18.3 国际电子商务案例的更多需求 221 18.4 Observer模式 222 18.5 将Observer模式应用到我们的案例研究 223 18.6 实践注记:使用Observer模式 227 18.7 小结 229 复习题 229 简答题 229 阐述题 230 观点与应用题 230 第19章 Template Method模式 231 19.1 概览 231 19.2 案例研究的更多需求 231 19.3 Template Method模式 232 19.4 将Template Method模式应用到我们的案例研究 232 19.5 使用Template Method模式减少冗余 233 19.6 实践注记:使用Template Method模式 238 19.7 小结 239 复习题 240 简答题 240 阐述题 240 第七部分 各种工厂模式 第20章 来自设计模式的教益:各种工厂模式 242 20.1 概览 242 20.2 工厂 242 20.3 再谈背景 243 20.4 工厂遵循我们的准则 245 20.5 限制变化的影响 246 20.6 对工厂的另一种思考方式 246 20.7 工厂的不同角色 247 20.8 实践注记 247 20.9 小结 248 复习题 248 简答题 248 阐述题 248 观点与应用题 248 第21章 Singleton模式和Double-Checked Locking模式 249 21.1 概览 249 21.2 Singleton模式简介 249 21.3 将Singleton模式应用到我们的案例研究 250 21.4 一种变体:Double-Checked Locking模式 252 21.5 反思 255 21.6 实践注记:使用Singleton模式和Double-Checked Locking模式 255 21.7 小结 256 复习题 256 简答题 256 阐述题 256 观点与应用题 256 第22章 Object Pool模式 257 22.1 概览 257 22.2 一个需要对对象进行管理的问题 257 22.3 Object Pool模式 263 22.4 观察:工厂的作用不仅是实例化 263 22.5 小结 265 复习题 265 简答题 265 阐述题 266 观点与应用题 266 第23章 Factory Method模式 267 23.1 概览 267 23.2 案例研究的更多需求 267 23.3 Factory Method模式 268 23.4 Factory Method模式与面向对象语言 268 23.5 实践注记:使用Factory Method模式 269 23.6 小结 270 复习题 271 简答题 271 阐述题 271 观点与应用题 271 第24章 工厂模式的总结 272 24.1 概览 272 24.2 软件开发过程中的步骤 272 24.3 工厂与极限编程实践殊途同归 273 24.4 系统的扩展性 273 第八部分 终点与起点 第25章 设计模式回顾:总结与新起点 276 25.1 概览 276 25.2 面向对象原则的总结 276 25.3 设计模式如何封装实现 277 25.4 共性和可变性分析与设计模式 277 25.5 按责任分解问题域 278 25.6 模式和从背景设计 279 25.7 模式内部的关联 279 25.8 设计模式与敏捷编程实践 281 25.9 实践注记 281 25.10 小结 281 复习题 282 简答题 282 阐述题 282 观点与应用题 282 第26章 参考书目 283 26.1 本书配套网站 283 26.2 推荐阅读 284 26.3 针对Java程序员的推荐读物 285 26.4 针对C++程序员的推荐读物 286 26.5 针对COBOL程序员的推荐读物 287 26.6 极限编程的推荐读物 287 26.7 程序设计的一般性推荐读物 287 26.8 个人推荐 288

2017-08-21

Elasticsearch Java教程

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。

2017-08-09

Axure RP Pro 7.0中文破解免安装版

Axure RP Pro 7.0中文破解版,使用前需要安装.Net_Framework_4.0

2017-08-06

《Java并发编程实战》

作者简介编辑 本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。 Brian Goetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。Tim Peierls是“现代多处理器”的典范,他在BoxPop-biz、唱片艺术和戏剧表演方面也颇有研究。Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算机时代。 David Holmes是《The Java Programming Language》一书的合著者,任职于Sun公司。 Joshua Bloch是Google公司的首席Java架构师,《Effective Java》一书的作者,并参与著作了《Java Puzzlers》。 Doug Lea是《Concurrent Programming》一书的作者,纽约州立大学 Oswego分校的计算机科学教授。 对本书的赞誉 译者序 前 言 第1章 简介 1.1 并发简史 1.2 线程的优势 1.2.1 发挥多处理器的强大能力 1.2.2 建模的简单性 1.2.3 异步事件的简化处理 1.2.4 响应更灵敏的用户界面 1.3 线程带来的风险 1.3.1 安全性问题 1.3.2 活跃性问题 1.3.3 性能问题 1.4 线程无处不在 第一部分 基础知识 第2章 线程安全性 2.1 什么是线程安全性 2.2 原子性 2.2.1 竞态条件 2.2.2 示例:延迟初始化中的竞态条件 2.2.3 复合操作 2.3 加锁机制 2.3.1 内置锁 2.3.2 重入 2.4 用锁来保护状态 2.5 活跃性与性能 第3章 对象的共享 3.1 可见性 3.1.1 失效数据 3.1.2 非原子的64位操作 3.1.3 加锁与可见性 3.1.4 Volatile变量 3.2 发布与逸出 3.3 线程封闭 3.3.1 Ad-hoc线程封闭 3.3.2 栈封闭 3.3.3 ThreadLocal类 3.4 不变性 3.4.1 Final域 3.4.2 示例:使用Volatile类型来发布不可变对象 3.5 安全发布 3.5.1 不正确的发布:正确的对象被破坏 3.5.2  不可变对象与初始化安全性 3.5.3 安全发布的常用模式 3.5.4 事实不可变对象 3.5.5 可变对象 3.5.6 安全地共享对象 第4章 对象的组合 4.1 设计线程安全的类 4.1.1 收集同步需求 4.1.2 依赖状态的操作 4.1.3 状态的所有权 4.2 实例封闭 4.2.1 Java监视器模式 4.2.2 示例:车辆追踪 4.3 线程安全性的委托 4.3.1 示例:基于委托的车辆追踪器 4.3.2 独立的状态变量 4.3.3 当委托失效时 4.3.4 发布底层的状态变量 4.3.5 示例:发布状态的车辆追踪器 4.4 在现有的线程安全类中添加功能 4.4.1 客户端加锁机制 4.4.2 组合 4.5 将同步策略文档化 第5章 基础构建模块 5.1 同步容器类 5.1.1 同步容器类的问题 5.1.2 迭代器与Concurrent-ModificationException 5.1.3 隐藏迭代器 5.2 并发容器 5.2.1 ConcurrentHashMap 5.2.2 额外的原子Map操作 5.2.3 CopyOnWriteArrayList 5.3 阻塞队列和生产者-消费者模式 5.3.1 示例:桌面搜索 5.3.2 串行线程封闭 5.3.3 双端队列与工作密取 5.4 阻塞方法与中断方法 5.5 同步工具类 5.5.1 闭锁 5.5.2 FutureTask 5.5.3 信号量 5.5.4 栅栏 5.6 构建高效且可伸缩的结果缓存 第二部分 结构化并发应用程序 第6章 任务执行 6.1 在线程中执行任务 6.1.1 串行地执行任务 6.1.2 显式地为任务创建线程 6.1.3 无限制创建线程的不足 6.2 Executor框架 6.2.1 示例:基于Executor的Web服务器 6.2.2 执行策略 6.2.3 线程池 6.2.4 Executor的生命周期 6.2.5 延迟任务与周期任务 6.3 找出可利用的并行性 6.3.1 示例:串行的页面渲染器 6.3.2 携带结果的任务Callable与Future 6.3.3 示例:使用Future实现页面渲染器 6.3.4 在异构任务并行化中存在的局限 6.3.5 CompletionService:Executor与BlockingQueue 6.3.6 示例:使用CompletionService实现页面渲染器 6.3.7 为任务设置时限 6.3.8 示例:旅行预定门户网站 第7章 取消与关闭 第8章 线程池的使用 第9章 图形用户界面应用程序 第三部分 活跃性、性能与测试 第10章 避免活跃性危险 第11章 性能与可伸缩性 第12章 并发程序的测试 第四部分 高级主题 第13章 显式锁 第14章 构建自定义的同步工具 第15章 原子变量与非阻塞同步机制 第16章 Java内存模型 附录A 并发性标注 参考文献

2017-08-04

navicat premium11.0.16 64位英文绿色版

navicat这个工具相信不用多说了,很强大,premium版更是相比mysql版等其他单一版本更强大了不少,比如批量修改这些。本版本是绿色版,解压即可用,方便没有管理员权限的电脑使用。

2017-07-28

深入剖析TOMCAT高清完整版本

深入剖析TOMCAT高清完整版本,免分下载

2017-07-27

大型网站技术架构:核心原理与案例分析+李智慧.pdf

第1篇 概述 1 大型网站架构演化 2 1.1 大型网站软件系统的特点 3 1.2 大型网站架构演化发展历程 4 1.2.1 初始阶段的网站架构 4 1.2.2 应用服务和数据服务分离 4 1.2.3 使用缓存改善网站性能 5 1.2.4 使用应用服务器集群改善网站的并发处理能力 6 1.2.5 数据库读写分离 7 1.2.6 使用反向代理和CDN加速网站响应 8 1.2.7 使用分布式文件系统和分布式数据库系统 9 1.2.8 使用NoSQL和搜索引擎 10 1.2.9 业务拆分 11 1.2.10 分布式服务 11 1.3 大型网站架构演化的价值观 13 1.3.1 大型网站架构技术的核心价值是随网站所需灵活应对 13 1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展 13 1.4 网站架构设计误区 14 1.4.1 一味追随大公司的解决方案 14 1.4.2 为了技术而技术 14 1.4.3 企图用技术解决所有问题 14 1.5 小结 15 2 大型网站架构模式 16 2.1 网站架构模式 16 2.1.1 分层 17 2.1.2 分割 18 2.1.3 分布式 18 2.1.4 集群 19 2.1.5 缓存 20 2.1.6 异步 20 2.1.7 冗余 21 2.1.8 自动化 22 2.1.9 安全 23 2.2 架构模式在新浪微博的应用 23 2.3 小结 25 3 大型网站核心架构要素 26 3.1 性能 27 3.2 可用性 28 3.3 伸缩性 29 3.4 扩展性 30 3.5 安全性 30 3.6 小结 31 第2篇 架构 4 瞬时响应:网站的高性能架构 34 4.1 网站性能测试 35 4.1.1 不同视角下的网站性能 35 4.1.2 性能测试指标 36 4.1.3 性能测试方法 39 4.1.4 性能测试报告 41 4.1.5 性能优化策略 41 4.2 Web前端性能优化 42 4.2.1 浏览器访问优化 42 4.2.2 CDN加速 43 4.2.3 反向代理 44 4.3 应用服务器性能优化 45 4.3.1 分布式缓存 45 4.3.2 异步操作 52 4.3.3 使用集群 53 4.3.4 代码优化 54 4.4 存储性能优化 58 4.4.1 机械硬盘vs. 固态硬盘 58 4.4.2 B+树vs. LSM树 59 4.4.3 RAID vs. HDFS 61 4.5 小结 64 5 万无一失:网站的高可用架构 66 5.1 网站可用性的度量与考核 67 5.1.1 网站可用性度量 67 5.1.2 网站可用性考核 67 5.2 高可用的网站架构 69 5.3 高可用的应用 71 5.3.1 通过负载均衡进行无状态服务的失效转移 72 5.3.2 应用服务器集群的Session管理 73 5.4 高可用的服务 76 5.5 高可用的数据 78 5.5.1 CAP原理 79 5.5.2 数据备份 82 5.5.3 失效转移 84 5.6 高可用网站的软件质量保证 85 5.6.1 网站发布 85 5.6.2 自动化测试 86 5.6.3 预发布验证 87 5.6.4 代码控制 88 5.6.5 自动化发布 90 5.6.6 灰度发布 91 5.7 网站运行监控 91 5.7.1 监控数据采集 92 5.7.2 监控管理 93 5.8 小结 94 6 永无止境:网站的伸缩性架构 95 6.1 网站架构的伸缩性设计 97 6.1.1 不同功能进行物理分离实现伸缩 97 6.1.2 单一功能通过集群规模实现伸缩 98 6.2 应用服务器集群的伸缩性设计 99 6.2.1 HTTP重定向负载均衡 100 6.2.2 DNS域名解析负载均衡 101 6.2.3 反向代理负载均衡 102 6.2.4 IP负载均衡 103 6.2.5 数据链路层负载均衡 104 6.2.6 负载均衡算法 105 6.3 分布式缓存集群的伸缩性设计 106 6.3.1 Memcached分布式缓存集群的访问模型 107 6.3.2 Memcached分布式缓存集群的伸缩性挑战 107 6.3.3 分布式缓存的一致性Hash算法 109 6.4 数据存储服务器集群的伸缩性设计 112 6.4.1 关系数据库集群的伸缩性设计 113 6.4.2 NoSQL数据库的伸缩性设计 117 6.5 小结 119 7 随需应变:网站的可扩展架构 121 7.1 构建可扩展的网站架构 122 7.2 利用分布式消息队列降低系统耦合性 123 7.2.1 事件驱动架构 123 7.2.2 分布式消息队列 124 7.3 利用分布式服务打造可复用的业务平台 126 7.3.1 Web Service与企业级分布式服务 128 7.3.2 大型网站分布式服务的需求与特点 129 7.3.3 分布式服务框架设计 130 7.4 可扩展的数据结构 131 7.5 利用开放平台建设网站生态圈 132 7.6 小结 134 8 固若金汤:网站的安全架构 135 8.1 道高一尺魔高一丈的网站应用攻击与防御 136 8.1.1 XSS攻击 136 8.1.2 注入攻击 138 8.1.3 CSRF攻击 139 8.1.4 其他攻击和漏洞 140 8.1.5 Web应用防火墙 141 8.1.6 网站安全漏洞扫描 142 8.2 信息加密技术及密钥安全管理 142 8.2.1 单向散列加密 143 8.2.2 对称加密 144 8.2.3 非对称加密 144 8.2.4 密钥安全管理 145 8.3 信息过滤与反垃圾 146 8.3.1 文本匹配 147 8.3.2 分类算法 148 8.3.3 黑名单 149 8.4 电子商务风险控制 150 8.4.1 风险 151 8.4.2 风控 151 8.5 小结 153 第3篇 案例 9 淘宝网的架构演化案例分析 156 9.1 淘宝网的业务发展历程 157 9.2 淘宝网技术架构演化 158 9.3 小结 162 10 维基百科的高性能架构设计分析 163 10.1 Wikipedia网站整体架构 163 10.2 Wikipedia性能优化策略 165 10.2.1 Wikipedia前端性能优化 165 10.2.2 Wikipedia服务端性能优化 166 10.2.3 Wikipedia后端性能优化 167 11 海量分布式存储系统Doris的高可用架构设计分析 169 11.1 分布式存储系统的高可用架构 170 11.2 不同故障情况下的高可用解决方案 171 11.2.1 分布式存储系统的故障分类 172 11.2.2 正常情况下系统访问结构 172 11.2.3 瞬时故障的高可用解决方案 173 11.2.4 临时故障的高可用解决方案 174 11.2.5 永久故障的高可用解决方案 175 12 网购秒杀系统架构设计案例分析 176 12.1 秒杀活动的技术挑战 177 12.2 秒杀系统的应对策略 177 12.3 秒杀系统架构设计 178 12.4 小结 182 13 大型网站典型故障案例分析 183 13.1 写日志也会引发故障 184 13.2 高并发访问数据库引发的故障 184 13.3 高并发情况下锁引发的故障 185 13.4 缓存引发的故障 185 13.5 应用启动不同步引发的故障 186 13.6 大文件读写独占磁盘引发的故障 186 13.7 滥用生产环境引发的故障 187 13.8 不规范的流程引发的故障 187 13.9 不好的编程习惯引发的故障 188 13.10 小结 188 第4篇 架构师 14 架构师领导艺术 190 14.1 关注人而不是产品 191 14.2 发掘人的优秀 191 14.3 共享美好蓝图 192 14.4 共同参与架构 193 14.5 学会妥协 194 14.6 成就他人 194 15 网站架构师职场攻略 196 15.1 发现问题,寻找突破 197 15.2 提出问题,寻求支持 199 15.3 解决问题,达成绩效 201 16 漫话网站架构师 203 16.1 按作用划分架构师 203 16.2 按效果划分架构师 204 16.3 按职责角色划分架构师 205 16.4 按关注层次划分架构师 205 16.5 按口碑划分架构师 206 16.6 非主流方式划分架构师 207 附录A 大型网站架构技术一览 208 附录B Web开发技术发展历程 215收缩

2017-07-26

Programming in Scala 中文版

Programming in Scala 中文版,完整的33章节

2017-04-21

unix编程艺术

unix编程艺术

2017-04-10

PlayMakerSamples.unitypackage

PlayMakerSamples.unitypackage playmaker官方案例 unity插件 playmaker官方小案例 记得先导入playmaker插件

2016-11-11

金字塔原理pdf书

《金字塔原理》(Pyramid Principles)由麦肯锡国际管理咨询公司的咨询顾问巴巴拉·明托(Barbara Minto)编著,于2002年12月出版发行,全书分为四个部分。该书旨在阐述写作过程的组织原理,提倡按照读者的阅读习惯改善写作效果。因为主要思想总是从次要思想中概括出来的,文章中所有思想的理想组织结构也就必定是一个金字塔结构——由一个总的思想统领多组思想。在这种金字塔结构中,思想之间的联系方式可以是纵向的——即任何一个层次的思想都是对其下面一个层次上的思想的总结;也可以是横向的——即多个思想因共同组成一个逻辑推断式,而被并列组织在一起。

2016-10-21

site-1.8.22.zip

eclipse的svn插件,使用时很方便解压,把对应的文件夹中的内容复制到eclipse中即可(features,plugins),就可以直接使用eclipse-svn功能下载上传,同步等一系列的工作了。

2016-10-18

pdfbox-fontbox(1.8.9).zip

PDFBOX和fontbox的jar包,可以抽取中文文字

2016-03-24

FlexPaper_2.1.0官方版本

FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用, 使在Flex中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。它可以被当做Flex的库来使用。 另外你也可以通过将一些例如Word、PPT等文档转成PDF,然后实现在线浏览。

2016-03-24

JSTL中文帮助文档(CHM).chm )

JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerWorks 上其新系列的第一篇文章中,软件工程师 Mark Kolb 向您展示了如何使用 JSTL 标记来避免在 JSP 页面中使用脚本编制元素。您还将了解如何通过从表示层删除源代码来简化软件维护。最后,您将了解 JSTL 经过简化的表达式语言,它允许在不必使用功能齐全的编程语言的情况下对 JSTL 操作指定动态属性值。 JavaServer Pages(JSP)是用于 J2EE 平台的标准表示层技术。JSP 技术提供了用于执行计算(这些计算用来动态地生成页面内容)的脚本编制元素和操作。脚本编制元素允许在 JSP 页面中包括程序源代码,在为响应用户请求而呈现页面时可以执行这些源代码。操作将计算操作封装到很象 HTML 或 XML 标记的标记中,JSP 页面的模板文本通常包含这些标记。JSP 规范只将几种操作定义成了标准,但从 JSP 1.1 开始,开发人员已经能够以定制标记库的方式创建其自己的操作了。 JSP 标准标记库(JSTL)是 JSP 1.2 定制标记库集,这些标记库实现大量服务器端 Java 应用程序常用的基本功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供标准实现,JSTL 使 JSP 作者可以专注于特定于应用程序的开发需求,而不是为这些通用操作“另起炉灶”。 当然,您可以使用 JSP 脚本编制元素(scriptlet、表达式和声明)来实现此类任务。例如,可以使用三个 scriptlet 实现条件内容,清单 1 中着重显示了这三个 scriptlet。但是,因为脚本编制元素依赖于在页面中嵌入程序源代码(通常是 Java 代码),所以对于使用这些脚本编制元素的 JSP 页面,其软件维护任务的复杂度大大增加了。例如,清单 1 中的 scriptlet 示例严格地依赖于花括号的正确匹配。如果不经意间引入了一个语法错误,则条件内容中的嵌套其它 scriptlet 可能会造成严重破坏,并且在 JSP 容器编译该页面时,要使所产生的错误信息有意义可能会很困难

2016-03-05

c3p0jar的包

c3p0最新jar包 源码 官网下载...

2016-03-01

commons-collections.jar下载

commons-collections.jar下载

2016-02-29

空空如也

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

TA关注的人

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