java基础
悟笙
目前还是一个正在读软件工程专业的小朋友。
展开
-
JVM运行原理详解
1.JVM简析: 作为一名Java使用者,掌握JVM的体系结构也是很有必要的。 说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示: Java平台由Java虚拟机和Java应用程序接口搭建,Java...转载 2018-08-15 11:47:37 · 178 阅读 · 0 评论 -
数据结构之二叉树
树具有的特点有:(1)每个结点有零个或多个子结点(2)没有父节点的结点称为根节点(3)每一个非根结点有且只有一个父节点(4)除了根结点外,每个子结点可以分为多个不相交的子树。 树的基本术语有:若一个结点有子树,那么该结点称为子树根的“双亲”,子树的根称为该结点的“孩子”。有相同双亲的结点互为“兄弟”。一个结点的所有子树上的任何结点都是该结点的后裔。从根结点到某个结点的路...转载 2018-08-21 20:28:30 · 491 阅读 · 0 评论 -
线程的几种状态转换
线程在一定条件下,状态会发生变化。线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。3、运行状态(Running):就绪状态的线程获取了C...转载 2018-08-24 10:31:11 · 174 阅读 · 0 评论 -
java基础之代理模式
一、中介隔离作用 代理模式,第一次接触它,是在学习.Net的时候看的一本书,叫做《大话设计模式》,至今已快三年了。相信看过这本书的同学们,都记得书中的代理模式,就是为他人做嫁衣裳的故事。好,我们回归代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用, 其特征是代理类与委托...转载 2018-08-20 21:17:57 · 135 阅读 · 0 评论 -
奇偶校验
校验依据:判断传输的一组二进制数据中"1"的个数是奇数还是偶数奇校验:如果以二进制数据中1的个数是奇数为依据,则是奇校验偶校验:如果以二进制数据中1的个数是偶数为依据,则是偶校验说明:采用何种校验必须事先规定好的,通常传输的数据会专门设置一个奇偶校验位,用它来确保发送出去的二进制数据中“1”的个数为奇数或偶数。如:发送一组8位二进制数,假定第一位为奇偶校验位,后七位为数据位,采用奇...转载 2018-08-23 16:05:40 · 1860 阅读 · 0 评论 -
Java基本类型
汉字是Unicode编码的,而Unicode编码占两个字节,也就是16位,而char类型也是存储两个字节,故可以存储一个汉字。 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。Java 的两大数据类型:...转载 2018-08-23 14:42:23 · 135 阅读 · 0 评论 -
Sting,StringBuffer,StringBuilder之间的区别
这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但...转载 2018-08-23 14:30:10 · 131 阅读 · 0 评论 -
java基础之反射机制
一,java的核心机制java有两种核心机制:java虚拟机(JavaVirtual Machine)与垃圾收集机制(Garbage collection): Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。 Java垃圾回收(Garbage Collection):...转载 2018-08-23 11:50:07 · 311 阅读 · 0 评论 -
java基础之Synchronized关键字
Java中Synchronized的用法 总结:A. 无论synchronized关键字加在方法上还是对象上,如果它作用的对象是非静态的,则它取得的锁是对象;如果synchronized作用的对象是一个静态方法或一个类,则它取得的锁是对类,该类所有的对象同一把锁。 B. 每个对象只有一个锁(lock)与之相关联,谁拿到这个锁谁就可以运行它所控制的那段代码。 C. 实现同步是要...转载 2018-08-22 17:01:30 · 87 阅读 · 0 评论 -
java基础之Volatile关键字解析
内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在 CPU 中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题:由于 CPU 执行速度很快,而从内存读取数据和向内存写入数据的过程跟 CPU 执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行...转载 2018-08-22 16:46:53 · 218 阅读 · 0 评论 -
Java基础之List与Set
List可以理解List的3个特性 1.是按顺序查找 2.允许存储项为空 3.允许多个存储项的值相等 可以知其然知其所以然然后对比LinkedList和ArrayList的实现方式不同,可以在不同的场景下使用不同的List ArrayList是由数组实现的,方便查找,返回数组下标对应的值即可,适用于多查找的场景 LinkedList由链表实现,插入和删除方便,适用于多次数据替换...转载 2018-08-22 11:58:57 · 150 阅读 · 0 评论 -
java基础之IO
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。总结: Java对BIO、NIO、AIO的支持: Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。 Java NIO : 同步非阻塞,服务...转载 2018-08-22 11:17:23 · 112 阅读 · 0 评论 -
笔试错题知识点总结
在java 中,声明一个数组时,不能直接限定数组长度,只有在创建实例化对象时,才能对给定数组长度.。如下,1,2,3可以通过编译,4,5不行。1. String a[]=new String[50];2. String b[];3. char c[];4. String d[50];5. char e[50]; 平衡二叉树的时间复杂度是log(n),如果二叉树的元...转载 2018-09-17 09:22:01 · 148 阅读 · 0 评论