- 浏览: 215397 次
- 性别:
- 来自: 哈尔滨
最新评论
-
lizhenzhendebishe:
提示An error was discovered proce ...
WebService:Axis客户端调用需要身份验证的CXF服务 -
yuanliangding:
学习了。不太接触底层的东西
UNIX系统的IO模型 -
_copythat:
加油,。。。
阳光总会在风雨之后洒向苍茫 -
donlianli:
莫非去淘宝菜鸟网络了?
阳光总会在风雨之后洒向苍茫 -
菜鸟小于:
我也是哈尔滨的,在广州做了三年的开发,可是实际上我们是在维护一 ...
阳光总会在风雨之后洒向苍茫
文章列表
“理想改变了我们的模样,也让我懂得了,要珍惜朋友的肩膀,听着“朋友的酒”,忽然有点伤感,想起了过去的经历,想起了过去的朋友,很少写总结,新的工作已经开始,总结一下过去也好。
----------------------------------------------
07年、毕业、广州
从小在农村长大,经历着80后一样的经历,平平稳稳的在07年大学毕业,向往着北上广的大城市生活,毕业就奔赴了广州,梦想着能找一份不错的本专业工作(电子信息工程),但是当梦想照进现实,总是不那么如意,漂泊了半年,做过工程布线、安装过工厂的视频监控、焊接交换机的排线,因为公司比较小,就6、7个人, ...
分布式系统中经常需要协调多进程,多个jvm,或者多台机器之间的同步问题,得益于zookeeper,实现了一个分布式的共享锁,方便在多台服务器之间竞争资源时,来协调各系统之间的协作和同步。
package com.concurrent;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.con ...
JS操作文件
- 博客分类:
- JavaScript
1、使用之前需要对IE进行设置
2、用JS创建并写入数据
function CreateFile()
{
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("c:\\testfile.txt", true);
// 写一行,并且带有新行字符。
tf.WriteLine("Testing 1, 2, 3.") ;
// 向文件写三个新行字符。 ...
CXF服务端代码:
1、web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/ ...
crontab使用方式介绍
- 博客分类:
- 操作系统
定时任务参数详解如下:
crontab -l | crontab -e
#*/30 * * * * ntpdate 114.80.81.72
*/30 * * * * /usr/sbin/ntpdate 192.168.100.13
30 2 * * * /root/accesslogrm.sh
*/2 * * * * /usr/local/javaBin/pdsockos.sh
20 0 * * * /usr/local/javaBin/mvlogs.sh
执行定时任务
语法 ...
使用axis1.4调用webservice有两种简单的方式:
1、直接使用axis提供的API调用,适用于webservice接口的参数和返回值都是String的情况。
try {
Call call = (Call)new Service().createCall();
call.setTargetEndpointAddress("http://192.168.1.234:8080/TestAxis");
Object obj = call.invoke("auth", new String[]{"username", ...
执行java程序时如何引用依赖的jar
- 博客分类:
- java
在执行java程序时我们可以通过-Djava.ext.dirs来指定依赖的jar的目录,例如:
java -Djava.ext.dirs=e:/testjar/lib com.test.TestMain
用来执行TestMain类里的main方法,同时我们需要把testmain.jar和它依赖的jar包都放在e:/testjar/lib目录下。
《编码,藏匿在计算机软硬件背后的语言》读书笔记
- 博客分类:
- 操作系统
1、逻辑门与真值表
2、半加器
把两个二进制位的加法分解为加法运算和进位运算
3、全加器
+111111
111111
1111111
如上:半加器只能做右边第一列的计算,因为其他所有列的计算还需要一个进位输入,所以我们需 ...
Log4j简单实用配置
- 博客分类:
- java
#A1为控制台输出,A2为文件输出,R为文件输出,并且按天分割.级别为info
log4j.rootLogger=info,A1,A2,R
#将info级别的日志输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Threshold=info
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm ...
其实并非原创,只是摘录了Stevens的大作《UNIX网络编程》,写下来,一、加深理解和记忆;二、书是借的,记录一下备忘。感谢臻,借我此书一阅,受益匪浅。
6.2 I/O模型
阻塞式I/O;
非阻塞式I/O;
I/O复用;
信号驱动式I/O;
异步I/O;
一个输入操作通常包括两个不同的阶段:
1) 等待数据准备好;
2) 从内核向进程复制数据;
对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待分组到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复制到应用进程缓冲区。
6.2.1 阻塞式I/O模型
最流行的I/ ...
之前在IBM的网站上看到过一篇介绍NIO的文章,收获很大。但文中的代码只适合短连接的情况,长连接时就不适用了。
最近恰好要写一个处理长连接的服务,接收日志包,然后打包成syslog形式再转发,所以在它的基础上改了一下。
主要改了两个类,一个是Server,因为我们只关注read事件,所以write事件我们暂不处理。另外,在处理完ON_READ事件后,不能执行key.cancel()。
package nioserver;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio ...
有时候和C的程序通信的时候,我们在封装协议时,可能需要将Java里的int值,转换成byte[]后用socket发送。所以我们需要将32位的int值放到4字节的byte[]里。
/**
* int值转成4字节的byte数组
* @param num
* @return
*/
public static byte[] int2byteArray(int num) {
byte[] result = new byte[4];
result[0] = (byte)(num >>> 24);//取最高8位放到0下标
result[1] = (byt ...
今天无意中看到以前写的代码,是一个单例的工厂模式实现,代码片段如下:
private static Map daoMap = new HashMap();
public static Dao createDao(String className) {
Dao dao = (Dao) daoMap.get(className);
if (dao != null) {
return dao;
} else {
dao = ...
LDAP服务器端可以支持分页查询,但是有个前提条件,需要客户端先发送按关键字排序的指令后,才能执行分页查询。排序的过程是比较耗费时间的,需要对服务器做很多优化的操作。
我的方法是在迭代结果集的时候实现分页,见代码:
package ldap.page;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Pro ...