- 浏览: 311118 次
- 性别:
- 来自: 武汉
最新评论
-
r463579217:
给一下代码demo呀
Java多线程总结之聊一聊Queue -
水土第一:
LZ 中间文章里面可能有单词拼写错误,小弟补一下。。。
pa ...
Java多线程总结之由synchronized说开去 -
xy_z487:
>> 回调函数:A调用B,同时传A给B。B执行完会 ...
深入浅出Java回调机制 -
xuxiaoyinliu:
THANKS 第一次遇到这种错误,原来是这样
String的valueOf方法传入null -
sinat_25176913:
赞赞赞,一直还在想为什么得到的是一个"null&qu ...
String的valueOf方法传入null
文章列表
package sure;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
private static Logger log = LoggerFactory.getLogger(Test.class);
public static void main(String[] args) throws Exception {
final Object lock="";
Thread t1= ...
Windows查看端口
- 博客分类:
- 其他
在windows命令行窗口下执行:
1.查看所有的端口占用情况
C:\>netstat -ano
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0. ...
JAVA编程经验汇总
- 博客分类:
- Java技术
都是一些小的点,不完整但是有意义
JDK和JRE
大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做。因为这样更能帮助大家弄清楚它们的区别:
Jre 是java runtime environment, 是java程序的运 ...
此文为转载,有少许修订,原文出处不详。
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节"。
再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。
开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。
他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端设备或者打印机遇上这些约定好的字节时,就要做一 ...
为了引出并发集合类ConcurrentHashMap,有必要先说说Hashtable和Collections.synchronizedMap。
这里先把结论拿出来,下面会仔细介绍:
三者都是线程安全的,其中Hashtable和 Collections.synchronizedMap是同步的,由于使用map范围的锁因此可伸缩性较差。ConcurrentHashMap则利用一系列精妙的设计提供了很好的并发性。
Hashtable
在Java类库中出现的第一个关联的集合类是 Hashtable ,它是JDK 1.0的一部分。 Hashtable 提供了一种易于使用的、线程安全的、关联的map功能。 ...
代理模式
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式一般涉及到的角色有:
抽象角色:声明真实对象和代理对象的共同接口;
代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。
真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。
以下举个简单的例子:
抽象角色:
abstrac ...
Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。
这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及 ...
经常在网上看到一些比较有意思也比较有意义的帖子,想整理出来不断更新,有空可以看看蛮不错的。有些是暂时没有时间看,以后抽空看看吧。
本帖子会不断维护下去,作为自己的一个收纳箱
名人系列
暴风影音董事长兼CEO冯鑫:
http://tech.qq.com/a/20110702/000128.htm
徐家骏:我在华为工作十年的感悟
http://www.cnbeta.com/articles/65727.htm
程序员心灵鸡汤系列
你会休息吗?掌握最高效的休息方式
http://justjavac.iteye.com/blog/703992
程序员应知——把小事做好:
http://bl ...
选择PreparedStatement还是Statement取决于你要怎么使用它们. 对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是最好的.
PreparedStatement的第一次执行消耗是很高的. 它的性能体现在后面的重复执行.
Update大量的数据时, 先Prepare一个INSERT语句再多次的执行, 会导致很多次的网络连接. 要减少JDBC的调用次数改善性能, 你可以使用PreparedStatement的AddBatch()方法一次性发送多个查询给数据库. 例如, 让我们来比较一下下面的例子. ...
本文不是用来讲授入门手把手ABC小例子的,算是自己这段时间对Timer和Quartz使用心得的总结吧,后续如果有更深的认识会不断更新的。
言归正传,想实现定时调度,最简单的方法是使用Timer
还是先给个使用范例:
long PERIOD = 60*1000;//一分钟
Timer timer = new Timer("sure's timer");
timer.schedule(new TimerTask() {
@Override
public void run() {
if(!doSomething()){
timer.cancel(); ...
Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。
amoeba简介
http://amoeba.meidusa.com/wordpress/?page_id=2
该链接包含官方版的介绍文档
amoeba使用指南
http://wenku.baidu.com/view/f42e4ad86f1aff00bed51e3a.html
官方版的使用指南
http://amoeba.sourceforge.ne ...
关于Java包装类装箱拆箱的小例子
- 博客分类:
- Java技术
简单来说:装箱就是把值类型转变为引用类型,拆箱就是把引用类型转变为值类型
其实这东西没什么好说的,上代码看看就明白了:
/**
* @author hellosure
* @time 2011-7-27 上午8:10:46
* @description:装箱拆箱例子
*/
public class Test {
public static void main(String arg[]) {
int v1 = 100;
int v2 = 100;
//自动装箱
Integer autovalue1 = 100 ;
Integ ...
前几天看了一下Spring的部分源码,发现回调机制被大量使用,觉得有必要把Java回调机制的理解归纳总结一下,以方便在研究类似于Spring源码这样的代码时能更加得心应手。
注:本文不想扯很多拗口的话来充场面,我的目的是希望以最简明扼要的语言将Java回调的大概机制说清楚。好了,言归正传。
一句话,回调是一种双向调用模式,什么意思呢,就是说,被调用方在被调用时也会调用对方,这就叫回调。“If you call me, i will call back”。
不理解?没关系,先看看这个可以说比较经典的使用回调的方式:
class A实现接口InA ——背景1
class A中包含一个class ...
Java多线程总结之聊一聊Queue
- 博客分类:
- Java技术
上个星期总结了一下synchronized相关的知识,这次将Queue相关的知识总结一下,和朋友们分享。
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。
注:什么叫线程安全?这个首先要明确。线程安全的类 ,指的是类内共享的全局变量的访问必须保证是不受多线程形式影响的。如果由于多线程的访问(比如修改、遍历、查看)而使这些变量结构被 ...
更新完毕,结贴,以后有新的想法再开新帖
这几天不断添加新内容,给个大概的提纲吧,方面朋友们阅读,各部分是用分割线隔开了的:
synchronized与wait()/notify()
JMM与synchronized
ThreadLocal与synchronized
ReentrantLock与synchronized
最重要一条:
synchronized是针对对象的隐式锁使用的,注意是对象!
举个小例子,该例子没有任何业务含义,只是为了说明synchronized的基本用法:
Class MyClass(){
synchronized void myFunction(){ ...