Java基础实践一:for关键字的实现原理

Java源码:/** * Demo.java * com.yuanchuangyun.libra.web * * * ver date author * ────────────────────────────────── * 2017年5
89次阅读

JAVA基础之对象的初始化

本文主要记录JAVA中对象的初始化过程,包括实例变量的初始化和类变量的初始化以及 final 关键字对初始化的影响。另外,还讨论了由于继承原因,探讨了引用变量的编译时类型和运行时类型 一,实例变量的初始化一共有三种方式对实例变量进行初始化:①定义实例变量时指定初始值②非静态初始化块中对实例
106次阅读

IoDH 实现的单例模式

饿汉式单例类不能实现延迟加载,不管将来用不用始终占据内存;懒汉式单例类线程安全控制烦琐,而且性能受影响。有种更好的单例模式叫做Initialization Demand Holder (IoDH)的技术。 public class Singleton { private Single
101次阅读

java基础十二[集合与泛型](阅读Head First Java记录)

集合List知道索引顺序的集合,ArrayList、LinkedList、Vector三个子类实现了List接口 ArrayListArrayList没有排序方法,可以用Collections.sort(ArrayList对象)进行排序,但是Collections.sort()里面的Arr
121次阅读

java基础十一[远程部署的RMI](阅读Head First Java记录)

方法的调用都是发生在相同堆上的两个对象之间(同一台机器的Java虚拟机),如果想要调用另一台机器上的对象,可以通过Socket进行输入/输出。远程过程调用需要创建出4种东西:服务器、客户端、服务器辅助设施、客户端辅助设施 RMIJava的JMI提供客户端和服务器端的辅助设施对象(stub和
111次阅读

java基础十[包、Jar存档文件和部署](阅读Head First Java记录)

将Java的class文件生成为可执行的Java应用程序。Java应用程序有三种:完全在本机执行的Jar(例如本机的GUI可执行程序);完全在服务器端远程执行的(例如浏览器来进行存取);介于两者之间的组合(例如客户端在本地,与远程服务器交互) 将class文件生成JAR 指定编译
178次阅读

java基础九[网络与线程](阅读Head First Java记录)

网络socket连接Java API的网络功能包(java.net)已经将底层的TCP连接等都封装好了,我们只需要通过Socket对象来建立客户端和服务器的连接,然后客户端能向服务器发送请求,并接收服务端发来的数据即可 服务端和客户端大概的交互如下所示:  编写客户端程
105次阅读

java基础八 [序列化和文件的输入/输出](阅读Head First Java记录)

对象具有状态和行为两种属性。行为存在类中的方法中,想要保存状态有多种方法,这里介绍两种:一是保存整个当前对象本身(通过序列化);一是将对象中各个状态值保存到文件中(这种方式可以给其他非JAVA程序用),如果其他程序需要用到的状态,可以通过特定的格式存储到文本中,方便其他程序解析提取数据 序
107次阅读

java基础七 [图形用户接口](阅读Head First Java记录)

到目前为止我们接触的都是Java的命令行,但是为了让用户使用,必须有图形化界面,所以这章主要讲的是怎么使用GUI(图形用户接口) 创建一个GUI:javax.swing.*本章讲的布局相关内容都是javax.swing包下的内容,常用的组件有JFrame,JButton,JRadioBut
114次阅读

java基础六 [异常处理](阅读Head First Java记录)

在程序运行时,我们不能保证所有服务和方法都是正确的,如果发生问题报错会导致程序崩溃,所以需要对一些可以预见的错误进行异常处理,通过throw去抛出一个异常,然后用try..catch..将要执行的该方法括起来,通过它去捕获该方法可能throw的异常并进行处理 throw:抛出异常(只有方法
106次阅读