简单的入门Android开发和Java语言基础[图]

简单的入门Android开发和Java语言基础[图]
前言:
去年年末到今年年初,我作过简单的智能家居,也实现过一些简单的直连和远程的智能家居。因而就将最简单的通讯发布出来:智能家居简单实现—使用ESP8266简单实现和APP通信
因为这方面的资料少之又少,因此阅读量飙升的很快。也有不少人加了好友问我问题。经过问题我发现,不少都是学硬件的、或是作智能家居方面的学生,基本都不会 Android 开发的。问也有不少问我怎么学 Android 开发的。
不少的人认知仍是停留在学习这种软件开发技术须要去培训机构报一个班,或者去学校学习一下相关专业。其实入门基础的软件开发,根本就无需以上的操做。如今网上的资料这么丰富,本身花点心思就能够找到不少很好的资料,而后再系统的学习,彻底是能够达到要求的,根本就不须要去花费那些时间和金钱。html

简单的入门Android开发和Java语言基础[图]
鉴于以上的需求,我在这就总结一下如何简单的入门 Android。如今的 Android 开发支持用两种语言,Java 和 Kotlin。Kotlin 是去年才 Google 官方宣布支持 Android 开发的,因此用得并不太普遍,主体仍是用 Java 的多。因此这里就选择学习 Java 语言基础,而后再学习 Android 开发基础。
Java 语言基础:
学习 Java 基础,我是过来人了,初学者是建议视频加书本。虽然说这里要结合书本,其实我也没买过 Java 基础的书,我是用网站代替的,有一个网站以书面的形式把Java基础展现得还蛮不错的。
JAVA企业面试题精选 OOP:
2.11.是否能够继承String类?
参考答案:
  String类是final类,故不能够继承
2.12.阐述一下static关键字的做用
参考答案:
  static表示”静态”的意思,用来修饰成员变量和成员方法,也能够造成静态代码块.只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区找到它们.所以staitc成员能够在它的任何对象建立以前访问,无需引用任何对象. 
  1)修饰成员变量.用static修饰的成员变量不属于对象的数据结构;static变量是属于类的变量,一般能够经过类名来引用static成员;static成员变量和类的信息一块儿存储在方法区,而不是在堆中,一个类的static成员变量只有”一份”,不管该类建立了多少对象. 
  2)修饰成员方法.static修饰的方法则不须要针对某些对象进行操做,其运行结果仅与输入的参数有关,调用时直接用类名引用.因为static在调用时没有具体的对象,所以在static方法中不能对非static成员(对象成员)进行访问.static方法的做用在于提供一些”工具方法”和”工厂方法”等. 
  3)static块:属于类的代码块,在类加载期间执行的代码块,只执行一次,能够用来在软件中加载静态资源.
2.13.解释Java关键字的含义及用法
1)abstract 
2)extends 
3)final/finally 
4)implements 
5)import 
6)instanceof 
7)synchronized 
8)throw/throws
参考答案:
1)abstract:抽象,修饰类和方法.含有abstract方法的类是抽象类,抽象方法主要是为了让子类继承实现. 
2)extends:继承,子类经过继承父类来添加变量或方法,或者覆盖父类的方法;子接口继承父借口来添加方法. 
3)final/finally:final用于定义常量.finally用来执行一段代码,无论在前面定义的try语句中是否有异常或运行时错误发生. 
4)implements:在类的声明中是可选的,用来指明当前类实现的接口. 
5)import:在源文件的开始部分指明后面将要引进的一个类或整个包. 
6)instanceof:判断其指向对象的实际类型. 
7)synchronized:修饰方法或方法块.防止多个线程同时访问这个类中的synchronized块. 
8)throw/throws:throw容许用户抛出一个exception对象或者任何实现throwable的对象.throws用在方法的声明中来讲明哪些异常这个方法是不处理的,而是提交到程序的更高一层.
2.14.静态变量和实例变量的区别?
参考答案:
  静态变量也称为类变量,归全类共有,它不依赖于某个对象,可经过类名直接访问,而实例变量必须依存于某一实例,只能经过对象才能访问到它.
2.15.GC是什么?为何要有GC?
参考答案:
  GC是垃圾回收的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会致使程序或系统的不稳定甚至崩溃,Java提供的GC功能能够自动检测对象是否超过做用域从而达到自动回收内存的目的.Java程序员编程的时候不用考虑变量不用时释放内存,Java虚拟机能够自动判断出并回收垃圾.
2.16.件数垃圾回收的优势和原理.并举例2中回收机制
参考答案:
  Java语言中一个显著的特色就是引入了垃圾回收机制,使C++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候再也不须要考虑内存管理.因为有个垃圾回收机制,Java中的对象再也不有”做用域”的概念,只有对象的引用才有”做用域”。史记读后感(http://www.simayi.net/dushubiji/2445.html)心得体会,垃圾回收能够有效的防止内存泄漏,有效的使用可使用的内存。
  垃圾回收器一般是做为一个单独的低级别的线程运行,不可预知的状况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或全部对象进行垃圾回收. 
1)增量收集器 
  增量收集器把堆栈分为多个域,每次仅从一个域收集垃圾.这会形成较小的应用程序中断. 
2)分代收集器 
  这种收集器把堆栈分为两个或多个域,用以存放不一样寿命的对象.JVM生成的新对象通常放在其中的某个域中.过一段时间,继续存在的对象将得到使用期并转入更长寿命的域中.分代收集器对不一样的域使用不一样的算法以优化性能.程序员

相关文章
相关标签/搜索