自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王鸿飞的专栏

简书: https://www.jianshu.com/u/5267bcbeb04d CSDN也会同步更新

  • 博客(8)
  • 资源 (9)
  • 收藏
  • 关注

原创 Java: 使用信号量(Semaphore)保护多个共享资源的访问

信号量(semaphore)机制是一种常用的同步机制,在现代OS中被广泛采用。semaphore是一个非0值,当它的值大于0时表示系统目前还有足够的资源分配给请求线程,每分配出去一个资源,值递减。当值等于0时表示当前已无资源可分配。JDK提供了Semaphore类来实现信号量。假如我们一共有3台打印机可用,当前有N个线程都请求使用打印机,要实现对打印机这种资源的访问保护,有以下两种方式:每当一个线

2015-03-26 11:36:00 2994

原创 基于JMS消息中间件的分布式系统初探究(二) - 服务端反射调用组件方法

在上一篇文章中,我们解决了子系统之间的通讯问题,并跑起来了一个模型项目。这里我们要详细实现服务端程序。我们在服务端运行Spring,利用Spring的IoC容器来管理所有的Service组件,然后根据接收到的JMS消息通过反射动态调用Service方法。首先要先设计一下协议:public class MessageProtocol implements Serializable { /**

2015-03-25 02:46:02 2087

原创 基于JMS消息中间件的分布式系统初探究(一) - 通过JMS实现Web服务器与服务框架的通讯

在一个大型网站中,如果要把整个业务拆分成N个子业务,每个业务单独部署到一台服务器上,那么需要解决的问题有:自身的部署。是部署到JavaEE容器中随容器启动,还是做为一个standalone程序单独启动?子系统如何暴露服务接口(如何与其它系统进行通讯)。服务请求者直接通过Socket直连,还是通过Web Service, RMI等技术?这里我们尝试通过standalone方式部署,通过JMS中间

2015-03-24 00:47:48 3079

原创 Java最大的优势真的在于跨平台吗?

以前是,但现在已经不是了。有跨平台需求的仅仅是客户端应用,而不是服务端。例如桌面应用,你的客户可能是Windows用户,也可能是Linux用户,这时候如果不想多投入成本对各个平台进行适配,那么Java所谓的”Write once, run everywhere”就显得异常光彩。然而今天,整个软件世界都在向B/S应用倾倒(嵌入式除外),即使要做客户端跨平台,QT等第三方框架远远比Swing更强大,Ja

2015-03-18 07:50:32 2347

原创 利用广度优先遍历(BFS)计算最短路径 - Java实现

我们用字符串代表图的顶点(vertax),来模拟学校中Classroom, Square, Toilet, Canteen, South Gate, North Gate几个地点,然后计算任意两点之间的最短路径。 如,我想从North Gate去Canteen, 程序的输出结果应为: BFS: From [North Gate] to [Canteen]: North Gate

2015-03-15 02:46:54 10763

原创 SpringMVC: web.xml中声明DispatcherServlet时一定要添加load-on-startup标签

游历SpringMVC源码后发现,在web.xml中注册的ContextLoaderListener监听器只是初始化了一个根上下文,仅仅完成了组件扫描和与容器初始化相关的一些工作,并没有探测到具体每个URL应当map到哪个Controller, 哪个方法上。而剩一下的这些复杂工作都是由DispatcherServet来完成的,即应用服务器加载DispatcherServlet调用init()方法时才

2015-03-12 20:58:38 3547 1

原创 Spring源码分析: SpringMVC启动流程与DispatcherServlet请求处理流程

Spring版本: 4.0.X 注:这里的分析只关注整个处理流程的大致过程,省略与流程无关的代码。应用根上下文(Root ApplicationContext)的启动在一个web项目中使用SpringMVC时,需在web.xml中配置一个监听器:<listener> <listener-class>org.springframework.web.context.ContextLoa

2015-03-11 23:54:20 3214

原创 总结在使用JPA时需要注意的几点

在调用persist(entity)方法之前,一定要保证entity所有的非集合类成员都已经被正确地赋值。在@OneToMany关系中,如果要删除many端(主动端)的实体,必须先从one端(被动端)的集合类中移除该实体,然后再调用remove(entity)方法才能删除成功。在@OneToMany关系中,未设置级联删除的情况下,如果要删除one端(被动端)实体,则必须先删除one端集合类中所有

2015-03-09 15:13:07 2013

Go语言圣经中文HTML版

这是从gitbook上爬虫抓取下来的完整gitbook网页,体验与在线版本完全一样

2016-08-21

Spring Boot in Action英文版

详解Spring Boot微框架,目前还没有中文版本

2016-04-28

Go语言圣经英文文字版-The Go Programming Language

Go语言圣经英文文字版

2016-04-28

满江红Seam-2.0文档翻译, chm格式

满江红Seam文档翻译,seam-2.0版。英文不太好的朋友可以看这个。

2013-12-28

mysql JDBC驱动

mysql-connector-java-5.1.24-bin.jar

2013-06-03

mail.jar activation.jar

JavaMail开发必备包: mail.jar activation.jar

2013-04-27

简单贪吃蛇

基于控制台的贪吃蛇游戏,有需要的朋友下来看看

2012-08-22

访微软件记事本

在不使用MFC框架的情况下用API写的仿微软记事本,大家可以下来看看

2012-08-22

空空如也

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

TA关注的人

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