java
prh1023
这个作者很懒,什么都没留下…
展开
-
Java基础集锦
1、“static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。 static修饰的成员变量或者是成员方法不属于任何对象,它是属于类本身的。 Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而s...原创 2018-04-13 15:51:02 · 109 阅读 · 0 评论 -
配置文件打jar内部 访问方法
log4j中配置文件log4j.properties如果要把java文件打包成jar文件,程序中访问log4j.properties方法:InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream("log4j.properties");PropertyConfigurator.configure(in);此时lo...原创 2018-06-15 15:11:06 · 739 阅读 · 0 评论 -
Java中判断字符串是否为数字的五种方法
1 //方法一:用JAVA自带的函数2 public static boolean isNumeric(String str){3 for (int i = str.length();--i>=0;){ 4 if (!Character.isDigit(str.charAt(i))){5 return false;6 }7...转载 2018-06-22 14:01:46 · 193 阅读 · 0 评论 -
两个对象不相同,hashcode可能相同
HashSet和HashMap一直都是JDK中最常用的两个类,HashSet要求不能存储相同的对象,HashMap要求不能存储相同的键。 那么Java运行时环境是如何判断HashSet中相同对象、HashMap中相同键的呢?当存储了“相同的东西”之后Java运行时环境又将如何来维护呢? 在研究这个问题之前,首先说明一下JDK对equals(Object obj)和hashcode()这两个方法的定...转载 2018-06-11 15:17:46 · 10429 阅读 · 1 评论 -
Java内存分配之堆、栈和常量池
Java内存分配主要包括以下几个区域:1. 寄存器:我们在程序中无法控制2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中3. 堆:存放用new产生的数据4. 静态域:存放在对象中用static定义的静态成员5. 常量池:存放常量6. 非RAM(随机存取存储器)存储:硬盘等永久存储空间******************************************...转载 2018-06-11 13:59:10 · 97 阅读 · 0 评论 -
深入理解JVM(二)——内存模型、可见性、指令重排序
上一篇我们介绍了JVM的基本运行流程以及内存结构,对JVM有了初步的认识,这篇文章我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况。内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再把需求明确一点,一个java线程对一个变量的更新怎么通知到另外一个线程呢?我们知道java当中的实例对象、数组元素...转载 2018-05-07 11:02:36 · 136 阅读 · 0 评论 -
接口VS抽象类
接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能继承一个类...转载 2018-04-26 11:09:07 · 164 阅读 · 0 评论 -
深入理解JVM(一)——基本原理
前言 JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM必要的知识点。运行流程 我们都知道java一直宣传的口号是:一次编译,到处运行。那么它如何实现的呢?我们看下图: java程序经过一次编译之后,将java代码编译为字节码也就是class文件,然后在不同的操作系统上依靠不同的ja...转载 2018-04-25 10:50:54 · 107 阅读 · 0 评论 -
java三大版本
Java平台有三个版本:(1)Java SE(Java Platform,Standard Edition)Java标准版。Java SE以前叫做J2SE。主要用途:a.它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。 b.Java SE包含了支持Java Web服务开发的类,并为Java EE(Java Platform,E...转载 2018-07-23 09:53:25 · 683 阅读 · 0 评论