JAVA 笔试笔记
1.java优缺点
优点 :纯面对对象,跨平台,提供很多内置的类库,支持web开发,有较好的健壮性和安全性
缺点 : 速度慢,跨平台不能像其他的语言一样接近操作系统,复杂
2.java与c/c++
都是面对对象语言。java是解释性语言(一次编译永久使用),c是编译型语言,java没有指针,不支持多重继承,不需要开发人员分配内存,java跨平台
3.public static void main(String【】 args)为java的入口函数,但并不是最先运行该函数。
4.java中作用域有全局变量,局部变量
public 所有的类和对象都可以访问
protected 同一包和子类可以访问
private 只有自己可以访问
default 只有同一包中可以访问
5.一个java文件可以有多个类,但只能有一个public修饰的类
6.构造函数,和类名字相同,在new的时候一起调用,完成类的初始化,可以有多个,可以没有参数,不能继承和覆盖,可以被重载,super可以调用
7.为了克服不支持多继承,用接口(抽象类的集合)
8.clone 创造一个相同类,不会影响原类
9.反射机制是java语言允许程序自我检查,也允许对内部成员进行检查,可以动态创建类的对象
10.package——(1)解决命名冲突问题(2)使得项目更加结构化,可读性强
11.通过DLL(系统动态链接库)回调函数实现指针功能
12.面对对象是将数据和方法封装在一起,作为一个相互依赖的整体,面对过程是以事件为中心,逐步执行
13.抽象 继承封装 多态
14.面对对象开发优点:效率高 鲁棒性好 可维护性强
15.继承(子类调用父类的成员变量和方法) 组合(新类里面创建原有类的对象,重复利用已有的功能)
16.重载(同类中同名方法,不同的参数)和覆盖(子类中,同名同参)——多态
17.抽象类和接口
相同点:都不能实例化 只有实现了接口或抽象类才可以实例化
不同点:接口只能定义,不能实现,抽象可以是定义与实现 接口定义的成员变量默认为public static final
18.获得父类的类名 getClass().getName()
19.this指向当前实例对象 super 可以访问弗雷德方法或成员变量
20.标识符只能有字符、数字、下划线和$组成,不能以数字开头
21.breake跳出当前循环 continue 停止当前循环 return 返回方法,使程序返回java运行系统
22.final 声明的属性不可变 方法不可覆盖 类不可被继承
finally 是trycatch后面在return前执行
finalize是垃圾回收机制调用回收对象的函数
23.assert 软件调试方法,代码的正确性检查机制
24.static 定义的变量是全局变量 定义的方法只有对象创建了才可以使用 代码块只执行一次
25.Switch(expr) expr可以是 byte short char int
26.volatile 修饰变量放到缓冲中,提高代码效率,变量值改变缓存值不变
27.instanceof 检查对象是否是一个类
28.strictfp 精确运算浮点
29.基本数据类型 byte int short long double char boolean float
30.不可变类 ,一旦创建不可修改
31.值传递传递值,引用传递是传递地址
32.数据类型转换低到高隐式转换byte《short《char《int《long《float《double
高到低要强制转换
33.round四舍五入 ceil 向上取整 floor向下取整
34.i++先赋值后运算 ++i先运算后赋值
35.char中存储一个中文用两个字符,英文只用一个
36.字符串创建是new的是不同地址的
37.“= =”比较地址 equals比较直 hashCode(没有重写hashCode方法永远都不相同)
38.String 不可变类,一旦创建不可改变
StringBuffer 可变类,安全的
StringBilder 可变类,不安全的,遇上都是字符缓冲区
StringTokenizer是字符串分割的工具类
39.数组是对象,int[] a=new int[] int[] a={1,2} ;int[] a a=new int[]{1,2}
40.length取数组长 length()取字符串长
41.检查异常Exception可以在代码中避免
42.InputStream和OutputStream一字符为单位 Reader 和writer是以字节为单位(不会用到缓存)
43java Socket用来实现不通虚拟机或不同的计算机的通信
44.非阻塞io(NIO)是通过selector channel 和buffer实现非阻塞的IO操作
45.java序列化是指在通信的时候,将对象的状态写在流里进行网络传输或保存文件。。。
46.解释执行的三步:代码装入 代码校验 和代码执行
47.GC是垃圾回收机制
48.内存泄露:不再使用的对象长时间占用内存,并且得不到释放
解决办法:实现Key类的equals和hasCode方法。
49.堆:存放运行时创建的对象
栈:存放基本类型和引用变量
50.Collections包含大量集合接口的类【list(按顺序保存) set(元素不可重复) map(保存键值对()】
LIST(LinkedList双向列表 ArrayList不同步的 Vector同步的)
Map(HashMap可空,不安全 WeakMap IdentityHahMap)*key不可重复
Collection是集合接口
51.迭代器,遍历并选择序列中的对象
52. 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位
线程有时又被称为轻权进程或轻量级进程,也是 CPU 调度的一个基本单位。
53.同步:临界资源同一时间只有一个线程可以进行访问,异步则是谁需要就可以进行访问
54.实现多线程:(1)集成thread类,重写run方法(2)实现Runable接口,并实现run接口方法(3)实现Callable接口,重写Call()方法
55.run()是执行一个线程,同步的;start()开始执行一个线程,异步的
56.多线程的实现:(1)synchronized关键字(2)wait()方法和notify()方法(3)Lock接口
57.wait()方法不会自己“醒”,除非调用notify()或是设置时间 sleep()自己“苏醒”过来 ;
sleep()不会释放锁机制,wait()则是在线程方法被调用后,释放锁机制
wait()必须放在同步中使用
58.终止进程用stop()【终止进程后会释放所有的进程资源】
或是wait()【终止进程,不会释放资源,会发生死锁】
59.synchronized是在对象本身进行使用,实现同步;Lock则是在进程之间的调度实现的同步,synchronized的性能优于Lock
60.Join()方法的作用就是调用该方法的线程,在执行完run()函数之后,在执行join()之后的代码。
61.JDBC连接数据库(1)加载驱动(2)加载驱动器(3)建立数据库连接(4)建立statement对象或preparedstatement对象(5)执行sql语句(6)访问结果集(7)关闭对象,释放所占用的资源。
62.JDBC再用commit()或者rollback()结束方法。rollback()完成事物回滚
63.Class.forName()是将类加载到JVM中
64.statement是最简单的sql preparedstatement是带参数的sql,效率高 callablestatement提供了调用数据库存储过程的接口。
65.在获得数据量较大的时候,getString()方法容易出错,抛出异常,但是getObject()方法就不会出现这样的问题
66.JDO是用于存储某种数据仓库中的对象的标准化API
JAVA 笔试笔记的更多相关文章
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
随机推荐
- STM32F412应用开发笔记之一:初识NUCLEO-F412ZG
今天终于收到了期待已久的NUCLEO-F412ZG,感谢电子发烧友论坛! 近几年来基本都是在STM32平台上做一些设计开发工作.STM32F103.STM32F107.STM32F429等都应用过,但 ...
- bootstrap-table分页第二篇 延续上一篇的
这个是service/** * 返回记录数 * @return */ public Integer getPageTotal(Integer userid); //service的实现类 public ...
- AE+C# 版本更新问题 命名空间“ESRI”中不存在类型或命名空间名称“Arcgis”(是缺少程序集引用吗?)
解决办法: 1 引用 将下图中解决方案->引用中带感叹号的已用移除,然后添加新的.因为不同版本用的.dll不同,因此需要删除,然后重新加载. 如果是系统库文件, 直接在.NET下头添加,如果是自 ...
- 用winform程序来了解委托和事件
一.浅谈委托 如果有个过winform 和webform 程序开发的小伙伴一定有个这样的感觉吧,点击Button直接就执行了那个方法,到此他是怎么实现了的呢,大家有考虑过没有? 回到正题,什么是委托呢 ...
- 解决升级PHP7后 微信公众号收不到消息
服务器配置Linux+Nginx+PHP5.5+mysql index方法配置微信的关注回复.菜单事件.多客服.自动回复等 public function actionIndex() { if (is ...
- [项目]WebService涉及到的部分核心代码
前言: 博客园似乎不太喜欢设计模式的东西,一连写了几篇设计模式的东西,都没什么人气,也许是写的水平有些不够,另外设计模式属于内功,怎们都得修炼一下,否则,设计混乱,不成体系,对于大型项目来说,就会显 ...
- 【转】SqlServer将没有log文件的数据库文件附加到服务器中
原文链接: http://www.cnblogs.com/xdotnet/p/attach_sqlserver_database_file_without_log_files.html 原作者删除了原 ...
- Etw EventSourceProvider_EventsProducer.cs OopConsoleTraceEventListenerMonitor_TraceControllerEventsConsumer.cs
// EventSourceProvider_EventsProducer.cs /* /r:"D:\Microshaoft.Nuget.Packages\Microsoft.Diagnos ...
- react native 中webview内的点击事件传到外部原生调用
先说一下我使用webview的时候遇到的一个功能需求 是这样的,上图中的这个页面是用h5做的,但是由于点击"我的优惠劵"是需要跳转到我原生的页面,也就是说我需要获得这个h5提供的点 ...
- jsp中如何判断el表达式中的BigDecimal==0
比较蠢一点的做法: <c:if test="${not ((someBigDecimal < 0) or (someBigDecimal > 0))}"> ...