java基础
武装
这个作者很懒,什么都没留下…
展开
-
ArrayList用法及源码解析
转载请注明出处:http://blog.csdn.net/github_39430101/article/details/76166174ArrayList简介ArrayList实现了List接口,内部以数组存储数据,允许重复的值。由于内部是数组实现,所以ArrayList具有数组所有的特性,通过索引支持随机访问,查询速度快,但是插入和删除的效率比较低。ArrayList是非线程安全的,所以建议在单原创 2017-07-26 22:00:22 · 423 阅读 · 1 评论 -
Java虚拟机(一)自动内存管理机制
运行时数据区域一、程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。每条线程都会有一个独立的程序计数器,是线程私有的。二、Java虚拟机栈虚拟机栈是线程私有的,它的生命周期与线程相同。虚拟机栈描...原创 2018-02-26 17:33:14 · 235 阅读 · 0 评论 -
Java基础总结(二)流程控制与数组
流程控制 顺序结构 Java的基本结构就是顺序结,程序从上到下逐行执行,没有任何判断和跳转。选择结构 Java提供了两种常见的分支控制结构:if语句和switch语句,其中if语句使用布尔表达式或布尔值作为分支条件来进行分支控制;而switch语句则用于对多个整型值进行匹配,从而实现分支控制。 ifif(logic expression){ statement...原创 2017-12-25 17:27:24 · 379 阅读 · 0 评论 -
Java基础总结(一)数据类型和运算符
标识符标识符就是用于给程序中变量、类、方法命名的符号。Java语言的标识符必须以字母、下划线_和美元符$开头。使用标识符有如下规则:标识符不能以数字打头标识符不能是关键字不能包含空格不能包含其他特殊符号 变量我们通过变量来操纵存储空间的数据,变量就是指代这个存储空间。每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变原创 2017-12-25 14:46:23 · 261 阅读 · 0 评论 -
IO流(四)处理流
处理流:增强功能,提供性能,节点流之上 缓冲流字节缓冲流BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。在创建 BufferedInputStream 时,会创建一个内部缓冲区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓冲区,一次填充多个字节。mark 操作记录输入流中原创 2017-08-14 22:52:08 · 232 阅读 · 0 评论 -
IO流(三)文件流
节点流:可以从或向一个特定的地方(节点)读写数据。如FileOutputStream、FileReader等处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。 FileOutputStreamFileOutputStream原创 2017-08-14 21:14:03 · 206 阅读 · 0 评论 -
IO流(二)File类
转载请注明出处:http://blog.csdn.net/github_39430101/article/details/77142235 File类Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。常用构造方法通过将给定路径名字符串转换为抽象路径名来创建一个新的File实例File(String pathname)原创 2017-08-13 14:45:02 · 217 阅读 · 0 评论 -
IO流(一)概述
转载请注明出处:http://blog.csdn.net/github_39430101/article/details/77075109 简介流分为输入流和输出流,是用来处理设备上的数据。这里的设备指硬盘,内存,网络传输,缓冲等。Java IO中包含了许多InputStream、OutputStream、Reader、Writer的子类。这样设计的原因是让每一个类都负责不同的功能。各类用原创 2017-08-10 23:25:59 · 655 阅读 · 0 评论 -
Java基础总结(三)类与对象(下)
static 关键字static 关键字修饰的成员就是类成员,前面已经介绍的类成员有类变量、类方法、静态初始化块。static不能修饰构造器,其修饰的类成员属于整个类,不属于单个实例。 当创建对象后,成员变量是存储在堆中的,而static成员变量和类的信息一起存储在方法区, 而不是在堆中。单例类如果一个类始终只能创建一个实例,则这个类被称为单例类。在一些特殊场景下,要求不允许自由创建该类的对象,而原创 2017-12-28 14:14:31 · 177 阅读 · 0 评论 -
Java基础总结(三)类与对象(上)
Java语言里定义类的语法:[修饰符] class 类名{ 零到多个构造器定义.. 零到多个成员变量.. 零到多个方法..}创建对象 在Java中,提供了名为构造器的一种特殊方法,若某一个类有一个构造器,那么创建对象时,Java会自动调用那个构造器。Person p; //使用Person类定义一个Person类型的变量p = new Person(); //通过new原创 2017-12-26 16:56:47 · 234 阅读 · 0 评论 -
Java网络编程浅谈
TCP通信Socket简介 socket通常称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。其实就是客户端和服务端之间通信的一条管道。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口应用于不同的服务。 应用程序通常通过”套接字”向网络发出请求或者应答网络请求。Socket和ServerS原创 2017-08-31 21:23:32 · 313 阅读 · 0 评论 -
IO流(五)其他流
节点流ByteArrayInputStreampublic class ByteArrayInputStream extends InputStreamByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。构造方法ByteArrayInputStream(byte[] buf) //创建一个ByteArrayInputStream,使用buf作为缓冲区数组。B原创 2017-08-15 20:16:33 · 241 阅读 · 0 评论 -
LinkedList用法及源码解析
转载请注明出处:http://blog.csdn.net/github_39430101/article/details/76861393LinkedList简介LinkedList是由双向链表实现的,对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList原创 2017-08-07 21:03:43 · 836 阅读 · 0 评论 -
HashMap用法及源码解析
转载请注明出处:HashMap简介基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。是线程不安全的,适合单线程,多线程用ConcurrentHashMap。jdk1.8之前HashMap采用的是数组+链表的方式实现的 简单实现下HashMappackage com.code.map;import java.util.LinkedList;/原创 2017-08-09 16:39:16 · 334 阅读 · 0 评论 -
Java虚拟机(二)垃圾收集算法与内存分配策略
如何判断对象是否存活不能再被任何途径使用的对象即是死去,那么我们如何判断呢?引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减一。缺点:很难解决对象之间相互循环引用的问题。可达性分析算法这个算法的基本思路就是通过一系列的称为”GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链(Refere...原创 2018-02-27 15:55:04 · 261 阅读 · 0 评论