`
wj0573
  • 浏览: 8792 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
java开发中常用的队列:   BlockingQueue阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来存放元素,消费者用来获取元素的容器;     ArrayBlockingQueue:一个定长的环型数组,队列创建完成之后不再有内存开销,缺点是整个队列共用一把锁,竞争比较激烈;   LinkedBlockingQueue:一个基于链表实现的队列,头尾各一把锁,缺点是入队时有内存分配开销;   SynchronousQueue:常用于生产者消费者一对一的场景;   PriorityBlocking ...
代码参考: package com.wj.test; import java.lang.reflect.Method; public class PerformanceTest {  public static void main(String[] args) throws Exception {  int testTime = 10;  PerformanceTest test = new PerformanceTest();  String msg = "this is test message";  long bTime = System.nanoTime() ...
volatile   volatile类型变量是:CPU直接读写变量所在的内存,而不是把变量copy到寄存器操作这样对变量的操作所线程都是可见的 这样做的结果是减少了并发时冲突的概率 但不能完全避免 ,并不是原子的;   sychronzied  独占锁,在高并发访问情况下,可能会引起上下文切换和线程调度(vmstats观察)   ReentrantLock   ReadWriteLock   ReentrantReadWriteLock 使用场景:多读少写,因为读线程之间没有竞争,所以比起sychronzied,性能好很多。 特点:

做好自己

曾国藩:“轻财足以聚人,律己足以服人,量宽足以得人,身先足以率人”   跟上,跟下,跟左,跟右的打通能力!

html5了解

介绍几个HTML5的重要特性,能够帮助你提高整个web应用的使用体验和开发效率   特性一:正则表达式   相信大家都会非常喜欢这个特性,无须服务器端的检测,使用浏览器的本地功能就可以帮助你判断电子邮件的格式,URL,或者是电话格式,防止用户输入错误的信息,通过使用HTML5的pattern属性,我们可以很方便的整合这个功能,代码如下:   <input type="email" pattern="[^ @]*@[^ @]*" value="">   运行如下:   如果在Firefox浏览器 ...

vi常用命令整理

Vi编辑器的相关命令     vi是linux中最常用的编辑器。     首先介绍一下vi的基本概念。在vi中,存在三种模式:命令模式,插入模式,底行模式。各模式下的功能如下:     (1) 命令模式。控制光标移动,复制、粘贴操作。     (2) 插入模式。文本编辑,通过ESC回到命令模式。     (3) 底行模式。保存、退出vi,字符串查找等。      常用的vim命令有:                                  光标移动命令 h或左方向键 光标向左移动一位 j或下方向键 光标向下移动一行 k或上方向键 光标向上移动 ...
在编译好的class文件中不好debug断点调试,在liunx下部署的更是不好调试了,解决的办法是可以用远程调试。在eclipse的debug里有remote java application 这个工具,可以使用它来设置远程调试。   确保本地代码和远程服务器代码一致,要不调试过程中,行号对不上。。。。。   set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=n %JAVA_OPTS%           -XDebug               启用调试。      ...
1、 Eclipse反编译工具Jad及插件JadClipse配置    Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。下面介绍一下配置:    A.下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意择与eclipse版本一致的版本,我用的是Eclipse3.4,所 ...
最近在看代理相关的知识,转载一篇java各种代理性能方面的比较:   http://javatar.iteye.com/blog/814426      

java ASM、Cglib、aop

    博客分类:
  • java
ASM 我们知道Java是静态语言,而python、ruby是动态语言,Java程序一旦写好很难在运行时更改类的行为,而python、ruby可以;不过java可以通过Magic,ASM等一些开源库去动态生成字节码文件;   它是一个Java字节码修改框架,能直接 ...
Global site tag (gtag.js) - Google Analytics