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 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...
随机推荐
- html 三列布局(两列自适应,一列固定宽度)
不做过多解释:主要是记录一个完整的布局样式,实现页面大致三列其中左右两列是自适应宽度,中间固定宽度效果. 不多少代码奉上: CSS样式代码: /******************** *公共标签样式 ...
- mysql的coalesce使用技巧
今天无意间发现mysql的coalesce, coalesce()解释:返回参数中的第一个非空表达式(从左向右依次类推): 使用示例:a,b,c三个变量. ,); // Return 2 select ...
- Linux-学习patch命令打补丁,diff命令制作补丁(3)
patch:通过补丁文件,来对原文件打补丁 diff: 比较两个文件,然后生成一个补丁文件 1.patch用法 patch -p[剥离层级] <[补丁文件] 2.patch命令 ...
- 定位公网丢包的工具 mtr
1.使用mtr工具,可以显示从本机到目的ip之间的沿途路由器,从而可以确定丢包的位置. 2.windows 系统,可以使用winmtr工具.
- python 标准类库-数据类型之集合-容器数据类型
标准类库-数据类型之集合-容器数据类型 by:授客 QQ:1033553122 Counter对象 例子 >>> from collections import Counter ...
- 浅谈servlet与jsp的关系
servlet是用java语言编写的,是一个java类.主要功能是用来接受.处理客户端的请求,并把处理结果返回到客户端显示.Jsp是servlet发展后期的产物.在没有jsp之前,servlet利用输 ...
- 性能优化4--Bitmap内存优化
1.Bitmap在Android虚拟机中的内存分配 在Android3.0之前,Bitmap的内存分配分为两部分,一部分是分配在Dalvik的VM堆中.而像素数据的内存是分配在Native堆中,而到了 ...
- 直接通过Binder的onTransact完成跨进程通信
1.具体代码: 服务端实现: public class IPCService extends Service { private static final String DESCRIPTOR = &q ...
- Python 爬虫实例(爬百度百科词条)
爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入 ...
- NAT穿越(一) NAT类型
NAT分为四种类型: (1)完全透明NAT(Full Cone NAT): 从内部主机 (IN IP ipa) +端口(IN PORT porta) 发送的数据映射为 IP(OUT IP IPA) ...