Java 基础
leokelly001
这个作者很懒,什么都没留下…
展开
-
深入浅出ThreadLocal
一、ThreadLocal概述 学习JDK中的类,首先看下JDK API对此类的描述,描述如下:JDK API 写道该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 priva转载 2014-11-09 18:42:10 · 460 阅读 · 0 评论 -
Java 中的事件监听机制
看项目代码时遇到了好多事件监听机制相关的代码,现学习一下:java事件机制包括三个部分:事件、事件监听器、事件源。1.事件:继承自java.util.EventObject类,开发者自定义。package com.shuyan.javatest.EventTest;import java.util.EventObject;public class DnsEvent exte原创 2015-07-23 17:21:10 · 1218 阅读 · 0 评论 -
Java注解 Annotation
注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口。除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解的程序元素,该接口主要有如下几个实现类: Clas转载 2015-07-14 14:53:35 · 476 阅读 · 0 评论 -
正确理解ThreadLocal
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作转载 2015-07-14 10:31:59 · 531 阅读 · 0 评论 -
Callable接口和Runnable接口
1、Java代码 public interface Executor { /** * Executes the given command at some time in the future. The command * may execute in a new thread, in a pooled thread转载 2015-07-13 17:49:30 · 505 阅读 · 0 评论 -
ExecutorService与Executors例子的简单剖析
对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。 看一个简单的例子: public class CacheThreadPool {转载 2015-07-13 17:39:36 · 516 阅读 · 0 评论 -
JVM运行时是什么样子
Java是在JVM上运行的,那么JVM运行时是什么样子?对于JVM运行时的数据区的理解用一个图来显示很形象,下面的图显示JVM运行时的数据区。每个线程的数据区从图中可以看出,每个线程有program counter register(程序计数器),JVM Stack(JVM栈),和Native Method Stack(本地方法栈)。 这三个区域都是基于每一转载 2015-07-08 21:59:01 · 462 阅读 · 0 评论 -
加盐密码哈希:如何正确使用
如果你是Web开发者,你很可能需要开发一个用户账户系统。这个系统最重要的方面,就是怎样保护用户的密码。存放帐号的数据库经常成为入侵的目标,所以你必须做点什么来保护密码,以防网站被攻破时发生危险。最好的办法就是对密码进行加盐哈希,这篇文章将介绍它是如何做到这点。在对密码进行哈希加密的问题上,人们有许多争论和误解,这大概是由于网络上广泛的误传吧。密码哈希是一件非常简单的事情,但是依然有很多人理转载 2015-03-12 15:24:59 · 823 阅读 · 0 评论 -
java.nio.Buffer flip()方法
英文API:Flips this buffer. The limit is set to the current position and then the position is set to zero. If the mark is defined then it is discarded.flip()方法 flip方法将Buffer从写模式切换到读模式。调用flip()方法会将p原创 2015-02-11 22:11:53 · 2982 阅读 · 0 评论 -
Object.clone()方法
首先,看一下源码:1 public class Object {2 protected native Object clone() throws CloneNotSupportedException;3 } 由源代码我们会发现: 第一:Object类的clone()方法是一个native方法,native方法的效率一般来说都是远高于Java中的非nat转载 2015-02-09 15:45:36 · 1912 阅读 · 0 评论 -
try-catch-finally中return的执行情况
在try中没有异常的情况下try、catch、finally的执行顺序 try --- finally如果try中有异常,执行顺序是try --- catch --- finally如果try中没有异常并且try中有return这时候正常执行顺序是try ---- finally --- return如果try中有异常并且try中有return这时候正常执行顺序是try----转载 2015-01-11 20:29:13 · 713 阅读 · 0 评论 -
HTTP协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT转载 2015-02-03 20:01:18 · 598 阅读 · 0 评论 -
Java 异常类层次结构
在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中.下面的图展示了Java异常类的继承关系.图1粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为 CHecked Exception 是因为Java编转载 2014-11-24 01:35:23 · 644 阅读 · 0 评论 -
Java7中的switch支持String的实现细节
在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中,呼吁很久的String支持也终于被加上了。 例如,下面是一段switch中使用String的示例代码。 public class Test { public void test(String str) { switc转载 2014-11-29 12:13:16 · 659 阅读 · 0 评论 -
java反射详解
【案例1】通过一个对象获得完整的包名和类名123456789101112131415package Reflect; /** * 通过一个对象获得完整的包名和类名 * */class Demo{ //other codes...} class hello{转载 2014-11-24 01:42:31 · 587 阅读 · 0 评论 -
maven学习
一、下载及安装1.1 下载maven 3.1.1先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本文中是C:\Java\maven-3.1.1) 2.1 配置环境变量系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Java\maven-转载 2015-08-19 22:39:21 · 553 阅读 · 0 评论