Java基础知识点(四)
前言:记录Java基础知识点,方便熟悉与掌握。
1.面向对象的"六原则一法则"
“六原则一法则”:单一职责原则、开闭原则、依赖倒转原则、里氏替换原则、接口隔离原则、合成聚合复用原则和迪米特法则。
参考:
https://www.cnblogs.com/qifengshi/p/5709594.html
https://blog.csdn.net/sinat_26342009/article/details/46419873
2.使用普通for循环遍历LinkedList速度慢
原因:LinkedList在get任何一个位置的数据的时候,都会把前面的数据走一遍。
参考:
http://www.cnblogs.com/xrq730/p/5189565.html
3.使用File类相关注意点
在使用File类进行IO操作的时候,主要注意文件路径的书写方式,“/”和“\”,都可以用,但是后者需要进行转义(“\\”),也可以使用File.separator作为分隔符,可以获取不同操作系统下的分隔符,增强代码的移植性。
参考:
http://www.cnblogs.com/xrq730/p/4886636.html
4.关于多态
要点:
在子类向上转型时,注意重写方法的运行时绑定问题。父类引用指向子类对象,子类重写了父类的方法,在调用父类的方法时,实际上调用的是子类重写的父类的该方法。即Father f = new Children(),f.toString()实际上调用的是Children中的toString()方法。
参考:
http://www.cnblogs.com/xrq730/p/4820237.html
https://www.cnblogs.com/chenssy/p/3372798.html
https://blog.csdn.net/thinkGhoster/article/details/2307001
5.线程不能多次start的原因
通过对Thread源码的调试,当第二次start的时候,线程状态已经不是新建,会抛出IllegalThreadStateException异常。
if (threadStatus != 0) //检查线程状态,如果不是0,就抛出异常,0表示新建线程
throw new IllegalThreadStateException();
6.关于枚举
注意:枚举值默认为从0开始的有序数值
参考:
https://www.cnblogs.com/jingmoxukong/p/6098351.html
http://www.cnblogs.com/xrq730/p/4890313.html
7.final的作用
要点:
1、被final修饰的类不可以被继承。
2、被final修饰的方法不可以被重写。
3、被final修饰的变量不可以被改变。变量可分为基本数据类型变量和引用变量,被final修饰的基本数据类型变量,其值不能被修改;被final修饰的引用型变量其引用地址不能被修改,其内容是可以改变的。但是其本质还是其引用地址不能被改变,内容是可以改变的。
参考:
http://www.cnblogs.com/xrq730/p/4820296.html
http://www.cnblogs.com/dolphin0520/p/3736238.html
8.字符编码
要点:Java中的字符使用的都是Unicode字符集,编码方式为UTF-16。
参考:
http://www.cnblogs.com/xrq730/p/4889593.html
9.位移运算
1)左移: << ,丢弃左边指定位数,右边补0。
2)右移:>>,丢弃右边指定位数,左边补上符号位。
3)无符号右移:>>>,丢弃右边指定位数,左边补上0。
参考:
https://zhuanlan.zhihu.com/p/30108890
10.I/O模型
主要了解同步、异步、阻塞、非阻塞、同步I/O、异步I/O、阻塞I/O、非阻塞I/O,这些都是不同的概念。
参考:
http://www.cnblogs.com/dolphin0520/p/3916526.html
by Shawn Chen,2018.4.28日,上午。
相关内容
Java基础知识点(四)的更多相关文章
- Java基础知识点(三)
前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...
- Java基础知识点(二)
前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...
- Java基础知识点(一)
前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.p ...
- JAVA基础知识点总结(全集)
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...
- Java基础知识点总结
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...
- java基础知识点补充---二维数组
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...
- Java实习生常规技术面试题每日十题Java基础(四)
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...
- Java 基础知识点
很多 Java 基础的东西都忘记了, 有必要再复习一些基本的知识点. 本文主要参考 https://github.com/Snailclimb/JavaGuide ================== ...
- Java基础知识点
以下10点为JAVA 基础知识,后面将足以总结和完善以备面试 数据类型 (包装类,字符串,数组) 异常处理 Java IO和NIO 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...
随机推荐
- Java细节整理——数组与内存控制
重点:使用Java数组之前,必须对数组对象进行初始化. 当数组的所有元素都被分配了合适的内存空间,并指定了初始值时,数组的初始化完成.程序以后将不能重新改变数组对象在内存中的位置和大小. 知识点整理: ...
- 为什么越来越少的人用jQuery
摘要:JQuery该退役了. 原文:为什么越来越少的人用jQuery 作者:Lemonade Fundebug经授权转载,版权归原作者所有. 最早期的开发,大多都使用jQuery,它给我们带来了很多的 ...
- Android项目实战(四十):Andoird 7.0+ 安装APK适配
首先看一下安装apk文件的代码 /** * 通过隐式意图调用系统安装程序安装APK */ public static void install(Context context) { Intent in ...
- Android Dialog对话框
Dialog的基本方法 //创建Dialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); //设 ...
- Android--小游戏
GitHub:https://github.com/vinieo/game 功能描述 “猜小球”是一个简单的愉悦身心的小游戏,它的功能结构如图a-1所示. 构建开发环境 在开发本游戏时,首先需要下 ...
- Android--记录莫名其妙的引用、依赖冲突解决办法
这几天一直在忙于其他项目,打开之前的项目,我曹,代码什么都没动,为何莫名其妙的的就出现冲突了.(我猜测是依赖的其它三方库,库里面的依赖发生改变导致的) 全是这种错误,各种冲突导致的,记录一下,以下指示 ...
- 转载:量化投资中常用python代码分析(一)
pandas的IO 量化投资逃不过数据处理,数据处理逃不过数据的读取和存储.一般,最常用的交易数据存储格式是csv,但是csv有一个很大的缺点,就是无论如何,存储起来都是一个文本的格式,例如日期‘20 ...
- 章节七、2-Linked List
package introduction9; import java.util.ArrayList; import java.util.LinkedList; import java.util.Lis ...
- mysql的连接
本文内容: mysql客户端连接服务端 断开连接 首发日期:2018-04-07 mysql客户端连接服务端: 连接服务端的命令基本语法是: mysql -h host -u user -p -P p ...
- Spring从认识到细化了解
目录 Spring的介绍 基本运行环境搭建 IoC 介绍: 示例使用: 使用说明: 使用注意: Bean的实例化方式 Bean的作用范围的配置: 补充: DI: 属性注入: 补充: IoC的注解方式: ...