`
kingj
  • 浏览: 421590 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
除了加锁外,其实还有一种方式可以防止并发修改异常,这就是将读写分离技术(不是数据库上的)。 先回顾一下一个常识: 1、JAVA中“=”操作只是将引用和某个对象关联,假如同时有一个线程将引用指向另外一个对象,一 ...
  理解JVM的指令的一个基础是理解JVM的栈内存,因此在开始之前最好先参阅一下《Java 栈内存介绍 》。本篇将结合例子对JVM的主要指令进行描述。      在开始之前,我们先了解一下如下的 “常识”: 字长是根据JVM不同而 ...
BTrace 是一个实时监控工具,使用了 java agent 和 jvm attach 技术,可以在product的情况下实时监控线上程序的运行情况 。另,有插件可与visualVM一起使用。 不多说了,具体的可见:http://kenai.com/projects/btrace 下面介绍几个Helloworld示例: 主要使用了btrace命令:btrace [pid] class pid可由jps命令快速查询 1.监控方法输入参数:  @OnMethod(                 clazz="com.btrac ...
今天使用java实现图片截取,废话不说,看看代码: package com.image; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.*; import java.util.Iterator; import javax.imageio.ImageIO; import javax.imageio.ImageReadParam; import javax.imageio.ImageReader; import javax.imageio.stream.Imag ...
     今天看到think in java的重载部分,大家都知道java的重载是一个方法的方法名称不变,参数类型,参数数量不同(如果这些相同,返回值类型不同,是不同通过javac编译的),但是java重载仅仅只有这些吗? 这里涉及到2个概 ...
今天看到一个很基础的问题,如下: int f(){ try{ return 1; }finally{ return 2; } }  不用说,方法f都会返回2,最初看来可能有点疑惑,为了搞清楚在try块中使用return为什么会被finally覆盖了,于是 调用了javap来查看javac生成的字节码如下:   * int f();   Code:    0:   goto    4    3:   pop    4:   iconst_2    5:   ireturn   Exception table:    from  ...
在页面里实现上传文件不是什么难事,写个form,加上enctype = "multipart/form-data",在写个接收的就可以了,没什么难的,如果要用java.net.HttpURLConnection来实现文件上传,还真有点搞头.:-)   1.先写个servlet把接收到的 HTTP 信息保存在一个文件中, 看一下 form 表单到底封装了什么样的信息。   Java代码   public void doPost(HttpServletRequest request, HttpServletResponse response)   throws Serv ...
含义 ENCTYPE="multipart/form-data" 说明:  通过 http 协议上传文件 rfc1867协议概述,jsp 应用举例,客户端发送内容构造  1、 概述在最初的 http 协议中,没有上传文件方面的功能。 rfc1867 (http://www.ietf.org/rfc/rfc1867.txt) 为 http ...

spring interceptor

  SpringMVC的拦截器不同于Spring的拦截器,SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet,所以只需要在DispatcherServlet上做文章即可,DispatcherServlet也没有代理,同时SpringMVC管理的Controller也不有代理。     ...
今天使用nio编写一个类似ssh的网络客户端,在执行process的时候,出现了一个让人很头疼的bug,废话不说,上代码: public static void main(String[] args)throws Exception { Process process=Runtime.getRuntime().exec("cmd /c tree"); int status=process.exitValue(); System.out.println(status); BufferedReader re ...
    开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务。之初,曾有个小小的疑问为何不采用开源的 apache、Nginx软件负载,F5设备动辄几 ...
  引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized ,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。 它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通过深入分析能帮助我们正确的使用Volatile变量。 术语定义   术语 英文单词 描述 共享变量   在多个线程之间能 ...
学习java线程的时候,看到生产者与消费者例子,有感而发。 下面是模拟汽车生产商和顾客(权当消费者可以直接从厂家买到汽车),废话不说,上代码。 package com.zx.thread.work; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * 我们模拟一个 ...
        今天温习了java线程的知识,看到wait和notify时,有感而发,不说废话,直接上代码。   package com.zx.thread.work; import java.util.concurrent.*; public class UsingWaitAndNotify { public static void main(String[] args) { ExecutorService exec = Executors.newCachedThreadPool(); Cup cup = new Cup(&qu ...
Java编程时主线程如何捕获子线程抛出的异常 这么来看待这个问题。首先明确线程代码的边界。其实很简单,Runnable接口的run方法所界定的边界就可以看作是线程代码的边界。Runnable接口中run方法原型如下: << public void run(); >> 而所有的具体线程都实现这个方法,所以这里就明确了一点,线程代码不能抛出任何checked异常。所有的线程中的checked异常都只能被线程本身消化掉。:) 这样本身也是符合线程的设计理念的,线程本身就是被看作独立的执行片断,它应该对自己负责,所以由它来消化所有的checked异常是很正常的。 这样就回答了楼 ...
Global site tag (gtag.js) - Google Analytics