非常荣幸作为晓峰哥的同事,之前就看过这篇文章,重写读一遍,再学习学习. 一.开篇词 初级.中级:java和计算机科学基础.开源框架的使用:高级.专家:java io/nio.并发.虚拟机.底层源码.分布式.安全.性能 java基础.java进阶.java应用开发扩展.java安全基础.java性能基础 第1讲:java平台的理解 java编译器和运行时: javac的编译:编译将java源码生成.class文件,实际是字节码,而不是可以直接执行的机器码. 运行时:JVM通过类加载器(Class-…
1. 谈谈你对java平台的理解 首先是java最显著的两个特性,一次写入处处运行:还有垃圾收集器gc,gc能够对java内存进行管理回收,程序员不需要关心内存的分配和回收问题 然后谈谈jre和jdk的区别,jre包含了jvm和java类库:jdk除了jvm和java类库,还包含了一些java工具集 常见的垃圾收集器有: Serial GC:串行收集,垃圾回收时会阻塞工作线程 Parallel GC:并行收集,多线程收集,停顿时间短,吞吐量高 CMS:使用标记清除算法,多线程进行垃圾收集 G1:…
Java-Basic 谈谈final. finally. finalize有什么不同? 典型回答: final可以用来修饰类.方法.变量,分别有不同的意义, final修饰的class代表不可以继承扩展, final的变量是不可以修改的,而final的方法也是不可以重写的( override). finally则是Java保证重点代码一定要被执行的一种机制.我们可以使用try-finally或者try-catch-finally来进行类似关闭JDBC连接.保证unlock锁等动作. finali…
1.Exception 和 Error有什么区别?运行时异常与一般异常有什么区别? Exception和Error都继承自java.lang.Throwable.在Java中只有Throwable的实例才可以被抛出和捕获,是异常处理机制的基本组成类型. Error描述了java运行时系统的内部错误和资源耗尽错误.大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题.应用程序不应该抛出这种类型的对象. Exception是程序正常运行中可以预料的意外情况,并…
1. 谈谈你对Java平台的理解. Java是一种面向对象的语言,最显著的特性有两个方面: 一个就是一次编译,到处运行(Write once, run anywhere),能够非常容易的获得跨平台能力: 另一个就是垃圾收集(GC,Garbage Collection),Java通过GC回收分配内存,大部分情况下程序员不需要操心内存的分配和回收: 什么是JRE(Java Runtime Environment)/JDK(Java Development Kit)? JRE:java运行环境,包含了…
11.5 日志记录 可以通过Loger.getGlobal().info(xxxx);的方式来记录log. 11.5.2 高级日志 1)通过一个包名来 创建一个新的日志记录器. private static final Logger logger = Logger.getLogger("my.learvjava.learnlog"); 2)日志记录器也具有层次结构,且日志记录器的父子之间将共享某些属性,比如如果对com.mycompany设置了日志级别,那么其子记录器也会继承这个级别.…
11.1.1 异常分类     如果一个程序出现了RuntimeException,那么就一定是你的问题. 11.1.2 声明已检测异常     如果子类覆盖了父类的一个方法,那么子类方法中声明的检查异常不能比超类方法中声明的异常更通用. 11.1.4 创建异常类     所有自定义的异常类,都应该实现两个构造函数,一个是默认构造函数:一个是带string参数的构造函数: 11.2 捕获异常     通常来说应该捕获那些知道如何处理的异常,而将那些不知道如何处理的异常继续进行传递. 11.2.1…
9月5日 学习章节:第二章 Java程序设计环境 学习包括Java的安装.命令行工具.IDE.图形化开发环境等. 9月6日 学习章节:第三章 Java的基本程序设计结构 学习包括注释.数据类型.变量.运算符等. 9月7日 学习章节:第三章 Java的基本程序设计结构 学习运算符及字符串的基本原理和各种相关函数. 9月9日 学习章节:第三章 Java的基本程序设计结构 学习输入输出.控制流程.数组等. 9月10日 学习章节:第三章 Java的基本程序设计结构 第四章 对象与类 学习大数值.数组.面…
一.final 1.final修饰方法时,需要注意的点: #final修饰方法时,之前的第二个原因是效率.但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升.在最近的Java版本中,不需要使用final方法进行这些优化了.“ #因此,如果只有在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的.即父类的final方法是不能被子类所覆盖的,也就是说子类是不能够存在和父类一模一样的方法的 #要注意的一点是:因为重写的前提是子类可以从父类中继承此方法,如果父类中final修饰的…
1.异常知识点学习实例 代码如下: package fromnet; /** * 参考链接:https://blog.csdn.net/qq_18505715/article/details/73196421 * @author MSI-Gaming * */ public class ThrowTest1 { // 定义一个方法,抛出 数组越界和算术异常(多个异常 用 "," 隔开) public void Test1(int x) throws ArrayIndexOutOfBou…