1,接口(不实现任何方法)——》抽象类(实现部分公共方法)——》简单实现类——》具体实现类

2,抽象类不能被直接实例化,只能实现抽象方法,以匿名内部类的方式表现。

3,如果static是写在单例中,高并发访问是会出问题的,这时候就要设置线程等待了,static是在容器加载的时候就已经加载到内存中,所以static方法和变量不宜过度使用,有选择的使用,

4,&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不 执行了,而&则还是继续执行,直到整个条件语句执行完为止。如&&例子中的i++>5被执行了,而i++<9并没有 被执行,这就是他们的差别。&例子中的i++>5和i++<9都被执行了。

      &还可以用作位运算符,0x31&0x0f=0x01

===> 0011 0001 & 0000 1111  = 0000 0001  即0x01

5,java中"=="和"equal"的区别。

  • str == null和null == str 区别在于前者你少写个等号是赋值不会报错后者会报错
  •   "".equal可以回避空指针异常
  • ==比较的是地址,equals比较的是值
  1. equals 是比较的两个字符串是否一样 ,比如 “asd”.equals(“asd”)==true;
  2. "==" 它比较的是两个“引用” ,比如: String a=new String ("a"); String b=new String ("a"); System.out.println(a==b)它就输出false了。

    因为不是一个引用(虽然都是a);

  3. String a=new String ("abc");至少创建一个对象a;a是肯定会被创建的。如果内存里没有"abc"字符串对象就创建一个,否则不创建。

6,final、finally、finalize的区别

final是一种声明属性,作用与类、方法和变量;final修饰的变量的值不能够再改变,final修饰的方面不能被覆盖,final修饰的类不能被继承。

finally是异常处理语句的一部分,表示总是执行。

finalize是object类的一个子方法,在垃圾回收器执行是调用回收对象的此方法,此方法可以被覆盖提供资源回收时的其他资源回收。如文件关闭等

7,int是java的基本数据类型,Integer是java为int提供的封装类,用于在各种类型间转化

8,sleep()和wait()的区别

  1,sleep是thread的方法,会释放对象锁,当指定的时间到了又会自动恢复运行状态。wait()是object的方法,不会释放锁,且只有调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。

9,静态代码块,代码块,构造函数

1,静态代码块:只会运行一次,无论new多少个对象,都只执行一次

2,代码块:new每个对象,都会执行这个代码块

3,构造函数:new每个不同的对象,针对性的执行。比如有参数,无参的,参数不同的。

10,java对象的创建过程

1,创建虚拟机进程,然后虚拟器用类加载器Class Loader加载.class文件到方法区。

2,类加载完成后,主线程运行static main()时在虚拟机栈中建栈帧,压栈;执行到new Object()时,在堆heap里创建对象

3,执行类的构造函数初始化

4,new运算符 返回堆中这个对象的引用。

11,throws和throw的区别

1、throws出现在方法函数头;而throw出现在函数体。

2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象

12,try {}里有一个 return ,紧跟着在这个try之后的finally{}会不会被执行?

——会,在return过程中执行。解释:在执行return语句时,要返回的结果已经准备好了,并会把结果放在另外一个局部变量中。此时,程序转到finnaly执行,执行后再把存在这个变量中的结果取出返回。所以如果finally中修改了返回结果,但实际上返回结果不会变。应该是使用栈保存的返回值。

13,堆:存放所有new出来的对象。栈:对象的引用。常量池:存放基本类型常量和字符串常量。

14,反射:

1,反射机制指的是程序在运行时能够获取自身的信息,实现动态创建对象和编译,比较灵活。缺点是对性能有影响。

2,.class-->.java

3,通过反射机制访问java对象的属性,方法。

依赖注入:在运行期,由外部容器spring动态地将依赖对象注入到组件中

控制反转:spring容器初始化,创建并管理bean对象,以及销毁它




java学习记录的更多相关文章

  1. Java 学习记录

    •Eclipse相关 Eclipse常用设置 解决 Eclipse 项目中有红色感叹号的详细方法(图文) JRE System Library [JavaSE-1.8](unbound) •Java ...

  2. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

  3. Java学习记录 : 画板的实现

    接触java不满一个月,看厚厚的java入门简直要醉,故利用实例来巩固所学知识. 画板的实现其实从原理来说超级简单,可能一会儿就完成了. 但作为一名强迫症患者,要实现和win下面的画板一样的功能还是需 ...

  4. JAVA学习记录(一)————JAVA中的集合类

    这个图是总体的框架图,主要是两个接口Collection和Map都继承接口Iterator(Iterable),为了实现可以使用迭代器.Collection和Map类似平级关系. 1.这里我先学习下A ...

  5. JAVA学习记录<一>

    一: JAVA初体验: 1.JAVA简介: 2.环境搭建: 3:MyEclipse的使用简介: 4:程序的移植:项目的导入,导出. 5:学习JAVA的经验: 多写,多问,总结和复习!!!

  6. Java学习记录-Jdk包简单介绍

    java.applet Java语言编写的一些小应用程序 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交 ...

  7. Java学习记录-注解

    注解 一.org.springframework.web.bind.annotation ControllerAdviceCookieValue : 可以把Request header中关于cooki ...

  8. Java学习记录:降低耦合度

    耦合度定义 耦合度(Coupling)是对模块间关联程度的度量.耦合的强弱取决与模块间接口的复杂性.调用模块的方式以及通过界面传送数据的多少. 模块间的耦合度是指模块之间的依赖关系,包括控制关系.调用 ...

  9. Java学习记录:文件的输入输出流

    Java中的输入.输出流中可以用于文件的读写,拷贝. 由于文件都是由字节组成的,可以将文件中的内容以字节的方式读取出来. 输入流还可以直接转换为图片来使用.其实ImageIcon提供了方法可以直接打开 ...

随机推荐

  1. 【Yom框架】漫谈个人框架的设计之一:是IRepository还是IRepository<T>?

    前言                                                                                                   ...

  2. 前端基于easyui的mvc扩展(续)

    前端基于easyui的mvc扩展(续) 回顾及遗留问题 上一篇讲解了基于easyui的mvc扩展的基本实现,已经降低了在mvc内使用easyui的难度,但是仍然还有一些问题: 当我们要给生成的控件设置 ...

  3. C#操作Kentico cms 中的 content(winform环境)

    前段时间做了个winform程序,去管理kentico网站的content,包括content节点的增删改查,以及相应节点内容的修改.现在将对content的操作方法简单的介绍一下. 我们想要操作ke ...

  4. android 豆瓣客户端 视频

    链接如下:http://download.csdn.net/detail/jltxgcy/5667337

  5. 【转】double-array trie 译文+心得

    原文:http://blog.csdn.net/zzran/article/details/8462002 概论 下面将呈现一种新的内部数组结构,它便是double-array.double-arra ...

  6. 神经机器翻译(NMT)相关资料整理

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 简介 自2013年提出了神经机器翻译系统之后,神经机器翻译系统 ...

  7. 虚拟机学习centos服务器版

    虚拟机安装下载教程:http://www.cnblogs.com/CyLee/p/5615322.html centos 6.5下载地址:http://www.centoscn.com/CentosS ...

  8. Web VLC 设置 tcp 协议播放

    前言 web 端播放rtsp 流,一般都是采用vlc插件,默认是用 UDP 协议播放,这就会存在丢包的可能性,导致界面会变花,要想不花,需要使用更可靠的TCP协议.关于这两种协议的区别,大家可以自行查 ...

  9. 四、spark常用函数说明学习

    1.parallelize       并行集合,切片数.默认为这个程序所分配到的资源的cpu核的个数.       查看大小:rdd.partitions.size      sc.paraliel ...

  10. http服务 Web API的使用

    http服务 Web API的使用 一.概念: Web API是网络应用程序接口. 详情百度百科: http://baike.baidu.com/link?url=X1l2dlU9FlQmupX24- ...