Java基础知识篇【gitee】
https://snailclimb.gitee.io/javaguide
一、Java基本功
Java一次编译,字节码通过JVM,处处运行
jsp会转化为servlet,也要由jdk编译
OracleJDK性能更好,更稳定,但不开源
Java无指针访问内存,更安全。C++支持多重继承,Java接口可以多继承。C++字符串后默认加'\o'表示结束
小程序继承自JApplet,主类需要是public,嵌入浏览器调用init/run启动,无main方法
javax和java均为标准API的一部分,只是名字无区别
字符占2字节,存整数值,字符串存地址
单行/多行/文档注释
const和goto是Java保留字
泛型:通过安全检测机制,本质是参数化类型。通配符:TEKV?
==基本类型比较值,引用类型比较地址。equals等价于==比较地址
String类重写equals方法,在常量池中查找相同的,赋给引用变量
重写equals方法必须重写hashcode,hashset先判断hashcode再判断equals方法决定是否能够插入
Float和Double并未实现常量池,直接比较不相等
浅拷贝:基本类型值传递,引用类型引用传递;深拷贝引用类型创建新对象,并复制内容
二、Java面向对象
面向过程无需实例化类,性能高;面向对象灵活易于维护,但性能低(半编译,不能直接被执行)
执行子类构造前,会默认调用super无参构造(帮助子类进行初始化),因此需要在父类补充无参构造。
成员变量有默认初值
对象相等是内容相等,引用相等是内存地址 相等
子类拥有父类的所有属性和方法,但无法访问私有部分
静态方法可不通过对象调用,故静态方法中不能调用非静态变量,只能访问静态成员
String使用final修饰字符数组保存字符串,故String对象不可变。StringBuilder/StringBuffer保存字符串的数组没有用final修饰,故可变
String不可变,StringBuffer(性能提升不大)对方法加同步锁,均线程安全。
StringBuilder/StringBuffer继承AbstractStringBuilder类,包含expandCapacity,append,insert,indexOf等方法
Object类:getClass/hashCode/equals/clone/toString/notify/notifyAll/wait/finalize(垃圾回收时触发)
transient关键字阻止变量序列化
读取键盘输入:BufferedReader = (InputStreamReader(System.in))
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String s = input.readLine();
三、Java核心技术
工具类方法
异常基类Throwable,两个子类Exception异常(能被程序本身处理)和Error错误
try...catch捕获异常,JDK7后使用try-with-resources释放资源,try声明资源无finally
线程是进程执行单位,也被称为轻量级进程

按流的角色可以分为节点流和处理流
输入流的基类InputStream/Reader,输出流的基类OutputStream/Writer
流操作:缓冲操作、文件操作、基本类型操作、对象序列化、转化控制、打印控制、管道操作、数组操作

BIO (Blocking I/O),同步阻塞I/O,读取写入在单个线程内完成;
NIO (Non-blocking/New I/O),同步非阻塞I/O,提供阻塞和非阻塞模式,适用于高负载,高并发;
AIO (Asynchronous I/O),也被称为NIO2,异步非阻塞的IO模型,基于事件和回调机制实现,执行完操作不会阻塞
Java基础知识篇【gitee】的更多相关文章
- 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...
- 超详细的Java面试题总结(二)之Java基础知识篇
多线程和Java虚拟机 创建线程有几种不同的方式?你喜欢哪一种?为什么? 继承Thread类 实现Runnable接口 应用程序可以使用Executor框架来创建线程池 实现Callable接口. 我 ...
- 超详细的Java面试题总结(一)之Java基础知识篇
面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发,性能是最重要的因 ...
- Java 基础知识(一)
Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- Java 面试知识点解析(一)——基础知识篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- Java基础知识回顾之七 ----- 总结篇
前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...
- 【Java面试】1、基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充. 源码分享:https: ...
- 【Java面试题系列】:Java基础知识常见面试题汇总 第一篇
文中面试题从茫茫网海中精心筛选,如有错误,欢迎指正! 1.前言 参加过社招的同学都了解,进入一家公司面试开发岗位时,填写完个人信息后,一般都会让先做一份笔试题,然后公司会根据笔试题的回答结果,确定 ...
- Java基础知识常见面试题汇总第一篇
[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 文中面试题从茫茫网海中精心筛选,如有错误,欢迎指正! 1.前言 参加过社招的同学都了解,进入一家公司面试开发岗位时,填写完个人信息后 ...
随机推荐
- 学习完nio的一个小笔记吧
这是一个nio网络通信服务端的demo,主要就学习了selector的一些用法,以及它里面的事件类型 selector是对nio的一个优化,它能保证既能高效处理线程中的事件,又能保证线程不会一直占用c ...
- 9. Ceph 基础篇 - Crush Maps
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485302&idx=1&sn=00a3a204 ...
- filebeat直接给es传输日志,自定义索引名
ElasticStack从2019年1月29日的6.6.0版本的开始,引入了索引生命周期管理的功能,新版本的Filebeat则默认的配置开启了ILM,导致索引的命名规则被ILM策略控制. 加上这个配置 ...
- 使用shell脚本定时重启tomcat服务
#!/bin/bash DATE=`date +%Y-%m-%d-%H-%M-%S` echo "当前时间是:$DATE" # 根据端口号查找进程 PID=`/usr/sbin/l ...
- 解析库beautifulsoup
目录 一.介绍 二.遍历文档树 三.搜索文档树(过滤) 四.修改文档树 五.总结 一.介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的 ...
- Spring mvc源码分析系列--Servlet的前世今生
Spring mvc源码分析系列--Servlet的前世今生 概述 上一篇文章Spring mvc源码分析系列--前言挖了坑,但是由于最近需求繁忙,一直没有时间填坑.今天暂且来填一个小坑,这篇文章我们 ...
- LeetCode - 数组的旋转总结
1. 数组的旋转总结 数组的旋转指的是将数组的最后若干个数提前到数组前面,数组的翻转指的是将数组的顺序颠倒.旋转可以通过多次翻转实现. 数组的翻转很简单,通过双指针来实现:交换数组的第一个数和最后一个 ...
- 洛谷P1115 最大子段和 (线性DP)
经典的线性DP例题,用f[i]表示以第i个位置结尾的最大连续子段和. 状态转移方程:f[i]=max(f[i],f[i-1]+a[i]); 这里省去了a数组,直接用f数组读数据,如果f[i-1]< ...
- 【NOI2016】 循环之美 题解
Solution 由数论基础知识 答案即为$$\sum_{i = 1}^n\sum_{j = 1}^m[i \perp j][j \perp k]$$ 莫反套路可化为$$\sum_{d = 1}\mu ...
- JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
阿西吧.自从学会使用框架.再看以前写的.我真的是要死了.项目用的还不是maven.整理项目能给我搞死.更要命的是这个项目还是用eclipse写的.数据库还是SQL server.阿西吧 这个系统代码不 ...