随笔分类 - Java题解系列
一些Java面试或笔试的题目整理
摘要:IO是比较乏味的事情,因为看不到明显的运行效果,但输入输出是所有程序都必须的部分。 使用输入机制,允许程序读取外部数据(来自磁盘、光盘等存储设备的数据)、用户输入数据,使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘、光盘等存储设备中。 Java的IO通过java.io包下的类和接口来支持。
阅读全文
摘要:恢复内容开始 从jdk5开始Java增加了对元数据的支持,也就是Annotation,这种Annotation与第三章介绍的注释有区别,本章介绍的Annotation其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。 通过使用注解,程序开发人员可以在不改变原有逻辑的
阅读全文
摘要:通过使用JDBC,Java程序可以非常方便地操作各种主流数据库,这是Java语言的巨大魅力所在。由于Java的跨平台特性,所以使用JDBC编写的程序不仅可以实现跨数据库,还可以跨平台,具有非常优秀的可移植性。 程序使用JDBC API以统一的方式来连接不同的数据库,然后通过Statement对象来执
阅读全文
摘要:异常机制已经成为判断一门编程语言是否成熟的标准,除了传统的像C语言没有提供异常机制之外,目前主流的编程语言都提供了成熟的异常机制。 异常机制可以使程序中的异常处理代码和正常业务代码分离,保证程序代码更加优雅,并可以提高程序的健壮性。 Java的异常机制主要依赖于try catch finally t
阅读全文
摘要:本章的知识可以与前一章的内容补充阅读,因为JDK1.5增加泛型支持很大程度上都是为了记住其元素的数据类型。 在没有泛型之前,一旦将一个对象丢进Java集合中,集合就会忘记对象的类型,把所有的对象当成Object类处理,当程序从集合中取出对象后,就需要进行强制转换,这种强制转换使得代码臃肿,而且很容易
阅读全文
摘要:Java8增强的Map集合 Map可以用于保存具有映射关系的数据,因此map集合里面保存着两组值,一组值用于保存Map里的key,另外一组值用于保存value Map的key不允许重复 Java8为map新增的方法 java8改进的HashMap和Hashtable实现类 HashMap和Hasht
阅读全文
摘要:List集合 List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素可以通过索引来访问指定位置的集合元素。 List作为Collection接口的子接口,当然可以使用Collection接口里的全部方法。而且由于List是有序集合,因此List集
阅读全文
摘要:Java集合是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如栈队列等。除此之外,Java集合还可以保存具有映射关系的关联数组。 Java集合大致分为四类Set、List、Queue和Map四种体系 Java集合就像一种容器,可以把多个对象(实际上是对象的引用)丢进该容器
阅读全文
摘要:javaee作为一种企业级应用开发平台,优异表现有目共睹。但纵使是作为最强大的军队,没有一个好的指挥官,不知道如何发挥这支军队的强大战斗力,那这只战队也不可能取得太多辉煌的战果的。 spring是03年兴起的轻量级Java开发框架,最初的目的就是简化Javaee的企业级开发。相对于过去的EJB时代的
阅读全文
摘要:Oracle为Java提供了丰富的基础类库,Java8提供了4000多个基础类(包括集合框架) 通过这些基础类库,可以提高开发效率,降低开发难度。 Java提供了String、StringBuffer和StringBuilder来处理字符串,它们之间有少许差别。 Java还提供了Date和Calen
阅读全文
摘要:Java8的增强的包装类 Java是面向对象的编程语言,但它也包含了8种基本数据类型,这八种基本数据类型不支持面向对象的编程机制 基本数据类型的数据也不具备“对象”的特性:没有成员变量、方法可以被调用,Java之所以提供者八种基本数据类型,主要是为了照顾传统程序员的编程习惯。 为了解决八种基本数据类
阅读全文
摘要:Java语言里定义类的简单语法如下: 构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此,Java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器。一旦程序员为一个类提供了构造器,系统就不会再提供构造器。 在类中定义的成员st
阅读全文
摘要:所有语言基本上都会提供两种基本的流程控制,分支结构和循环结构。 其中分支结构用于实现根据条件来选择性地执行某段代码,两种if 和switch 使用switch语句时有两个值得注意地地方 switch后面表达式地数据类型只能是byte、short、char、int四种整数类型,String和枚举类型
阅读全文
摘要:Java语言语句的分割是用分号作为语句的分格。 Java程序允许一行书写多个语句,但为了可读性最好不要这样子 Java语句可以跨行书写,但是一个字符串、变量名不能跨行 方括号的作用主要是访问数组,方括号通常是紧跟数组变量名,而方括号里指定希望访问的元素索引 Java关键字: Java语言中有一些具有
阅读全文
摘要:Java语言是纯粹的面向对象的程序设计语言,这主要表现为Java完全支持面向对象的三种基本特征 继承封装和多态。 Java语言完全以对象为中心,Java程序最小的单位是类,整个Java程序由一个个类组成 面向对象的方式实际上由OOA、OOD、OOP组成 OOA:面向对象分析和OOD面向对象设计由UM
阅读全文
摘要:哇,最近肺炎盛行,还是读书使人快乐啊。 第一章就是简单介绍了一下Java语言概述和开发环境 Java已经是市场很大的一门开发语言了,人类史上从来从来没有一门语言可以吸引这么多程序员,也没有一门编程语言能衍生出如此多的开源框架。 95年sun公司发布了Java语言,98年发布了jdk1.2,2011年
阅读全文
摘要:一、ReentrantLock锁 首先我们来看看ReentrantLock锁的顶部注释,来看看他的相关特性呗。 来总结一下要点吧: 比synchronized更有伸缩性(灵活) 支持公平锁(是相对公平的) 使用最标准用法是在try之前调用lock方法,在finally代码块释放锁 1.1 内部类 首
阅读全文
摘要:一、AQS是什么? 首先我们来普及一下juc是什么:juc其实就是包的缩写java.util.concurrent 不要被人家唬到了,以为juc是什么牛逼玩意儿,实际上就是包而已 我们可以发现lock包下有三个抽象类: AbstractOwnableSynchronizer AbstractQueu
阅读全文
摘要:一、synchronized锁 1.1 synchronized锁是什么 synchronized是Java的一个关键字,它能够将代码块(方法)锁起来 它的使用起来非常简单,只要在代码块(方法)添加关键字synchronized,即可以实现同步功能。 synchronized是一种互斥锁 一次只能允
阅读全文
摘要:一、使用多线程遇到的问题 1.1 线程安全问题 在前面的文章中,多线程主要是为了提高我们应用程序的使用率。但同时,这会给我们带来很多安全问题。 如果我们在单线程中以顺序(串行->独占)的方式执行代码是没有任何问题的。但是到了多线程环境下(并行),如何没有设计和控制得好,就会给我们带来很多意想不到得状
阅读全文

浙公网安备 33010602011771号