上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 27 下一页
  2014年5月27日
摘要: 引用:http://lavasoft.blog.51cto.com/62575/51926/ 一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。 从线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收(除非存在对这些副本的其他引用)。 阅读全文
posted @ 2014-05-27 00:27 上校 阅读(295) 评论(0) 推荐(1) 编辑
摘要: ThreadLocal保证数据同步 package Thread.Common; import java.util.Random; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; class Accessor implements Runnable { private final int id; public Accessor(int idn) { id = idn; } 阅读全文
posted @ 2014-05-27 00:18 上校 阅读(672) 评论(0) 推荐(0) 编辑
  2014年5月26日
摘要: AtomicInteger原子操作实现同步 package Thread.Common; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicInteger; 阅读全文
posted @ 2014-05-26 23:16 上校 阅读(6591) 评论(0) 推荐(0) 编辑
摘要: 数据类: package Thread.MyCommon; public class Data { public int num = 0; public synchronized int getEven() { ++num; Thread.yield();//让另外线程先执行,加大测试效果几率 ++num; return num; } } 阅读全文
posted @ 2014-05-26 21:06 上校 阅读(8824) 评论(0) 推荐(0) 编辑
  2014年5月25日
摘要: 1.主线程不能捕获到子线程的异常 package Thread.Exection; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExeceptionThread implements Runnable { @Override public void run() { throw new RuntimeException(); } 阅读全文
posted @ 2014-05-25 23:49 上校 阅读(13357) 评论(0) 推荐(0) 编辑
摘要: 将另外一个线程join到当前线程,则需要等到join进来的线程执行完才会继续执行当前线程。 package Thread.join; class Sleeper extends Thread { private int duration; public Sleeper(String name, int sleepTime) { super(name); duration = sleepTime; start(); } 阅读全文
posted @ 2014-05-25 15:01 上校 阅读(6722) 评论(0) 推荐(0) 编辑
摘要: 后台线程不执行finally package wzh.daemon; import java.util.concurrent.TimeUnit; class ADaemon implements Runnable { @Override public void run() { 阅读全文
posted @ 2014-05-25 13:42 上校 阅读(3182) 评论(0) 推荐(0) 编辑
摘要: 通过DaemonThreadFactory创建后台线程池 package wzh.daemon; import java.util.concurrent.ThreadFactory; public class DaemonThreadFactory implements ThreadFactory { @Override public Thread newThread(Runnable r) { Thread t = new Thread(r); t.setDaemon(true); return t; 阅读全文
posted @ 2014-05-25 13:26 上校 阅读(3140) 评论(0) 推荐(0) 编辑
摘要: 将线程设置成后台线程Daemons 主线程结果后,后台线程将自动结果。 package wzh.test; import java.util.concurrent.TimeUnit; class SimpleDaemons implements Runnable{ @Override public void run() { try { while (true) { 阅读全文
posted @ 2014-05-25 12:26 上校 阅读(1306) 评论(0) 推荐(0) 编辑
摘要: package wzh.test; import java.util.ArrayList; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; class TaskWithResult implements Callable{ private int id; public TaskWithResult(int id){ this.id=id; } @Override public String call() throws Exception { return "result of TaskWithResult "+id; } } 阅读全文
posted @ 2014-05-25 10:46 上校 阅读(1884) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html 在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。 对于直接继承Thread的类来说,代码大致框架是: 阅读全文
posted @ 2014-05-25 09:46 上校 阅读(481) 评论(0) 推荐(1) 编辑
  2014年5月24日
摘要: package com.produce; import java.util.LinkedList; import java.util.Queue; /*@author shijin * 生产者与消费者模型中,要保证以下几点: * 1 同一时间内只能有一个生产者生产 生产方法加锁sychronized * 2 同一时间内只能有一个消费者消费 消费方法加锁sychronized * 3 生产者生产的同时消费者不能消费 生产方法加锁sychronized * 4 消费者消费的同时生产者不能生产 消费方法加锁sychronized * 5 共享空间空时消费者不能继续消费 消费前循环判断是否为空,空的话将该线程wait,释放锁允许其他同步方法执行 * 6 共享空间满时生产者不能继续生产 生产前循环判断是否为满,满的话将该线程wait,释放锁允许其他同步方法执行 */ 阅读全文
posted @ 2014-05-24 23:35 上校 阅读(1653) 评论(0) 推荐(0) 编辑
摘要: 写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面。照旧,文章依旧以例子为主,因为讲解内容的java书很多了,我觉的学以致用才是真。代码是写出来的,不是看出来的。 最后欢迎大家提出意见和建议。 【案例1】创建一个新文件 ? 1 2 3 4 5 6 7 8 9 10 11 import java.io.*; class hello{ public static void main(String[] args) { File f=new File("D:\\hello.txt"); try{ f.createNewFile(); }catch (Exception e) { e.printStackTrace(); } } } 【运行结果】: 阅读全文
posted @ 2014-05-24 00:01 上校 阅读(589) 评论(0) 推荐(0) 编辑
  2014年5月22日
摘要: public class HashMap extends AbstractMap implements Map, Cloneable, Serializable public class TreeMap extends AbstractMap implements SortedMap, Cloneable, java.io.Serializable HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的) 阅读全文
posted @ 2014-05-22 22:21 上校 阅读(1586) 评论(0) 推荐(0) 编辑
摘要: 提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用心良苦。学会使用内部类,是掌握Java高级编程的一部分,它可以让你更优雅地设计你的程序结构。下面从以下几个方面来介绍: 阅读全文
posted @ 2014-05-22 20:41 上校 阅读(906) 评论(0) 推荐(0) 编辑
  2014年5月21日
摘要: package com.frank.chapter1; // object.Documentation1.java // TIJ4 Chapter Object, Exercise 13 - 1 /* Run Documentation1.java, Documentation2.java and Documentation3.java * through Javadoc. Verify the resulting documentation with your Web browser. */ /** A class comment */ public class Documentation1 { /** A field comment */ public int i; 阅读全文
posted @ 2014-05-21 23:13 上校 阅读(1900) 评论(0) 推荐(0) 编辑
摘要: context.xml中增加WEB-INF/web.xml,Eclipse在修改了web.xml后将自动更新到tomcat服务器中。 WEB-INF/web.xml -- !-- Uncomment this to enable Comet connection tacking (provides events 阅读全文
posted @ 2014-05-21 00:41 上校 阅读(1542) 评论(0) 推荐(0) 编辑
摘要: 在MyEclipse目录下搜索com.genuitec.eclipse.wizards 得到搜索结果 com.genuitec.eclipse.wizards_9.0.0.me201108091322.jar 解压出文件夹,修改com.genuitec.eclipse.wizards_9.0.0.me201108091322\templates\Servlet.java 的模板文件 使用jar命令将文件夹打包成jar包: 1.在dos窗口中进入到解压后的com.genuitec.eclipse.wizards_9.0.0.me201108091322文件夹 2.执行打包命令: C:\Users\Victor\Desktop\com.genuitec.eclipse.wizards_9.0.0.me201108091322>jar cvf com.genuitec.eclipse.wizards_9.0.0.me201108091322.jar * 阅读全文
posted @ 2014-05-21 00:09 上校 阅读(266) 评论(0) 推荐(0) 编辑
  2014年5月20日
摘要: 通过javac编译java文件 1.先导入需要引用的包 D:\Program Files (x86)\apache-tomcat-7.0.53\webapps\test\WEB-INF\classes>set cla sspath=%classpath%;D:\Program Files (x86)\apache-tomcat-7.0.53\lib\servlet-api.j ar 2.将java文件按包名称编译到当前文件夹 D:\Program Files (x86)\apache-tomcat-7.0.53\webapps\test\WEB-INF\classes>javac - d . FirstServlet.java 阅读全文
posted @ 2014-05-20 20:41 上校 阅读(220) 评论(0) 推荐(0) 编辑
  2014年5月19日
摘要: package com.wzh.test.http; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.util.zip.GZIPOutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; 阅读全文
posted @ 2014-05-19 23:26 上校 阅读(267) 评论(0) 推荐(0) 编辑
摘要: telnet是windows自带的网络连接工具,可以用于连接任何服务器。 通过Telnet连接服务端 Telnet localhost 8080 GET /news/1.html HTTP/1.1 Host: 将获取到如下信息: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Accept-Ranges: bytes 阅读全文
posted @ 2014-05-19 21:02 上校 阅读(392) 评论(0) 推荐(0) 编辑
摘要: https通过非对称加密实现数据安全 1.CA机构提供数字证书,其中数字证书包含公钥。 2.浏览器自带功能验证数字证书是否是CA机构颁发的。 3.根据数字证书包含的公钥对表单数据进行加密。 4.公钥提供方再根据自己的私钥对数据进行解密。 阅读全文
posted @ 2014-05-19 00:40 上校 阅读(257) 评论(0) 推荐(0) 编辑
  2014年5月18日
摘要: jar -cvf news.war news 打包成 war 包后复制到webapps下,Tomcat将会解压。 阅读全文
posted @ 2014-05-18 20:35 上校 阅读(223) 评论(0) 推荐(0) 编辑
  2014年5月17日
摘要: 1.在server.xml文件的前面加入。需要重新启动Tomcat才能生效。 如果是 将覆盖成缺省目录,则路径是 http://localhost:8080/1.html http://localhost:8080/ 下原来的Tomcat主页将被覆盖。 2.在conf\Catalina\localhost目录下放入 阅读全文
posted @ 2014-05-17 23:36 上校 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 在网络程序的调试过程中,经常发生一些出乎意料的事情,比如创建一个TCP服务失败,这时候往往需要查看系统的网络情况,最常用的网络抓包当然非WireShark模式。但往往很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了,或者你还需要把它Kill掉。如果你在Windows操作系统,你可以使用netstat命令来查询PID,然后可以打开任务管理器,查看这个PID对应的进程名;如果PID没有显示,菜单》查看》选择列》选中PID即可;得知进程后,我们可以将进程杀掉。下面我简单描述一下我所了解的在Windows和Linux系统下处理方式。(假如我们需要确定谁占用了我们的9010端口) 1、Windows平台 在windows控制台窗口下执行: netstat -nao | findstr "9010" TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017 阅读全文
posted @ 2014-05-17 10:24 上校 阅读(1961) 评论(0) 推荐(0) 编辑
摘要: 以下为置JAVA_HOME,CLASSPATH,PATH的目的: 1,设置JAVA_HOME: 一、为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串; 二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃! 三、第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题. 阅读全文
posted @ 2014-05-17 00:47 上校 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 运行 javac Server.java 编译java文件 执行 java Server 运行程序 在ie中输入 http://localhost:9999/ 打开模拟的服务程序 import java.net.*; import java.io.*; public class Server { public static void main(String args[]) throws Exception { System.out.println("start"); ServerSocket server = new ServerSocket(9999); 阅读全文
posted @ 2014-05-17 00:25 上校 阅读(487) 评论(0) 推荐(0) 编辑
  2014年5月16日
摘要: 很多程序员已经干了一段时间java了依然不明白jdk与jre的区别。 JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\jre1.5.0_15 目录下,后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:\Program Files\Java 目录下的JRE。如果你只安装JRE,而不是JDK,那么只会在 C:\Program Files\Java 目录下安装唯一的一套JRE。 阅读全文
posted @ 2014-05-16 23:20 上校 阅读(225) 评论(0) 推荐(0) 编辑
  2014年5月15日
摘要: 导入commons-beanutils-1.8.3.jar及commons-logging-1.1.3.jar 使用commons-beanutils-1.8.3.jar包时需要同时使用commons-logging-1.1.3.jar包,因为需要写日志。 package com.wzh.test.beanutils; import java.lang.reflect.InvocationTargetException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.ConversionException; import org.apache.commons 阅读全文
posted @ 2014-05-15 23:08 上校 阅读(590) 评论(0) 推荐(0) 编辑
  2014年5月11日
摘要: 1.解压下载到的struts-2.3.16压缩包。 2.将struts2-blank\WEB-INF\lib 下的jar包复制到Eclipse项目下的libs文件夹下。 3.struts-2.3.16\apps\struts2-blank\WEB-INF\classes目录下的struts.xml文件复制到Eclipse项目下的Src文件夹下。 4.打开struts-2.3.16\apps\struts2-blank\WEB-INF目录下的web.xml文件,将 阅读全文
posted @ 2014-05-11 15:20 上校 阅读(426) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 27 下一页