
java基础技术
文章平均质量分 71
envy2008
这个作者很懒,什么都没留下…
展开
-
Java多线程学习总结
在开始这个话题之前,我们先聊一下线程。线程的目的就是为了让一些程序片段能够“同时”进行,至少是视觉上。因为实际上,这些程序片段是“交替”执行的。如图1在途中,线程A和线程B轮流交替地占有CPU的处理时间。也许有人说,CPU总的计算量并没有降低啊,确实如此,还可以切换线程,还增加了一点点的计算量。如果现在有一个很长很复杂很费时的计算任务,和一个精彩电影的播放任务,那我们当然愿意选择让这两个不太相...2008-12-03 21:41:03 · 83 阅读 · 0 评论 -
java 中的classloader
java中的.class文件必须有classloader这些类加载器来加载。 这个就是java中的classloader层次图。 classloader的入口就是这个函数:public Class<?> loadClass(String name) 各个loader之间有委托关系,或者没有。 loader是有势力范围的,最...原创 2012-02-23 11:35:44 · 81 阅读 · 0 评论 -
tomcat源码的几个问题
1. tomcat如何区分静态页面.html .jpg 和.jsp Mapper这个类中的internalMapWrapper函数好像有点关系。 最后断点追踪了半天,原来.jsp用jspservlet中的service处理,.js .jpg文件用defaultServlet中的service来处理。 好长啊。...原创 2012-02-24 11:31:29 · 88 阅读 · 0 评论 -
java nio测试
import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector...原创 2012-06-29 12:00:36 · 107 阅读 · 0 评论 -
5分钟内搞定 Tomcat 的 SSL 配置
5分钟内搞定 Tomcat 的 SSL 配置(转) http://www.oschina.net/question/12_23148原创 2012-07-02 11:52:36 · 102 阅读 · 0 评论 -
tomcat流程启动图
tomcat6从启动到监听8080端口来处理请求的过程,如图: 最后的http11processor来负责处理每个request,也就是http协议的post,get,head, delete方法,不是嘛?...原创 2012-02-28 10:56:12 · 134 阅读 · 0 评论 -
TOMCAT源码分析(消息处理)(转)
TOMCAT源码分析(消息处理)http://blog.youkuaiyun.com/thomashuang/article/details/22394这篇文章真是不错,收藏起来。 0:前言我们知道了tomcat的整体框架了, 也明白了里面都有些什么组件, 以及各个组件是干什么用的了。http://www.youkuaiyun.com/Develop/read_article.asp?id=...原创 2012-02-28 14:06:52 · 75 阅读 · 0 评论 -
bonecp源码陌生类选读
今天在学习bonecp源码,看到了好多从来没有用过的类,现在记录下来,以后好好看看。 ReentrantReadWriteLock http://hanhan8020.iteye.com/blog/804322 Reference FinalizableWeakReference ConcurrentHashMap Executors 线程池 ...原创 2012-03-01 17:16:30 · 102 阅读 · 0 评论 -
Thread.interrupt
Thread.interrupt(),就是置状态。public void run() { //死循环执行打印"I am running!" 和做消耗时间的浮点计算 while (true) { System.out.println("I am running!"); for (int i = 0; i < 900000; i++) { ...原创 2013-04-10 21:25:00 · 207 阅读 · 0 评论 -
json转java对象
String json = "{\"shuxing\":\"dada\",\"list\":[{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},"+ &qu原创 2012-04-10 20:54:04 · 114 阅读 · 0 评论 -
java NIO
java NIO socket普通的java 阻塞的socket IO,需要对每个socket起一个单独的线程。这样线程多的话,线程的上下文切换,会消耗大量的cpu资源。如图: 普通socket形式如下图:于是发展出了 new IO, 为什么要new IO 呢,我们还是先...原创 2013-05-02 16:51:21 · 166 阅读 · 0 评论 -
jsonlib json-->object,忽略object中没有的属性
Java code skeletons, tips and pointers Friday, May 27, 2011Ignore missing properti...原创 2012-09-21 09:42:10 · 557 阅读 · 0 评论 -
java concurrent学习记录
今天决定学习一下java.concurrent包,以这个文章为基础 http://www.yybean.com/examples-of-multi-threaded-framework-java-util-concurrent 1.Executors import java.util.concurrent.ExecutorService;import ja...原创 2012-10-10 09:51:43 · 115 阅读 · 0 评论 -
谷歌面试题一枚
机械开发代码久了,看了看一些面试题,可以活跃大脑,最近网上看了一题面试题。 Google面试题:找几百亿数据的中值有几百亿的整数,分布的存储到几百台通过网络连接的计算机上,你能否开发出一个算法和系统,找出这几百亿数据的中值?就是在一组排序好的数据中居于中间的数。显然,一台机器是装不下所有的数据,也尽量少用网络带宽。我的算法训练挺少的,只能自己谈些...原创 2012-10-16 09:46:44 · 181 阅读 · 0 评论 -
spring SimpleFormController流程
最近在学习spring mvc.网上了收集了一下SimpleFormController的流程,大都是这样说的:url请求来到时,这样处理: get 方法 a) 请求传递给一个controller对象 b) 调用formBackingObject()方法,创建一个command对象的实例。 c) 调用initBinder(),注册需要的类型转换器 d) 调用...原创 2013-02-08 11:43:28 · 222 阅读 · 0 评论 -
分布式事务
分布式事务 现在遇到了几个项目,这些项目都有一个共同特点,就是要求分布式事务。能够满足跨系统的保持数据的一致性。举个简单例子,我没钱买房,问老婆借了1万块,到期了,该还给老婆了,那就转账吧。如图: 我的银行卡是招商银行的,老婆的银行卡是中国银行的,很显然这就...原创 2013-02-17 17:40:15 · 144 阅读 · 0 评论 -
屌丝comet
很显然tomcat能和浏览器之间实现长连接还是不错的,看了ibm的周婷的文章,似懂非懂,实现了iframe版的comet.经试验在ie8, firefox, chrome里面均可以,就是状态栏一直在转圈,这个问题没有解决,直接上代码吧。 首先一个带有iframe的html. <html><script src="javascript/jquery-lat...原创 2012-06-26 09:29:18 · 85 阅读 · 0 评论 -
linux 当前shell指定java版本
装了red hat 5.4,系统默认自带了Java 1.4,但是现在一般用Java 1.6, java1.6的路径是 /usr/java/jdk6 当前的PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/bardwu/bin:/usr/java/jdk6/bin:/home/bard...原创 2012-02-16 09:41:16 · 698 阅读 · 0 评论 -
ASM 使用的一个范例。
现在开始研究Junit,试图通过Junit来改善自己的编程,看了一两天,觉得自己懂了,开始上马。 同事写了一个byte 数组转 json的组件,我的目标是通过撰写 Juit的测试用例来测试这些组件是否OK。 一上来就遇到了一个不小的麻烦,我的测试主要是来比较两个“对象”是否相等,给定了一个byte数组,组件返回给我了一个 json对象,我也自己模拟了一个json对象,...原创 2012-10-19 14:05:01 · 160 阅读 · 0 评论 -
Java 多线程学习总结2
并发执行最理想的状况是让一些“毫不相干”的Somebody自己做自己的事情,和别人无关。但是事实让确非如此,因为在哲学上讲,世界是一个整体,每个个体之间都存在联系,我们让一些东西不相干,是我们人类为了简化问题,而从概念上进行的分割划分,呵呵。事实上,如果某个Somebody为多个线程共享,其中的某些域可能成为公共数据。多线程对公共资源的访问可能不会按照你的意愿。public class So...2008-12-04 12:47:21 · 109 阅读 · 0 评论 -
Java 多线程学习总结3
在上一篇中,我们当然希望a++,b++执行完之后,show方法再来show.我们需要的是“原子”动作,一次性地把a++,b++不间断地执行。在java中是利用“互斥”的方法,互斥谁呢?互斥的是相同对象的加锁代码。如果我们把第一篇的SomeBody的方法someBodyDo加上关键字synchronized,表面加上了排斥锁,再只生产一个“小明”对象,生产两个线程,同时启动,你会发现,第一个线程执行...2008-12-04 13:23:42 · 152 阅读 · 0 评论 -
Java 多线程学习总结3
线程的死锁 如果多个线程操作多个对象互相请求,那么会引起死锁。 package deadlock;public class SomeBody { private String name; private SomeBody other; public SomeBody(String name) { this.name=name; } public synchronize...2008-12-04 14:07:52 · 88 阅读 · 0 评论 -
Java 多线程学习总结4
线程间的通信 如果线程只是傻傻地一个劲的“排他的”前行,那必然是愚蠢的。线程间需要通信,他们需协作才完成某项任务。线程间通常都是各顾各地前行,当然他们有公共资源的时候,需要调成按一定秩序执行。打个比方:福特汽车的流水线,for example,有一个流程是这样的:做好底盘...2008-12-04 19:06:29 · 86 阅读 · 0 评论 -
Java 多线程学习总结6
哲学家进餐问题 http://users.rcn.com/ziring/java.html牛人网址,原版 由于这个问题比较复杂,本人也没细细分析,在网上搜出一个正确的解答,还有一些论文,给大家学习。package Power.Thread.jincan2;im...2008-12-04 19:31:01 · 103 阅读 · 0 评论 -
javascript校验中英文混合字符长度
项目中有这样一个需求。前端html页面是用UTF-8编码的,数据库也是用UTF-8编码的。字符集均为unicode。数据库中的限制一般通常如下: director varchar2 100 导演scriptwriter varchar2 100 编剧compere varchar2 100 节目主持人guest varchar2 100 受访者reporter v...原创 2011-02-21 14:35:04 · 452 阅读 · 0 评论 -
java 通过代理访问internet
import java.io.BufferedInputStream;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;public class client { /** * @param args * @throws IOException...原创 2011-03-04 11:35:38 · 129 阅读 · 0 评论 -
包含javascript的顺序引起的问题
今天想在项目中扩展jquery.validate.js进行验证,但是这块不是我开发的,我的jquery也不是很好,所以试验一下这个验证框架的能力,结果就出错了: <head> <script src="jquery-1.3.2.js"></script> <script src="jquery.validate.js">&原创 2011-03-22 17:41:38 · 121 阅读 · 0 评论 -
oracle连接数(转)
怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。select * from v$session where username is not nullselect username,count(username) from v$session where username is not null group by username #查看不同用户的连接数se...原创 2011-03-28 14:15:54 · 91 阅读 · 0 评论 -
tomcat 8080端口被占用解决方法
在和项目并行的文件中有个叫servers的文件夹,里面有server.xml, tomcat-users.xml,web.xml这些和 和conf目录下的结构是一样的,所以,我们只需要把servers下面的server.xml <Connector connectionTimeout="20000" port="8088" protocol="H...原创 2011-04-08 15:29:10 · 107 阅读 · 0 评论 -
linux安装jdk, tomcat6(转+自己总结)
Linux安装JDK步骤1. 先从网上下载jdk(jdk-6u24-linux-i586.bin) ,推荐SUN的官方网站www.sun.com,下载后放在/home目录中,当然其它地方也行。进入安装目录#cd /home#cp jdk-1_5_0_02-linux-i586.rpm /usr/local#cd /usr/local给所有用户添加可执行的权限...原创 2011-04-08 17:58:28 · 98 阅读 · 0 评论 -
eclipse使用jetty
jetty是个好东西,用在eclipse下使用jetty,需要怎么办呢? 这里有教材: http://wiki.eclipse.org/Jetty_WTP_Plugin#Helpful_Pages 但是需要提到的是 eclipse jetty WTP下载的位置为:http://download.eclipse.org/jetty/updates/jetty-wt...原创 2012-01-05 10:40:01 · 89 阅读 · 0 评论 -
tomcat中的长连接
现在有一个项目: 需要用到一个http长连接。实现例如像新浪微博的,有新微博来临的提示功能: 其实思路还是比较简单的: tomcat中的soket连接,是可以做到的。它里面的源码的思路,是有个计数,还有http协议的keep-alive表示,还有 set_time_out的过期时间。这三个参数决定了连接时间的长短,每来一个请求,...原创 2012-01-06 11:48:04 · 382 阅读 · 0 评论 -
web src-->configure
package weibo4j.util;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Properties;public class WeiboConfig { private st...原创 2012-01-10 10:00:33 · 76 阅读 · 0 评论 -
eclipse 远程调试 web程序
需要远程调试web程序,没办法啊。 1. 需要把%TOMCAT_HOME%/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。如果的8000端口有其他用处的话,那么还需要修改catalina.sh文件,看其中的说明,添加一行JPDA_ADDRESS=8017或者其他你指定的端口。这...原创 2012-05-31 16:37:41 · 90 阅读 · 0 评论 -
分布式事务2
1.jar包,应该用带有二步提交事务的驱动,mysql-connector-java-5.1.6-bin.jar import javax.transaction.xa.Xid;class MyXid implements Xid{ int formatId; byte globalTransactionId[]; byte ...原创 2013-02-19 14:16:07 · 152 阅读 · 0 评论