- 浏览: 82746 次
- 性别:
- 来自: 苏州
-
文章分类
- 全部博客 (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 672本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲 ... -
spring fileupload
2012-12-06 10:53 852spring支持在网络应用程序处理文件上传,提供拔插的or ... -
Java文件上传组件 common-fileUpload 使用教程
2012-05-25 15:26 3483最近项目中,在发布商品的时候要用到商品图片上传功能(网站前 ... -
java面试经典(转)
2012-05-15 16:31 462http://blog.csdn.net/aweijun360 ... -
Servlet 3.0 简介
2012-05-08 15:28 1136Java servlets 是一项被普 ... -
java入门基础(一)
2012-04-05 08:19 698java 的核心思想 ... -
hibernate与ibatis的区别
2012-03-07 09:05 895hibernate 是一站式ORM orm mappin ... -
Servlet 3.0 新特性概览
2012-01-20 17:01 897转自http://blog.csdn.net/xiazdo ... -
配置文件load的几种方法(转)
2012-01-20 11:22 8401. InputStreamResource(Input ... -
读源码之重拾接口与继承
2012-01-19 15:41 726Java抽象类和接口的区别(好长时间没看这种文章了) ... -
java 基础 集合
2012-01-18 11:09 867ArrayList和LinkedList, Ar ... -
HttpUrlContent 详解
2012-01-18 08:45 980下边的总结对我帮助蛮大的~不仅用法了解,整个连接流程也要明 ... -
SAXReader解析XML
2012-01-18 08:43 3201总结: Document document=new SA ... -
threadlocal
2012-01-17 11:28 761概述 我们知道Spring通 ... -
mina2.0 多线程(一)
2012-01-17 11:26 2424mina 2.0 多线程 socket通信主体代码 ... -
hibernate load与get 的区别
2012-01-17 11:12 752hibernate中get方法和load方法的根本区别 如果你 ... -
web 容器
2012-01-17 11:01 766ApplicationContext是Spring的核心, ... -
java 基础
2012-01-05 15:36 803java 基础 Comparable ... -
java基础 GC整理
2012-01-05 15:33 880HotSpot是较新的Java ...
相关推荐
### Java关键字总结 Java是一种广泛使用的面向对象编程语言,它具备简单性、可移植性、高性能等特点。在Java中,关键字具有特殊的语法含义,不能用作标识符(例如变量名或方法名)。以下是对给定文件中提到的Java...
Java 关键字、标识符、注释、转义字符详解 Java 语言中有四个重要的概念:关键字、标识符、注释和转义字符。这些概念是 Java 语言的基础,理解这些概念对于编写 Java 代码非常重要。 一、Java 关键字 Java 关键字...
### Java关键字分类解释 #### 一、类与接口定义关键字 - **class**: 在Java中,`class`关键字用于声明一个类。类是面向对象编程的基本单元,它定义了一组属性(成员变量)和方法(成员函数),这些共同构成了一个...
Java关键字大全 Java关键字大全是Java编程语言中最基本和最重要的组成部分。这些关键字是Java语言的基础构建块,用于定义类、方法、变量、控制流、异常处理等。了解和掌握Java关键字是每一个Java开发者必备的技能。...
首先,让我们来谈谈“Linux中Java变量与java关键字”。在Java编程中,变量是存储数据的容器,它们可以是基本类型(如int、float、boolean等)或引用类型(如对象)。在Linux环境下,Java程序的运行与Windows或Mac...
这篇文档《Java关键字详细解》将深入探讨Java中的关键字及其用途。 首先,我们来看看Java中的主要关键字。`public`、`private`、`protected`是访问修饰符,用于控制类、方法和变量的访问权限。`public`可以被任何...
### Java关键字详解:掌握编程语言的核心 #### 一、Abstract:抽象类与抽象方法的关键 在Java中,`abstract`关键字被用于定义抽象类和抽象方法。抽象类是一种特殊的类,它不能被实例化,即不能创建其对象,但可以...
### Java关键字详解 #### 概述 Java是一种广泛使用的面向对象编程语言,它拥有丰富的关键字集,用于控制程序的行为和结构。Java关键字是由Java语言预定义的标识符,具有特殊的含义,不能用作变量名、方法名或类名等...
Java关键字是编程的基础,它们是Java语言预定义的、具有特殊含义的标识符,不能作为变量名、方法名或类名。以下是对50个Java关键字的详细解释: 1. **abstract**:用于声明抽象类或抽象方法,不包含具体实现。 2. ...
JAVA关键字列表 Java是一种面向对象的编程语言,具有多种关键字,用于控制程序的执行、定义变量、类和方法等。本文档系统列举了Java的关键字及其用法分类,总共分为以下几个类别:访问控制、类、变量修饰符、流程...
### Java关键字详解 #### 前言 Java作为一种广泛使用的编程语言,在软件开发领域占据了重要的地位。Java的关键字,即保留字,是Java语言中具有特殊意义的标识符,它们预定义并保留用于语言本身的语法结构。理解这些...
Java关键字大全 Java语言中有多种关键字,每个关键字都有其特定的用途和作用。下面是Java关键字大全的详细解释: 1. abstract关键字 abstract关键字可以修改类或方法。abstract类可以扩展(增加子类),但不能...
该文档主要介绍了java关键字的用法及说明
### Java关键字解析 Java是一种广泛使用的面向对象编程语言,它为开发者提供了丰富的特性和功能,以简化复杂的软件开发过程。Java的关键字是预定义的保留字,在Java编程中具有特殊的含义和用途。本文将深入探讨Java...
通过这份总结,我们可以看到Java关键字在定义行为和数据时起到的作用。理解这些关键字的含义和使用方式是掌握Java语言基础的关键。这些概念包括区分对象内部变量和方法、处理继承关系中的方法覆盖、定义类级别的属性...
Java关键字列表 上面列出了Java所有的关键字
整理JAVA关键字信息
Java 关键字是编程语言中预定义的具有特殊含义的标识符,它们是构建和管理程序结构的关键元素。本文将详细解析 Java 中的访问控制关键字,以及类、方法和变量修饰符。 首先,我们来看看访问控制关键字: 1. **...