作家
登录
  • 使用Spring管理数据源连接池

    不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的。在以往的应用中,数据源一般是 Web应用服务器提供的。在Spring中,你不但可以通过JNDI获取应...

    作者:wszsl32106-24
  • 并发编程中需要谨记的规则

    最小化临界区Amdahl定律和Gustafson定律都将并行算法中的顺序执行的工作视为性能问题的头号敌人。两个执行代码区段中间的时间需要顺序执行,这就是众所周知的临界值。在图1-16的分析Gustafson定...

    作者:wszsl32106-24
  • 基于Java阻塞队列的搜索实例

    队列以一种先进先出的方式管理数据。如果你试图向一个已经满了的阻塞队列中添加一个元素,或是从一个空的阻塞队列中移除一个元素,将导致线程阻塞。在多线程进行合作时,阻塞队列是很有用的工具...

    作者:wszsl32106-24
  • 基于线程池的匹配文件数量计算

    构建一个新的线程的代价还是有些高的,因为它涉及与操作系统的交互。如果你的程序创建了大量生存期很短的线程,那就应该使用线程池。一个线程池包含大量准备运行的空闲线程。你将一个Runnable对...

    作者:wszsl32106-24
  • Java高并发:静态页面生成方案

    提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等。今天要说的就是生成静态页面的方式。这个也是我近期一直在搞的一个问题,近期在做使用html + servlet做个人网站,为什么是这2个...

    作者:wszsl32106-24
  • 让Java代码跑得更快

    本文简单介绍一下在写代码过程中用到的一些让JAVA代码更高效的技巧。1,将一些系统资源放在池中,如数据库连接,线程等.在standalone的应用中,数据库连接池可以使用一些开源的连接池实现,如C3P0,pr...

    作者:wszsl32106-24
  • Java解读NIO Socket非阻塞模式

    NIO主要原理和适用NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我们接着做别的事情,当有 事件发生时,他会通知我们,传回一组SelectionKe...

    作者:wszsl32106-12
  • 利用NIO建立Socket服务器

    传统的Java 的IO,利用Socket建立服务器,接收客户端连接,一般都是为每一个连接建立一个线程,如果连接数巨大,那么服务器开销也将巨大。。NIO的原理,可以参照图:Socket的Channel在Selector上...

    作者:wszsl32106-12
  • 用Java.nio.* 进行网络编程

    前言因为打算用java编写异步通信的server和client程序,笔者便学习使用java.nio开发包,其间遇到一些问题,上网却发现网上对它的应用描述的不是很多。所以,笔者不惜班门弄斧,做些简单的讨论,...

    作者:wszsl32106-12
  • Java NIO的wakeup剖析

    java NIO的实现中,有不少细节点非常有学习意义的,就好比下面的这个点:Selector的 wakeup原理是什么?是如何实现的?wakeup()准确来说,应该是Selector的wakeup(),即Selector的唤醒,为什么要...

    作者:wszsl32106-12
  • Java NIO类库关系图解

    下面这张图给出了nio类库的各个类之间的关系,这样你就能知道该怎样移动和转换数据了。举例来说,如果你想把byte数组写进文件,你得先用ByteBuffer.wrap( )方法把这个byte数组wrap成buffer,再用...

    作者:wszsl32106-12
  • 浅析Tomcat NIO 配置

    Tomcat 6.X实现了JCP的Servlet 2.5和JSP2.1的规范,并且包括其它很多有用的功能,使它成为开发和部署web应用和web服务的坚实平台。NIO (No-blocking I/O)从JDK 1.4起,NIO API作为一个基于缓冲...

    作者:wszsl32106-12
  • Java NIO API详解

    NIO API主要集中在java.nio和它的subpackages中:java.nio定义了Buffer及其数据类型相关的子类。其中被java.nio.channels中的类用来进行IO操作的ByteBuffer的作用非常重要。java.nio.channels定...

    作者:wszsl32106-12
  • Java NIO基本使用实例

    NIO是Java提供的非阻塞I/O API。非阻塞的意义在于可以使用一个线程对大量的数据连接进行处理,非常适用于"短数据长连接"的应用场景,例如即时通讯软件。在一个阻塞C/S系统中,服务器要为每一个客户...

    作者:wszsl32106-12
  • Java NIO的介绍及工作原理

    针对传统I/O 工作模式的不足,NIO 工具包提出了基于Buffer(缓冲区)、Channel(通道)、Selector(选择器)的新模式;Selector(选择器)、可选择的Channel(通道)和SelectionKey(选择键)配...

    作者:wszsl32106-12
  • Java中关于OOM的场景及解决方法

    1、OOM for Heap=>例如:java.lang.OutOfMemoryError: Java heap space分 析此OOM是由于JVM中heap的最大值不满足需要,将设置heap的最大值调高即可,参数样例为:-Xmx2G解决方法调高heap的最大...

    作者:wszsl32106-12
  • Storm源码浅析之topology的提交

    最近一直在读twitter开源的这个分布式流计算框架——storm的源码,还是有必要记录下一些比较有意思的地方。我按照storm的主要概念进行组织,并且只分析我关注的东西,因此称之为浅析。...

    作者:wszsl32106-12
  • 解析从堆到优先队列的实现

    优先队列,顾名思义,就是一种根据一定优先级存储和取出数据的队列。它可以说是队列和排序的完美结合体,不仅可以存储数据,还可以将这些数据按照我们设定的规则进行排序。先说说优先队列的实现...

    作者:wszsl32106-12
  • 用nio实现Echo服务

    今天突然间想用nio实现个Echo服务,程序实现起来实现不算困难,但跑起来后,在Server端的ServerSocket完成accept之后,我的CPU总是跳到100%。嗯,小郁闷,后来,才发现自己在Server端注册了多余...

    作者:wszsl32106-12
  • Java NIO TCP编程

    在Java1.4以前,Java的网络编程是只有阻塞方式的,在Java1.4以及之后,Java提供了非阻塞的网络编程API.从Java的发展来看,由于Java的快速发展,JVM性能的提升,涉足到服务端应用程序开发也越来越...

    作者:wszsl32106-12
  • Java NIO 异步读取网络数据

    简单的来说,Java NIO 提供了一种异步非阻塞模型,使得网络请求都可以并发执行。服务器端采用这种模型,响应速度将大大提高,Apache,Nginx 都是这种模型。本文介绍的是客户端如何采用这种模型来...

    作者:wszsl32106-12
  • Java NIO(异步IO)Socket通信例子

    服务器代码:import java.net.*; import java.nio.*; import java.nio.channels.*; import java.util.*; public class server { ServerSocketChannel ssc ; public void start() { try { Select...

    作者:wszsl32106-12
  • 影响Java NIO框架性能的因数

    最近打算用kilim做一个rpc框架, kilim有自己的nio框架 而在业界有强劲的netty和mina。所以问了一下kilim的作者,他的回答说 因为底层用的都是java nio的api,所以留给nio框架最主要的问题是这2...

    作者:wszsl32106-12
  • Java NIO类库Selector机制解析(下)

    五、 迷惑不解 : 为什么要自己消耗资源?令人不解的是为什么我们的Java的New I/O要设计成这个样子?如果说老的I/O不能多路复用,如下图所示,要开N多的线程去挨个侦听每一个Channel (文件描述符...

    作者:wszsl32106-12
  • Java的NIO以及线程并发

    一、NIO的出现NIO是JDK1.4里面才出现的东东,他给大家带来的最大好处是异步socket。其它file,pipe暂时就不多谈了。在JDK1.4出现之前,如果你需要编写一个Java服务器,为了实现异步操作,你必须为...

    作者:wszsl32106-12