(1)ClassLoader基本概念
与C或C++编写的程序不同,Java程序并不是一个可执行文件,而是由许多独立的类文件组成的,每一个文件对应一个Java类。
此外,这些类文件并非全部装入内存,而是根据程序需要逐渐载入。
ClassLoader是JVM实现的一部分,ClassLoader包括bootstrapclassloader(启动类加载器),ClassLoader在JVM运行的时候加载Java核心的API,以满足Java程序最基本的需求,其中就包括用户定义的ClassLoader。
这里所谓的用户定义,是指通过Java程序实现的两个ClassLoader:一个是ExtClassLoader,它的作用是用来加载Ja
继续阅读 »
这里收藏工作中用到的下载地址,也为了防止做重复的搜索工作,同时分享给大家。
more
java相关
api
https://docs.oracle.com/javase/8/docs/api/index.html
javase
http://www.oracle.com/technetwork/java/javase/downloads/index.html
server-jre8
http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html
linux wget下载
java8 wget --no-check
继续阅读 »
goto语句一直被人所诟病,说它使得代码结构复杂化,但是语言设计者们还是没有放弃goto这个功能强大的语句。Java以面向对象所著称也没能够放弃goto,而是把它当做保留字,但是并未在语言中得到正式使用。
然而,从Java的break和continue这两个关键字的身上,我们依然能够看出一些goto的影子。
下面是《Thinking In Java 4th》中关于“goto”的介绍:
臭名昭著的“goto”
goto 关键字很早就在程序设计语言中出现。事实上,goto 是汇编语言的程序控制结构的始祖:“若条件A,则跳到这里;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许多
跳转。然而,got
继续阅读 »
目录
前言
源文件基础
源文件结构
格式
命名约定
编程实践
Javadoc
后记
前言
这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则,
我们才认为它符合Google的Java编程风格。
与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题,
同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵循的规则,
对于那些不是明确强制要求的,我们尽量避免提供意见。
more
1.1 术语说明
在本文档中,除非另有说明:
术语class可表示一个普通类,枚举类,接口或是annotation类型(@interface)
术语comment只用来指代
继续阅读 »
java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串。它本质上是使用正则表达式去读取不同的数据类型。
Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本。
下面是两个类的不同之处:
当nextLine()被用在nextXXX()之后,用Scanner类有什么问题
尝试去猜测下面代码的输出内容;
// Code using Scanner Class
import java.util.Scanner;
class Differ
{
public static void main(String args[])
{
继续阅读 »
1)如果系统已经安装java,通过以下方式设置java相关环境变量:
$ ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Mar 20 14:49 /usr/bin/java -> /etc/alternatives/java
$ ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Mar 20 14:49 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java
继续阅读 »
class的装载
在讲class的初始化之前,我们来讲解下class的装载顺序。
以下摘自《Thinking in Java 4》
由于Java 中的一切东西都是对象,所以许多活动
变得更加简单,这个问题便是其中的一例。正如下一章会讲到的那样,每个对象的代码都存在于独立的文件
中。除非真的需要代码,否则那个文件是不会载入的。通常,我们可认为除非那个类的一个对象构造完毕,
否则代码不会真的载入。由于static 方法存在一些细微的歧义,所以也能认为“类代码在首次使用的时候载入”。
首次使用的地方也是static 初始化发生的地方。装载的时候,所有static 对象和static 代码块都会按照本
来的顺序初始化(亦即它们在类定义
继续阅读 »
在java中用到的最多的时间类莫过于 java.util.Date了
由于Date类中将getYear(),getMonth()等获取年、月、日的方法都废弃了
所以要借助于Calendar来获取年、月、日、周等比较常用的日期格式
注意:以下代码均已在jdk1.6中测试通过,其他版本可能使用不同,请注意!
Date与String的互转用法
/**
* Date与String的互转用法,这里需要用到SimpleDateFormat
*/
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
继续阅读 »
在服务请求中,通过HTTP的方式发送POST或者GET是最常见的请求方式。下面介绍JAVA中常用的POST、GET请求方式。
POST
实现代码
java
public static void sendMessage(String url, String message) {
try {
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setDoOutput(true); //表示只写数据
conn.setRequestProperty("Content-Ty
继续阅读 »
1.Java与C++的异同
Java解释性语言:源代码-编译器(字节码)-JVM执行
C/C++编译型语言:编译链接成二进制代码
Java不存在全局变量,全局函数,没有指针,不支持多重继承,不支持运算符重载,没有预处理器,不提供goto语句(但保留关键字),不支持自动强制类型转换,必须显式强制类型转换。
Java为纯面向对象语言,所有代码包括函数,变量等都属于类
继续阅读 »