Java基础学习
Y欲与深蓝C
一个新手,写博客为了练熟练度
展开
-
Java学习笔记-6
Java集合框架 早在Java2中之前,Java就提供了,特设类。比如Dictionary,Victor,Stack和Properties这些类用来存储和操作对象组。 虽然这些类都非常有用,但是他们缺少一个核心的,统一的主题。由于这个原因,使用Vector类的方式和使用Properties类的方式有着很大的不同。 集合框架被设计成要满足以下几个目标。 该框架必须是高性能的。基本集合(动态数组,链...转载 2018-10-11 21:12:42 · 129 阅读 · 0 评论 -
Java学习笔记-13
1.TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素? TreeSet要求存放的对象所属的类必须实现Compareable接口,该接口提供了比较元素的compareTo()方法,当插入元素时会回调该方法比较元素的大小。TreeMap要求存放的键值对映射的键必须实现Compareable接口从而根据键对元素进行排序。 Collectio...转载 2018-10-25 14:37:20 · 311 阅读 · 0 评论 -
Java学习笔记-12
1.什么时候用断言(assert)? 断言在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,断言用于保证程序最基本、关键的正确性。检查断言通常在开发和测试时开启。为了保证程序的执行效率,在软件发布后断言检查通常是关闭的。断言是一个包含布尔表达式的语句,在执行这个语句假定该表达式为true;如果表达式的值为false,那么系统会报告一个AssertionError。断言的使用...转载 2018-10-22 19:44:59 · 118 阅读 · 0 评论 -
Java学习笔记-11
1.GC是什么?为什么要有GC? GC是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳地甚至崩溃,Java提供的GC功能可以自动检测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc...转载 2018-10-22 19:26:38 · 127 阅读 · 0 评论 -
Java学习笔记-10
1、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回值类型进行区分? 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不相同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回值类型,比父...转载 2018-10-22 14:32:28 · 112 阅读 · 0 评论 -
Java学习笔记-9
设计模式 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于人于己于系统都是多赢的,设计模式使代码编制真正工程化,设计模式使软件工程的基石,如同...转载 2018-10-19 14:40:08 · 199 阅读 · 0 评论 -
Java学习笔记-5
Java数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties) 以上这些是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collection)。 枚举(Enum...转载 2018-10-10 10:04:57 · 112 阅读 · 0 评论 -
Java学习笔记-4
Java 包(package) 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。 包的作用 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中类名是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区分。因此包也可以避免名字冲突。 包也限定了访问权限,拥有包访问权限...转载 2018-10-09 19:25:03 · 143 阅读 · 0 评论 -
Java学习笔记-2
一、是否可以在static环境中访问非static变量? static变量在java中是属于类的,它在所有的实例中的值是一样的。当类被java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例联系上。 ...转载 2018-10-09 17:20:36 · 168 阅读 · 0 评论 -
Java学习笔记-3
面向对象的三个特征 封装、继承、多态,有时候也会加上抽象。 多态的好处 允许不同类对象对同一消息作出相应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。主要有以下优点: 1.可替换性:多态对已存在代码具有可替换性; 2.可扩充性:增加新的子类不影响已存在的类结构; 3.接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类来完善或者重写它来实现的; 4....转载 2018-10-09 17:20:14 · 95 阅读 · 0 评论 -
Java网络编程
网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过 网络连接起来。 java.net包中J2SE的API包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。 java.net包中提供了两种常见的网络协议的支持: TCP : TCP是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。通常用于互联网协议,被称TCP/IP。 U...转载 2018-10-15 18:40:00 · 130 阅读 · 0 评论 -
Java学习笔记-8
Java序列化 Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。 将序列化文件写入文件之后,可以从文件中读取出来,并且对他进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。 整个过程都是Java虚拟机(JVM)独立的,也就是说,在一个平台上序列化...转载 2018-10-15 16:28:49 · 110 阅读 · 0 评论 -
Java学习笔记-7
String的compareTo()方法返回值 compareTo()的返回值是是整数,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则第二个字符和参数的第二个字符作比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度,长度长多少,返回值就是多少。 例: String s1 ...转载 2018-10-12 16:34:33 · 87 阅读 · 0 评论 -
Java学习笔记-1
一、面向对象是什么? 面向对象是一种思想,世间万物都可以看成一个对象,这里只讨论面向对象编程(OOP),java是一个支持并发、基于类和面向对象的计算机编程语言,面向对象开发的优点: 1.代码开发模块化,更易维护和修改; 2.代码复用性强; 3.增强代码的可靠性和灵活性; 4.增强代码的可读性。 面向对象的四大基本特征: 抽象:提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不...转载 2018-09-27 20:05:09 · 243 阅读 · 0 评论 -
java常用的几种数据结构
java中有几种常用的数据类型,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。 一、几个常用类的区别 1.ArrayList:元素单个,效率高,多用于查询。 2.Vector:元素单个,线程安全,多用于查询。 3.LinkedList:元素单个,多用于插入和删除。 4.HashMap:元素成对,元素可为空。...转载 2018-09-27 17:41:34 · 191 阅读 · 0 评论 -
Java学习笔记-14
1.线程的基本状态以及状态之间的关系? 2.简述synchronized 和java.util.concurrent.locks.Lock的异同? Lock是Java5以后引入的新的API,和关键字synchronized相比主要相同点:Lock能完成synchronized所实现所有的功能;主要不同点:Lock有比synchronized更精确的线程语义和更好的性能,而且不强制性的要求一定要获...转载 2018-11-01 10:07:28 · 137 阅读 · 0 评论