- 浏览: 425622 次
- 性别:
- 来自: 成都
最新评论
-
binghc:
能使用浏览器作为客户端么,用socket构建一个最简单的htt ...
HTTPS那些事 用java实现HTTPS工作原理 -
littleShyBoy:
如果是使用http client请求https的接口,http ...
HTTPS那些事 用java实现HTTPS工作原理 -
skw1975:
...
HTTPS那些事 用java实现HTTPS工作原理 -
sealinesu:
看了半天,真的是半天,总算是把这些概念都理清了,谢谢博主
spring事务传播机制实例讲解 -
wanghaozdw:
请问下,在内外层事务均是REQUIRED的情况下,内层事务抛出 ...
spring事务传播机制实例讲解
文章列表
除了加锁外,其实还有一种方式可以防止并发修改异常,这就是将读写分离技术(不是数据库上的)。
先回顾一下一个常识:
1、JAVA中“=”操作只是将引用和某个对象关联,假如同时有一个线程将引用指向另外一个对象,一 ...
jvm字节码指令理解
- 博客分类:
- java历险
理解JVM的指令的一个基础是理解JVM的栈内存,因此在开始之前最好先参阅一下《Java 栈内存介绍
》。本篇将结合例子对JVM的主要指令进行描述。
在开始之前,我们先了解一下如下的 “常识”:
字长是根据JVM不同而 ...
btrace java动态性能分析统计
- 博客分类:
- java历险
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实现图片截取
- 博客分类:
- java历险
今天使用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 ...
java重载
- 博客分类:
- 深入java虚拟机,字节码
今天看到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 ...
java socket发送http
- 博客分类:
- java历险
含义 ENCTYPE="multipart/form-data" 说明:
通过 http 协议上传文件 rfc1867协议概述,jsp 应用举例,客户端发送内容构造
1、
概述在最初的 http 协议中,没有上传文件方面的功能。 rfc1867
(http://www.ietf.org/rfc/rfc1867.txt) 为 http ...
spring interceptor
- 博客分类:
- java历险
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设备动辄几 ...
volatile变量的原理
- 博客分类:
- java线程
引言
在多线程并发编程中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异常是很正常的。
这样就回答了楼 ...