- 博客(106)
- 资源 (9)
- 收藏
- 关注
转载 9.Java NIO系列教程之SocketChannel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是SocketChannel的打开方式:
2015-01-23 16:07:20
977
转载 8.Java NIO系列教程之FileChannel
Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、OutputStream或RandomAcc
2015-01-23 15:54:26
943
转载 7.Java NIO系列教程之Server/Client完整示例
TCPServer类:package com.gw.demo;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels.Ser
2015-01-23 15:22:59
4787
转载 6.Java NIO系列教程之Selector
Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。为什么使用Selector?仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道。对于操作系统来说,线程之间上下文切换的开
2015-01-23 09:58:14
1047
转载 5.Java NIO系列教程之通道之间的数据传输
在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChannel中(译者注:这个方法在JDK文档中的解释为将字节从给定的可读取字节通道传输到此
2015-01-22 22:35:27
843
转载 4.Java NIO系列教程之Scatter/Gather
Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。聚集(ga
2015-01-22 22:28:17
956
转载 3.Java NIO系列教程之Buffer
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表:Buffer的基本用法Buffer的capacity,position和l
2015-01-22 22:04:17
741
转载 2.Java NIO系列教程之Channel
Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是Java NIO中最重要的通道的实现:
2015-01-22 21:40:04
732
转载 1.Java NIO系列教程之概述
Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在单独的章节中讲到。
2015-01-22 21:36:08
812
转载 如何修改CentOS主机名
需要修改两处:第一处 /etc/sysconfig/network用任一款你喜爱的编辑器打开该文件,里面有一行 HOSTNAME=localhost.localdomain (如果是默认的话),修改 localhost.localdomain 为你的主机名。第二处 /etc/hosts 打开该文件,会有一行 127.0.0.1 localhost.localdomain loc
2014-07-22 23:41:51
855
转载 MongoDB 的日志系统
MongoDB拥有几种日志,分别是系统日志、Journal日志、oplog主从日志、慢查询日志。这些日志记录着MongoDB数据库的不同的踪迹。系统日志系统日志记录着Mongodb启动和停止的操作,以及服务器在运行过程中发生的任何异常信息。配置系统日志的方法比较简单,只需要在启动 mongod时指定一个 logpath参数即可,例如:mongod -lo
2014-07-03 18:14:06
3161
转载 如何安全的终止java线程
JDK1.5以后,stop(),destroy()方法已经被sun标明了已过时,不推荐使用了!!中止线程一般来说,最好的是在run()方法里写一个while(true){}死循环,然后加上判断条件,超过标志位,break就可以!
2014-06-30 09:24:33
1207
转载 在Windows下安装多个版本的Python
我們先假設使用者,已經在 python 官方網站下載各版本的 Windows Installer 並安裝在預設路徑下:python 2.6:C:\Python26python 2.7:C:\Python27python 3.2:C:\Python32 我們希望在 command line 輸入 python26 就是執行 C:\Python26\python
2014-04-25 11:26:35
5028
转载 Java下出现异常Unable to load library的解决思路
最近在编译Spatialite,查看Akka的ZeroMQ的demo程序是,容易出现Unable to load library
2014-04-24 13:29:44
37617
2
转载 CentOS下安装中文输入法
centos 6.3用yum安装中文输入法1.需要root权限,所以要用root登录 ,或su root2.yum install "@Chinese Support"3.exit4.回到桌面,system->preferences->input method5.如果没有,先注销一下。6.按照提示添加输入法。7.最后 再次注销,登录即可。
2014-03-12 16:04:57
731
转载 redis.conf中文版(基于2.4)
# Redis示例配置文件# 注意单位问题:当需要设置内存大小的时候,可以使用类似1k、5GB、4M这样的常见格式:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1gb => 1024*1024*1024 by
2013-12-05 15:05:59
700
转载 WebView显示的网页在大分辨率屏下被放大 - 密度惹的祸
例如适合800px宽度的页面,如果通过WebView在1024px的屏幕宽度下显示时,内容(图片)会被放大,整体页面会超出屏幕。 试了将WebView的settings中的缩放都关闭了也不行。 后来发现了WebSettings.ZoomDensity这个设置,并在文档中找到了以下说明: Enum for specifying the WebView's desired
2013-11-29 20:18:33
1742
转载 apache 整合 tomcat
apache 整合 tomcat 一.Apache 与 Tomcat 介绍 Apache 是当前使用最为广泛的 WWW 服务器软件,具有相当强大的静态 HTML 处理的能力. Tomcat 服 务 器 是 一 个 免 费 的 开 放 源 代 码 的 Web 应 用 服 务 器 , 它 是 Apache 软 件 基 金 会 (Apache Software Foundation)的
2013-11-28 22:52:34
842
转载 windows下整合 tomcat 和 nginx
tomcat自带的apache服务器对于并发请求的处理能力比较差,并且耗费资源很大,而nginx这方便却很强悍,以下是在windows下整合tomcat和nginx的过程。1.准备工作 下载tomcat(http://tomcat.apache.org/download-70.cgi),下载nginx(http://nginx.org/en/download.html),我用
2013-11-28 21:36:02
1377
原创 ubuntu下如何用gedit编辑etc,usr等目录下的文件
在不熟悉iv的用户可以使用下面的命令,以图形化的方式编辑文件:如想修改/etc/lightdm/ligthdm.conf文件,则打开你的terminal,输入sudo gedit /etc/lightdm/ligthdm.conf 即可
2013-11-09 12:44:33
16096
转载 修改了Ubuntu下的/usr目录权限,导致不能使用sudo命令的修复
刚开始运行sudo时,报了下面这个错误sudo: must be setuid root,于是上网找解决方法,搜索出来的都是这样解决的 ls -l /usr/bin/sudochown root:root /usr/bin/sudochmod 4755 /usr/bin/sudoreboot我测试后的结论是,这个方法是可行的,但没有说清楚,需要有root
2013-11-09 11:53:46
23009
2
转载 chmod 4755和chmod 755的区别
chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。 一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文件所有者同属一个用户组的其他用户的权限第三个数字表示其它用户组的权限。 权限分为三种:读(r=4),写(w=2),执行(x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6
2013-11-09 11:50:06
1262
转载 Oracle CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 2
2013-10-11 21:21:34
841
转载 图解lucene TermVector
如果不是Field.Store.YES, 无法保存TermVector.索引数据为Amsterdam has lots of bridges in AmsterdamWhitespaceAnalyzer1 TermVector.YES2 TermVector.WITH_POSITIONS3 TermVector.WITH_OFFSETS
2013-09-28 17:39:29
2554
转载 Spring批量更新JdbcTemplate.batchUpdate()
public class BatchUpdate{ JdbcTemplate jdbctemp; //JdbcTemplate的获取不是我所讲的范围。 我们只管用spring得这一对象, public static void main(String[] args) { BatchUpdate bu = new BatchUpdate(); List
2013-09-24 22:23:58
39707
转载 Java中HashMap和TreeMap的区别深入理解
首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。HashMap通过hashcod
2013-07-14 11:34:12
1967
转载 SQLite之大数据量批量入库
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.InputSt
2013-07-14 11:14:31
7009
转载 spring中装载多个配置文件的解决方法
当spring中同时存在多个配置文件时,你必须同时加载它,那你怎么办呢?我所知道的方法以下几种:1.使用监听器或servlet,当然也可以自己写类实现,这种方法要使用多个配置文件只需在web.xml中加入一个 contextConfigLocation /WEB-INF/applicationContext-hibernate.xml,/WEB-INF/applicatio
2013-07-14 11:07:01
1232
转载 Java之线程安全的单例模式
面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个:public final class EagerSingleton { private static EagerSingleton singObj = new EagerSingleton(); pr
2013-07-14 10:48:37
1034
转载 spring bean id重复覆盖的问题解决
问题: 当我们的web应用做成一个大项目之后,里面有很多的bean配置,如果两个bean的配置id是一样的而且实现类也是一样的,例如有下面两份xml的配置文档:beancontext1.xml beancontext2.xml 当spring容器初始化时候同时加载这两份配置文件到当前的上下文的时候,代码如下:
2013-07-14 10:05:37
2632
转载 Java之Comparable,Comparator
package comparator;import java.util.Arrays;public class User implements Comparable { private String id; private int age; public User(String id, int age) { this.id = id; this.age = age; }
2013-07-12 12:02:28
830
转载 Java之TreeSet介绍
import java.util.Comparator;import java.util.TreeSet;import org.junit.Test;//非线程安全public class TreeSetTest { /** * TreeSet:它可以给Set集合中的元素进行指定方式的排序。 保证元素唯一性的方式:通过比较的结果是否为0. 底层数据结构是:二叉树。 *
2013-07-12 11:44:45
7357
原创 SQLite,Spatialite知识
1:判断表是否存在SELECT count(*) FROM sqlite_master WHERE type='table' AND name='tableName';
2013-07-11 20:57:07
2196
转载 MyEclipse中利用Jetty部署web工程的问题
将web项目发布到jetty7服务器后启动报错java.lang.ClassNotFoundException: org.eclipse.jetty.plus.webapp.Configurationat java.net.URLClassLoader$1.run(URLClassLoader.java:200)at java.security.AccessController.doP
2013-07-11 20:26:30
5864
原创 Java之HashMap get方法
HashMap 非线程安全通过下图可以看出HashMap的get方法的实现,其判断标准是通过hashCode和equals方法。故可以通过重写类的hashCode和equals方法实现自定义Object的相等标准,完整代码如下Book.javapackage com.shc.map;public class Book { private String t
2013-07-03 11:33:21
40672
转载 Java之String,StringBuilder,StringBuffer区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常
2013-07-01 19:47:32
785
原创 Java之Serializable
1:AbstractSerializeDemo.javaclass AbstractSerializeDemo{ protected int x, y; public void init(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public int getY
2013-06-29 17:09:53
875
原创 在windows xp 下编译postgis-1.5.8驱动包的方法
1:搭建好ant环境2:下载源码postgis-1.5.8源码3:键入如下命令:F:\software\PostgreSQL\postgis-1.5.8\java\jdbc>ant -lib ..\..\..\postgresql-9.2-1002.jdbc4.jar
2013-06-29 16:28:43
1023
原创 Hibernate Spatial 3 + PostGIS9 搭配实现
1:工程结构如下2:hibernate.postgis.cfg.xml<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibe
2013-06-29 15:58:40
3957
转载 PostGIS之Java入门
相关的功能也可以使用jts.jar包实现import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;i
2013-06-29 15:40:12
11264
Baidu_map(百度地图)Android平台开发指南.doc
2011-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人