- 浏览: 737065 次
- 性别:
- 来自: 上海
-
最新评论
-
lijunwyf:
cevin15 写道可以看下这个开源软件,https://gi ...
用markdown2html把md转换成html -
cevin15:
可以看下这个开源软件,https://github.com/c ...
用markdown2html把md转换成html -
Raina:
运行不了呢……提示错误无法加载主类Baiduwallpaper ...
用Java更换Windows桌面壁纸 -
苏城细雨沐秋风:
我把解码的jar添加到类路径后,mp3可以播放,但是flac和 ...
java播放mp3/ogg/ape/flac音乐 -
peishuai1987:
请问楼主现在怎么样了,读了很多源码吗,比如mybatis、sp ...
mybatis源码阅读心得
文章列表
JDK使用MulticastSocket实现多点广播
- 博客分类:
- 网络
本文的理论和代码摘录于《疯狂Java讲义》http://book.51cto.com/art/201203/322560.htm,测试部分的截图是本人增加的。
1.理论
DatagramSocket只允许数据报发送给指定的目标地址,而MulticastSocket可以将数据报以广播方式发送到多个客户端。
...
本文的理论和代码摘录于《疯狂Java讲义》http://book.51cto.com/art/201203/322540.htm,测试部分的截图是本人增加的。
1.UDP协议和TCP协议简单对比如下。
TCP协议:可靠,传输大小无限制,但是需要连接建立时间,差错控制开销大。
UDP协议:不可靠,差错控制开销较小,传输大小限制在64KB以下,不需要建立连接。
2.使用DatagramSocket发送接收UDP数据
2.1 理论
JDK使用DatagramSocket代表UDP协议的Socket,DatagramSocket类似于码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据 ...
1.查看分支
查看本地分支:git branch
查看远程分支:git branch -r
创建本地分支:git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:git checkout [name]
创建新分支并立即切换到新分支:git checkout -b [name]
删除分支: ...
2019/07/16更新 下载镜像设置
1.Cygwin能做什么
Cygwin可以帮助您在Windows下面使用强大的Bash,以及使用数量繁多的Linux命令.
Cygwin可以让你在Windows下面练习Linux的Bash,以及常用工具。而不需要安装Linux,也不用担心Windows被破坏。
官网http://cygwin.com/install.html
中文网http://www.cygwin.cn/
2.安装
具体参见http://www.cygwin.cn/site/install/
2.1 首先下载安装程序 setup-x86.exe 或者setup-x86_64.e ...
不重复粘贴了,仅提供链接。
使用perl命令批量替换文件内容
http://www.m690.com/archives/128
Linux下用perl批量替换文本文件的内容
http://www.cnblogs.com/blueicely/archive/2013/03/21/2973420.html
linux批量替换文件内容3种方法(perl,sed,shell)
http://bbs.phpchina.com/blog-191373-187668.html
例1
perl -pi.bak -e "s/aaa/bbb/gi" test.txt
上面的命令把 ...
1.官方的tutorial已经很好了,得首先阅读。
http://www.jgroups.org/ug.html
本文其实是官方的tutorial的笔记,其中大部分文字转载自http://whitesock.iteye.com/blog/199229
2.基本概况
在JGroups中JChannel类提供了主要的API ,用于连接到集群(cluster) ...
1.入门文档
如果是入门的话,官网的文档已经相当好了。里面的例子程序得仔细阅读,这里就不再重复转载了。参见http://netty.io/wiki/user-guide.html
2.为什么需要netty
2.1 主要是scalibity和performance
2.2 另外Netty In Action有一些说明,笔记如下:
2.2.1 传统的异步编程有2种模式:callback和Future
2.2.2 3种API比较
BIO: N个连接N个Thread
NIO: N个连接1个Selector-->1个Thread
NIO2:CompletionHandler避免了Select ...
1.BEEP,全称 块可扩展交换协议(Blocks Extensible Exchange Protocol),是一个P2P应用程序协议框架(RFC3080, RFC3081),用于面向连接的、异步请求/响应消息。支持在一个传输连接上使用多路复用的消息流。支持二进制和文本消息, TLS, SASL/Anonymous, SASL/OTP。
2.有一个java的实现java beep core,目前最新版本是 0.9.08,可在http://sourceforge.net/projects/beepcore-java/下载。
3.一些基本概念
Peer 对等连接,端点,可以是客户端或服务端
...
java压缩的一些开源库
- 博客分类:
- 算法
1. jdk自带的
zip: java.util.zip.ZipOutputStream
gzip: java.util.zip.GZipOutputStream
DEFLATE: java.util.zip.Deflater
2. ant.jar里面附带的,zip, bzip2, tar格式
3. jzlib,支持DEFLATE算法
4. commons compress,支持的格式多了,gzip, bzip2, xz, lzma, Pack200a, Z, 7z, ar, arj, cpio, dump, tar, zip
5. org.anarres.lzo.lzo-core, LZO格式 ...
java对象的内存计算
- 博客分类:
- 性能
我们讨论的是java heap中对象所占内存。
1.基本类型内存占用
类型占用字节数boolean 1 byte 1 char 2 short 2 int 4 float 4 long 8 double 8
2.对象所占内存由以下部分组成
object header, 8 byte
基本类型,见第1节的表格
引用类型,都为4 byte
padding,如果最后加起来结果不是8的整数倍,要补足到8的整数倍。
举例:
例1)一个空Object占8 byte
例2)
class A {
byte a;
int b;
...
很多排序算法,整理一下。
1.效率低下的算法
bogo sort 博戈排序,又称stupid sort,slow sort,猴子排序 (随机交换位置直到有序)
bead sort 珠排序 (排好珠子,然后靠重力珠子下落,瞬间完成排序,但计算机上无法实现)
pancake sort 煎饼排序
2.稳定的算法
冒泡排序(bubble sort)— O(n2)
鸡尾酒排序(Cocktail sort,双向的冒泡排序)—O(n2)
插入排序(insertion sort)—O(n2)
桶排序(bucket sort)—O(n);需要O(k)额外空间
计数排序(counting sort)—O(n+k ...
Solaris一些目录的解释
- 博客分类:
- Unix
/usr/bin标准工具,这里有cd,cat,java,javac,su,tar/usr/sbin系统工具,如cfgadm,pkgadd/usr/5binSystem V的位置, 在Solari 2.x 上仅仅是一个到/usr/bin的链接/usr/ccsSun/SystemV的开发工具 如 ar, m4, make, nm, ld, yacc, lex, elfdump,不要和GNU的工具搞混了,这些工具是Solaris的/usr/sfwSFW 全称 "Sun FreeWare". 这里有 GCC, GIMP, MySQL, gtar。 为了区分GNU和Solaris的工具 ...
1.Complex Event Processing Made Easy (using Esper)
相当好的入门例子,讲了如何监控核电站的温度。
http://java.dzone.com/articles/complex-event-processing-made
代码可以在这里下载
https://github.com/corsoft/esper-demo-nuclear
2.Getting started with Esper in 5 minutes.
比上一个简单,东西也比他少。不过看过前面那个了,这个就没必要看了。
http://coffeeonesugar.wordpress ...
本文第1,2节是maven插件开发的一些基础笔记。第3节是本文的重点,记录了笔者在开发maven插件时遇到的classloader问题。
1.如何做一个maven的plugin?
让你的类extends AbstractMojo,然后覆盖execute方法就可以了。
我的理解:maven的plugin可以做到只是一层壳,可以在execute里面再去调用核心的做事的类,由此可以充分发挥想象,做到任何java能做到的功能,比如调用代码生成器在generate-sources阶段生成代码。
要使用mojo的api,以下一些dependency是要加入的(有些不是必须,可以酌情删除)。
< ...
IBM上面早期关于java动态编程的系列文章,有中文版和英文版。
Part 1: Java classes and class loading
Java 编程的动态性,第 1 部分: 类和类装入
Part 2, Introducing reflection
Java 编程的动态性,第 2部分: 引入反射
Part 3, Applied reflection
Java 编程的动态性,第3部分: 应用反射
Part 4, Class transformation with Javassist
Java 编程的动态性,第4部分: 用 Javassist 进行类转换
Part 5, Trans ...