Java
_inkrain
要像一张邮票,坚持一件事情直到你到达目的地。
展开
-
JVM--常量池与自动装箱、拆箱
最近一直在看《Java多线程编程核心技术》的第二章,主要讲的是线程共享变量与线程私有变量以及如何写出线程安全的代码。看这部分一开始没太注意,只是记住了一条规则,“类中的成员变量,也叫实例变量,也叫全局变量,它是非线程安全,是所有线程共享的变量,定义在方法中的私有变量是线程安全的,是每个线程私有的”。很好理解不是吗,然后一帆风顺的看到了关于volatile这部分的知识,看过之后我陷入了凌乱。。。关于...原创 2017-08-08 14:26:58 · 3470 阅读 · 15 评论 -
Java--初识NIO
NIO(New IO)顾名思义,即使高级的输入/输出处理API。NIO概述InputStream和OutputStream的输入/输出,基本上是以字节为单位进行处理的,而且是整块数据读入后又整块数据写出,比如:public void dump(InputStream src, OutputStream dest) throws IOException{ try(In...原创 2017-02-17 22:51:50 · 1142 阅读 · 0 评论 -
Java--NIO2文件系统
JDK7提出了NIO2文件系统API,存取了默认文件系统进行各种输入/输出的API,既可简化现有的文档输入/输出API操作,也增加了许多过去没有提供的文件系统存取功能。NIO2架构在JDK7出现之前,常要针对特定文件系统攥写特定程序,不仅攥写方式没有标准,针对特定功能攥写程序也会增加应用程序开发者的负担。NIO2文件系统API提供一组标准接口和类,应用程序开发者只要基于这些标准...原创 2017-02-20 18:27:22 · 4163 阅读 · 0 评论 -
Java--运用反射
Java在需要使用某个类的时候才会将.class文档进行载入,在JVM产生java.lang.Class实例代表该文档,从Class实例开始,就可以获得类的许多类型。.class文档反应了类的基本信息,因而从Class等API取得类信息的方式就称为反射。Class与.class文档Java真正需要某个类时才会加载对应的.class文档,而非程序启动的时候加载所有的类,因为大多数用户只会...原创 2017-02-22 14:19:09 · 649 阅读 · 0 评论 -
Java--解析JDK与IDE(Linux下Java环境变量的配置)
最近开始学习Java,觉得比之前学习的c语言有趣的多,决定用博客记录我一天天的成长。。Java的学习我都是在Linux下进行的! 本片博客配置Java环境变量的部分建议大家先学习一下Linux下的shell的相关知识,对环境变量有个认识,然后配置环境就简单许多,也不至于死记硬背,然后强调一下,我的环境变量和你们不一样,每个人的环境都有可能不同,但学习了shell之后会发现语法和怎么...原创 2016-10-23 14:01:58 · 1395 阅读 · 0 评论 -
Java--Integer与int的种种比较
本文转载至:残剑如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。...转载 2017-05-29 22:51:31 · 579 阅读 · 0 评论 -
Java--final关键字
final数据在Java中,编译器可以将final常量代入任何可能用到它的计算式中,也就是说,可以在编译时进行计算,这减轻了一些运行时的负担。final常量必须是基本类型。对于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。然而,对象其自身却是可以被修改的,既是final又是static的域,将用大写表示,并使用下划线分割各个单词。...原创 2017-04-09 00:14:55 · 546 阅读 · 0 评论 -
Java--this关键字
this调用所操作对象的引用问题1:假如统一类型的两个对象,分别是a和b,其中还有一个方法peel(),那么我们怎么才能分辨这个方法到底是被a调用还是被b调用呢?其实,在这期间编译器做了一些事后工作,它暗自把“所操作对象的引用”作为地一个参数传递给了peel()。假设你希望在方法的内部获得对当前对象的引用,就可以使用this关键字。代码如下:class Banana { ...原创 2017-03-31 19:04:41 · 735 阅读 · 0 评论 -
Java--一些小问题
赋值将一个对象赋值给另一个对象,实际是将“引用”从一个地方复制到另一个地方,也就是倘若c=d,那么c和d都将指向原本只有d指向的那个对象。方法参数传递将对象作为实参传递至方法中,实际上传递的是一个引用,而并不是在作用域内复制参数的一个副本,所以说如果我们在方法内通过引用改变其中的值,实际改变的是方法之外的对象。==与equals“==”和“!=”比较的都是对象的...原创 2017-03-28 22:41:58 · 721 阅读 · 1 评论 -
Java--Collection与Map
使用Collection收集对象Collection架构 在Java SE中,我们有各种各样的API可以使用,数量庞大,种类繁杂,我们要熟用这些API,就需要去了解他们的继承与接口操作,知道在何时该用哪个类,而不用死背API。为此,我们必须熟悉他们的接口继承架构设计。所以在学习前,我们来看一下Collection的继承接口架构: 从这个图片中,我们可以很清晰的看出每个...原创 2016-12-10 12:13:53 · 745 阅读 · 0 评论 -
Java--接口与多态
其实,我们在Java中,提倡用的是接口而不是继承,很多书上都说“别滥用继承”,那么什么是接口呢,他和继承,多态有什么关系?何谓接口 Java是一门面向对象的语言,它尝试着把所有问题都抽象为一个实例,也就是一个对象。Java中的类就是一种”类”,可以看做是一个种类。既然是对象,我们可以把它抽象为一个人,而我们在前面说的继承就是子类继承父类,可以看做我们继承了父母的基因,而...原创 2016-11-30 23:54:16 · 1061 阅读 · 0 评论 -
Java--浅谈异常处理
我们在写程序的时候经常会出现许多意想不到的错误,在Java中,错误也是被包装成了各种子类实例。只要我们能捕捉到包装错误的对象,就能做出对应的处理方式。语法与继承架构使用try,catch Java中的所有错误都会被打包称对象。我们可以尝试(try)捕捉(catch)代表错误的对象,然后做一些处理。例如下面的代码,我们将输入几个数字并打印它的平均值,Scanner...原创 2016-12-02 17:25:51 · 849 阅读 · 0 评论 -
Java--深入解读equals与hashCode
何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念)。设计equals() [1]使用instanceof操作符检查“实参是否为正确的类型”。 [2]对于类中的每一个“关键域”,检查实参中的域与当前对象中对应的域值。 [2.1]对于非float和double类型的原语类型域,使用==比较; [2.2]对于对象引用...原创 2016-12-06 18:05:07 · 7265 阅读 · 4 评论 -
Java--继承与多态
何谓继承 继承的基本概念就不在赘述。多态与is-a 在Java中,子类只能继承一个父类,子类与父类之间会有is-a的关系,我们称之为“是一种”的关系。我们要理解多态,必须知道我们操作的对象是“哪一种”东西。我们可以将自己当做编译程序,检查语法的逻辑是否正确,方法是从=号右边往左读,右边是不是左边的一种呢(右边的类是不是左边的一种子类呢)。 有效的理解多态有助...原创 2016-11-26 14:47:17 · 1186 阅读 · 0 评论 -
Java--整合数据库
前言 这部分的知识如果在了解一些数据库的基本知识与操作之后学习的话会比较有感触,所以如果你没有数据库的基础,我建议大家先阅读一下我推荐的这篇文章,对我们的学习是非常有必要的(使用MysQL数据库)。MySQL数据库使用基础(30分钟入门) 现在我们来说一下正题,在Java中,如果我们要使用数据库应该怎么办?别担心,Java给我们提供了JDBC的标准接口,而它就是专门用来执行S...原创 2017-01-15 23:45:57 · 2933 阅读 · 0 评论 -
Java--输入/输出
InputStream与OutputStreamInputStream与OutputStream初探 InputStream与OutputStream可以将一切输入来源与输出目的地进行抽象化,就算不知道具体的输入来源和输出目的地,我们也可以进行数据的读取与写入,这就是这两个API的主要功能。代码实例:import java.io.*;public class IO...原创 2017-01-11 18:28:58 · 818 阅读 · 0 评论