- 浏览: 78978 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (80)
- java (20)
- java 日志 (1)
- 网络应用 (1)
- 算法 (3)
- struts (2)
- 线程 (2)
- 数据库 (1)
- tools (1)
- lunix (8)
- Android (4)
- Nutch原理 (1)
- 字符编码 (1)
- 框架 (3)
- spring (7)
- Oracle (2)
- 数据连接池 (3)
- solr (3)
- 思想 (2)
- 架构设计 (1)
- 缓存 (2)
- hibernate (1)
- 学习 (1)
- java,jvm (1)
- 分页插件 (1)
- javascript (1)
- nginx (2)
- svn (2)
- 内存 (3)
- sqlserver (1)
- UML (1)
- JS 跨域 (1)
- mybatis (1)
- 加密 (0)
最新评论
-
q15106202446:
不知不觉 这些都有所了解了!时间过的好快..该进攻系统架构了
学习(转) -
zkq-java:
zkq-java 写道[u][/u]引用[i][/i][*][ ...
Solr 创建索引的原理 源码分析 -
zkq-java:
[u][/u]引用[i][/i][*][img][/img][ ...
Solr 创建索引的原理 源码分析
Java关键字(keywords)
abstract default if private this
boolean do implements protected throw
break double import public throws
byte else instanceof return transient
case extends int short try
catch final interface static void
char finally long strictfp volatile
class float native super while
const for new switch
continue goto package synchronized
以上是java specifications中定义的keywords,一共48个,其中常见的三个看似是关键字的true, false, null,都不是关键字,而是作为一个单独标识类型。
其中,不常用到的关键字有:const,goto,native,strictfp,transient,volatile。
const和goto为java中的保留字。
1. native
native是方法修饰符。Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于借口方法。Native可以和其他一些修饰符连用,但是abstract方法和Interface方法不能用native来修饰。
Example:
为什么需要使用native method?请参考:
http://www.iteye.com/topic/72543 java Native Method初涉
2. strictfp
修饰类和方法,意思是FP-strict,精确浮点,符合IEEE-754规范的。当一个class或interface用strictfp声明,内部所有的float和double表达式都会成为strictfp的。Interface method不能被声明为strictfp的,class的可以。
Example:
3.transient
变量修饰符。标记为transient的变量,在对象存储时,这些变量状态不会被持久化。当对象序列化的保存在存储器上时,不希望有些字段数据被保存,为了保证安全性,可以把这些字段声明为transient。
4. volatile
volatile修饰变量。在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
看看Java Language Specification中的例子。
条件:一个线程不停的调用方法one(),一个线程不停的调用方法two()。我测试过多次,这种情况好像一直没有出现。
结果偶尔会出现j大于i的情况,因为方法没有同步,所以会出现i和j可能不是一次更新。一种防止这种情况发生的办法就是声明两个方法为synchronized 的。
这样可以防止两个方法同时被执行,还可以保证j和i被同时更新,这样一来i和j的值一直是一样的。
另外一种途径就是把i和j声明为volatile。
发表评论
-
深度解析Java内存的原型及工作原理
2013-02-17 10:21 639本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲 ... -
spring fileupload
2012-12-06 10:53 817spring支持在网络应用程序处理文件上传,提供拔插的or ... -
Java文件上传组件 common-fileUpload 使用教程
2012-05-25 15:26 3378最近项目中,在发布商品的时候要用到商品图片上传功能(网站前 ... -
java面试经典(转)
2012-05-15 16:31 414http://blog.csdn.net/aweijun360 ... -
Servlet 3.0 简介
2012-05-08 15:28 1102Java servlets 是一项被普 ... -
java入门基础(一)
2012-04-05 08:19 655java 的核心思想 ... -
hibernate与ibatis的区别
2012-03-07 09:05 850hibernate 是一站式ORM orm mappin ... -
Servlet 3.0 新特性概览
2012-01-20 17:01 856转自http://blog.csdn.net/xiazdo ... -
配置文件load的几种方法(转)
2012-01-20 11:22 7971. InputStreamResource(Input ... -
读源码之重拾接口与继承
2012-01-19 15:41 688Java抽象类和接口的区别(好长时间没看这种文章了) ... -
java 基础 集合
2012-01-18 11:09 814ArrayList和LinkedList, Ar ... -
HttpUrlContent 详解
2012-01-18 08:45 937下边的总结对我帮助蛮大的~不仅用法了解,整个连接流程也要明 ... -
SAXReader解析XML
2012-01-18 08:43 3162总结: Document document=new SA ... -
threadlocal
2012-01-17 11:28 716概述 我们知道Spring通 ... -
mina2.0 多线程(一)
2012-01-17 11:26 2368mina 2.0 多线程 socket通信主体代码 ... -
hibernate load与get 的区别
2012-01-17 11:12 715hibernate中get方法和load方法的根本区别 如果你 ... -
web 容器
2012-01-17 11:01 714ApplicationContext是Spring的核心, ... -
java 基础
2012-01-05 15:36 738java 基础 Comparable ... -
java基础 GC整理
2012-01-05 15:33 812HotSpot是较新的Java ...
相关推荐
java 关键字总结大全,最新版本的java8中所有的关键字总结
java关键字大全及解释java关键字大全及解释java关键字大全及解释
Java关键字是预先定义的具有特别意义的标识符,也可以叫Java保留字,Java关键字不能用作变量名、方法名、类名、包名和参数。
Java关键字解释,方便英文不好的Java初学者理解.
java 关键字
Linux中Java变量与java关键字。MyEclipse快捷键大全。Java方法 终于有东西和大家分享了 哈哈
一些关于Java关键字的描述,很详细的。其中还有代码
该文档主要介绍了java关键字的用法及说明
Java关键字大全,Java中关键字解析
.JAVA关键字和英语单词,有祝于学习Java基础的加快进步
这是我自己整理制作的50个java关键字,是用html制作的类似与API的网页格式的文档,里面内容详细,且便于查询。
Java关键字大全 doc 文档 ,学习必备,目前我看到的最好的关键字文档
Java关键字列表 上面列出了Java所有的关键字
java关键字。java关键字。java关键字。java关键字。java关键字。java关键字
整理JAVA关键字信息
java关键字解析 对java的一些关键字的意义进行解析
本文档包含了java所有的关键字以及一些说明,Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。
本文档系统列举了Java的关键字及其用法分类
列出了常用的java关键字,并加以解释及介绍用法,很实用。